簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)是用于IP網(wǎng)絡(luò)設(shè)備管理的標(biāo)準(zhǔn)協(xié)議。典型的支持SNMP協(xié)議的設(shè)備有路由器、交換機(jī)、服務(wù)器、工作站、打印機(jī)及數(shù)據(jù)機(jī)柜等等。SNMP一般被網(wǎng)絡(luò)管理系統(tǒng)用于按照管理員設(shè)定的條件來(lái)監(jiān)視網(wǎng)絡(luò)附加設(shè)備。SNMP是因特網(wǎng)協(xié)議套件中的一個(gè)組成部分,它由IETF機(jī)構(gòu)定義。它包含一系列的網(wǎng)絡(luò)管理標(biāo)準(zhǔn),其中有一個(gè)應(yīng)用層協(xié)議,一個(gè)數(shù)據(jù)庫(kù)架構(gòu)以及一組數(shù)據(jù)對(duì)象。
SNMP將管理數(shù)據(jù)以變量的形式展示出來(lái),這些變量描述了系統(tǒng)配置。同時(shí)這些變量可以被用于管理的應(yīng)用查詢(xún)(或者被設(shè)置)。

為什么需要使用SNMPv3
盡管SNMPv3所增加的加密功能并不影響協(xié)議層面,但是新的文本慣例、概念及術(shù)語(yǔ)使得它看起來(lái)很不一樣。
SNMPv3在SNMP的基礎(chǔ)之上增強(qiáng)了安全性以及遠(yuǎn)程配置功能。
最初,SNMP最大的缺點(diǎn)就是安全性弱。SNMP的第一與第二個(gè)版本中,身份驗(yàn)證僅僅是在管理員與代理間傳送一個(gè)明文的密碼而已。目前每一個(gè)SNMPv3的信息都包含了被編碼成8進(jìn)制的安全參數(shù)。這些安全參數(shù)的具體意義由所選用的安全模型決定。
SNMPv3提供了重要的安全特性:
保密性 —— 加密數(shù)據(jù)包以防止未經(jīng)授權(quán)的源監(jiān)聽(tīng)。
完整性 —— 數(shù)據(jù)的完整性特性確保數(shù)據(jù)在傳輸?shù)臅r(shí)候沒(méi)有被干擾,并且包含了可選的數(shù)據(jù)響應(yīng)保護(hù)機(jī)制。
身份驗(yàn)證 —— 檢查數(shù)據(jù)是否來(lái)自一個(gè)合法的源。
在ubuntu中安裝SNMP服務(wù)器及客戶(hù)端
打開(kāi)終端運(yùn)行下列命令
sudo apt-get install snmpd snmp
安裝完成后需要做如下改變。
配置SNMPv3
獲得從外部守護(hù)進(jìn)程訪(fǎng)問(wèn)的權(quán)限
默認(rèn)的安裝僅提供本地的訪(fǎng)問(wèn)權(quán)限,如果想要獲得外部訪(fǎng)問(wèn)權(quán)限,打開(kāi)文件 /etc/default/snmpd。
sudo vi /etc/default/snmpd
改變下列內(nèi)容
將
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux,mteTrigger,mteTriggerConf -p /var/run/snmpd.pid'
改為
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf'
最后重啟 snmpd
sudo /etc/init.d/snmpd restart
定義 SNMPv3 用戶(hù),身份驗(yàn)證以及加密參數(shù)
“securityLevel”參數(shù)使得SNMPv3有多種不同的用途。
noAuthNoPriv —— 沒(méi)有授權(quán),加密以及任何安全保護(hù)!
authNoPriv —— 需要身份認(rèn)證,但是不對(duì)通過(guò)網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)進(jìn)行加密。
autoPriv —— 最可靠模式。需要身份認(rèn)證而且數(shù)據(jù)會(huì)被加密。
snmpd 的配置以及設(shè)置都保存在文件 /etc/snmp/snmpd.conf。使用編輯器編輯文件:
sudo vi /etc/snmp/snmpd.conf
在文件末尾添加以下內(nèi)容:
#createUser user1createUser user2 MD5 user2passwordcreateUser user3 MD5 user3password DES user3encryption#rouser user1 noauth 1.3.6.1.2.1.1rouser user2 auth 1.3.6.1.2.1rwuser user3 priv 1.3.6.1.2.1
注:如果你需要使用自己的用戶(hù)名/密碼對(duì)的話(huà),請(qǐng)注意密碼及加密短語(yǔ)的最小長(zhǎng)度是8個(gè)字符。
同時(shí),你需要做如下的配置以便snmp可以監(jiān)聽(tīng)來(lái)自任何接口的連接請(qǐng)求。
將
#agentAddress udp:161,udp6:[::1]:161
改為
agentAddress udp:161,udp6:[::1]:161
保存改變后的snmpd.conf文件并且重啟守護(hù)進(jìn)程:
sudo /etc/init.d/snmpd restart