RFC 2271定義的SNMPv3體系結構,體現了模塊化的設計思想,可以簡單地實現功能的增加和修改。其特點
適應性強:適用於多種操作環境,既可以管理最簡單的網絡,實現基本的管理功能,又能夠提供強大的網絡管理功能,滿足復雜網絡的管理需求。
擴充性好:可以根據需要增加模塊。
安全性好:具有多種安全處理模塊。
SNMPv3主要有三個模塊:信息處理和控制模塊、本地處理模塊和用戶安全模塊。
(1)信息處理和控制模塊
信息處理和控制模塊(Message Processing And Control Model)在RFC 2272中定義,它負責信息的產生和分析,並判斷信息在傳輸過程中是否要經過代理服務器等。在信息產生過程中,該模塊接收來自調度器(Dispatcher)的PDU,然后由用戶安全模塊在信息頭中加入安全參數。在分析接收的信息時,先由用戶安全模塊處理信息頭中的安全參數,然后將解包后的PDU送給調度器處理。
(2)本地處理模塊
本地處理模塊(Local Processing Model)的功能主要是進行訪問控制,處理打包的數據和中斷。訪問控制是指通過設置代理的有關信息使不同的管理站的管理進程在訪問代理時具有不同的權限,它在PDU這一級完成。常用的控制策略有兩種:限定管理站可以向代理發出的命令或確定管理站可以訪問代理的MIB的具體部分。訪問控制的策略必須預先設定。SNMPv3通過使用帶有不同參數的原語使用來靈活地確定訪問控制方式。
(3)用戶安全模塊
與SNMPv1和SNMPv2相比,SNMPv3增加了三個新的安全機制:身份驗證,加密和訪問控制。其中,本地處理模塊完成訪問控制功能,而用戶安全模塊(User Security Model)則提供身份驗證和數據保密服務。身份驗證是指代理(管理站)接到信息時首先必須確認信息是否來自有權的管理站(代理)並且信息在傳輸過程中未被改變的過程。實現這個功能要求管理站和代理必須共享同一密鑰。管理站使用密鑰計算驗證碼(它是信息的函數),然后將其加入信息中,而代理則使用同一密鑰從接收的信息中提取出驗證碼,從而得到信息。加密的過程與身份驗證類似,也需要管理站和代理共享同一密鑰來實現信息的加密和解密。
下面簡要介紹身份驗證和加密的數學工具。SNMPv3使用私鑰(privKey)和驗證密鑰(authKey)來實現這兩種功能。
身份驗證:RFC2104中定義了HMAC,這是一種使用安全哈希函數和密鑰來產生信息驗證碼的有效工具,在互聯網中得到了廣泛的應用。SNMP使用的HMAC可以分為兩種:HMAC-MD5-96和HMAC-SHA-96。前者的哈希函數是MD5,使用128位authKey作為輸入。后者的哈希函數是SHA-1,使用160位authKey作為輸入。
加密:采用數據加密標准(DES)的密碼組鏈接(CBC)碼,使用128位的privKey 作為輸入。
snmp v3安全級別有三種,分別為noAuthNoPriv(不認證也不加密)、authNoPriv(認證但是不加密)、authPriv(既認證又加密)
[huawei-5720]snmp-agent group v3 Group_Name ?
authentication Specify a security level of AuthNoPriv for this group name
noauthentication Specify a security level of NoAuthNoPriv for this group name
privacy Specify a security level of AuthPriv for this group name
華為5720交換機配置示例,未做ACL限制:
[huawei-5720]dis current-configuration | in snmp
snmp-agent ###默認生成
snmp-agent local-engineid 800007DB03F8758842A7F0 ###默認生成
snmp-agent sys-info version v3
snmp-agent group v3 Group_Name privacy read-view isoview write-view isoview notify-view isoview
snmp-agent mib-view included isoview iso
snmp-agent usm-user v3 huawei
snmp-agent usm-user v3 huawei group Group_Name
snmp-agent usm-user v3 huawei authentication-mode sha cipher %^%#'VhxYQ-WG;)-OrRN8ob2l1MVE8ji-<=!a0L_uox:%^%#
snmp-agent usm-user v3 huawei privacy-mode aes128 cipher %^%#[XC{~='PXE3(X"-G@>u%@tG-V3*>H5^A+U$1deG8
信息讀取測試
[root@test ~]# snmpwalk -v 3 -u huawei -a sha -A huawei@123 -x aes128 -X huawei@123 -l authPriv 192.168.0.1 1.3.6.1.2.1.1.5
SNMPv2-MIB::sysName.0 = STRING: huawei-5720
[root@test ~]# snmpwalk -v 3 -u huawei -a sha -A huawei@123 -x aes128 -X huawei@123 -l authPriv 192.168.0.1 SNMPv2-MIB::sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: S5720-28X-PWR-SI-AC
Huawei Versatile Routing Platform Software
VRP (R) software,Version 5.170 (S5720 V200R019C10SPC500)
Copyright (C) 2007 Huawei Technologies Co., Ltd.
---------------------------------------------------------
-u : 用戶名
-a : 驗證協議
-A : 驗證密碼
-x : 隱私協議
-X : 隱私秘鑰
-l : SNMPv3安全級別