centos 5.5 安裝net-snm
- 2020 年 1 月 13 日
- 筆記
SNMPv3的安全報頭採用用戶安全模式(USM),其提供具有機密性和完整性的網路管理通訊。機密性通過採用數據加密標準(DES)來提供。儘管,這一演算法以脆弱性著稱(由於它採用的是40位的密鑰),但與明文community strings相比,它具有顯著的優點。即使象DES這樣的脆弱演算法仍要協同***才能攻破,因此你至少可以防範偶然的偷聽者。
完整性服務通過散列資訊認證碼演算法與安全散列功能: MD5 或安全散列演算法(SHA-1)之一相結合提供。採用hashes保證了SNMP設備可以知道資訊在傳輸中沒有被更改(或是由於偶然或者是被惡意更改)。需要記住的是,仍然有一些懷有惡意的人可以通過改變暗記文破壞加密通訊的完整性和有效性,使得不能正確地解密。散列完整性提供了一種檢測這種活動的方法。
SNMPv3的USM還允許基於用戶的認證和接入控制。與以往SNMP採用兩級「讀」和「寫」community string不同,管理員可以為每一個SNMP用戶建立特別帳號,並根據這些用戶帳號授予許可權。例如,你可以給操作員監視設備狀態的許可權,但是將修改的權 限保留給網路工程師。由於增加了用戶行為的可靠性從而對系統的安全產生了重要的影響。它同時簡化了將一個用戶排除於系統之外的過程,而不需要再重新配置所有的SNMP設備。
但是,不是所有的網路設備都支援SNMPv3。如果你使用一些較老的設備,不支援這些安全功能,你可以採取以下兩步。首先,聯繫供貨商。在現有的售後支援合約中你可能可以得到支援SNMPv3的軟體或韌體升級。此外,如果你不能利用SNMPv3內置的安全功能,尋找一些其它的提供相似安全功能的附加軟體。例如,你可以採用IPSec或其它加密技術以保證在設備之間的SNMP通訊的安全性。在不支援SNMPv3的設備上很難(可能是不可能的)實現所有的SNMPv3的功能,但是有加密總會好些。
下面是介紹snmpv3在通過net-snmp在linux下的配置方法,希望對大家的工作學習有所幫助。
系統版本:
# uname -a Linux linux01 2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:23:01 EDT 2011 i686 i686 i386 GNU/Linux
一、安裝snmp
# yum install -y net-snmp net-snmp-utils
通過網路安裝則自動下載並安裝以下的4個包,如果不連接外網,可以掛在linux光碟,設置本地源安裝。 Total download size: 2.6 M Downloading Packages: (1/4): net-snmp-utils-5.3.2.2-9.el5_5.1.i386.rpm | 186 kB 00:00 (2/4): lm_sensors-2.10.7-9.el5.i386.rpm | 511 kB 00:00 (3/4): net-snmp-5.3.2.2-9.el5_5.1.i386.rpm | 697 kB 00:00 (4/4): net-snmp-libs-5.3.2.2-9.el5_5.1.i386.rpm | 1.3 MB 00:00
二、配置snmp
# rpm -qa net-snmp #查看安裝包 net-snmp-5.3.2.2-9.el5_5.1 # rpm -ql net-snmp #查看安裝路徑 /etc/logrotate.d/snmpd /etc/rc.d/init.d/snmpd /etc/rc.d/init.d/snmptrapd /etc/snmp /etc/snmp/snmpd.conf /etc/sysconfig/snmpd.options /etc/sysconfig/snmptrapd.options ... ... # snmpd -v #查看版本 NET-SNMP version: 5.1.2 Web: ttp://www.net-snmp.org/ Email: [email protected]
利用默認的snmp.conf配置文檔做簡要修改:(非主流) # mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak # vi /etc/snmp/snmpd.conf 輸入: rouser user auth 保存退出 (v3c的驗證方式,添加一個只讀帳號,如下:rouser user auth 上面 添加帳號的意思是:在v3c中,「rouser」用於表示只讀帳號類型,隨後的「user」是指定的用戶名,後邊的「auth」指明需要驗證。)
三、增加snmp用戶
需要創建user這個用戶,我們需要這個文件:/var/net-snmp/snmpd.conf,這個文件會在snmpd啟動的時候被自動調用, 由於此時我們還沒有運行snmp,所以手動創建這個文件,命令如下: # mkdir /var/net-snmp # touch /var/net-snmp/snmpd.conf # vi /var/net-snmp/snmpd.conf 輸入: createUser user MD5 mypassword 保存退出 (這行配置的意思是創建一個名為 「user」的用戶,密碼為「mypassword」,並且用MD5進行加密傳輸。這裡要提醒的是,密碼至少要有8個位元組,這是SNMP協 議的規定,如果小於8個位元組,通訊將無法進行。)
四、運行snmp
# service snmpd start Starting snmpd: [ OK ] # chkconfig snmpd on #設置成開機自動運行
五、檢查伺服器運行狀態
# service snmpd status snmpd (pid 4167) is running...
# netstat -anup | grep 161 #161是snmp服務埠。 udp 0 0 0.0.0.0:161 0.0.0.0:* 4167/snmpd 現在我們可以在cacti或者nagios裡面添加這台機器監控她的數據了。
六、以cacti為例,需要填入資料
SNMP Version:version3 SNMP Username (v3):user SNMP Password (v3):mypassword SNMP Auth Protocol (v3):md5 SNMP Privacy Passphrase (v3):留空 SNMP Privacy Protocol (v3):none
七、可能出現問題:頭部顯示SNMP error
SNMP Information SNMP error
解決方法:
# service snmpd stop # vi /var/net-snmp/snmpd.conf 重新加入: createUser user MD5 mypassword F5刷新一下cacti或者稍等一下