最近在作安全加固,snmp v1的驗證方式被認爲不安全,要求升級至v2c或者v3,因此趁機總結下。算法
1、先看下snmpwalk這個檢測程序的幾個參數:安全
-v 1|2c|3 指定要使用的SNMP版本
bash
-c COMMUNITY 設置團體號ide
-u USER-NAME 設置snmp v3的用戶名加密
-A PASSPHRASE 設置用戶密碼spa
-l LEVEL 設置安全級別:noAuthNoPriv|authNoPriv|authPrivpwa
-a PROTOCOL 設置加密用戶密碼的散列算法:MD5(默認)或者SHA進程
-x PROTOCOL 設置給用戶密碼哈希值加密的算法:DES(默認)或者AES字符串
-X PASSPHRASE 設置加密密碼同步
說明:
1) 安全級別的解釋:
noAuthNoPriv既沒有密碼也沒有加密密碼 v1/v2c/v3都支持
authNoPriv有密碼沒有混淆碼 v3支持
authPriv既有密碼也有混淆碼 v3支持
2) snmp v1/v2c只支持團體號字符串(community string)方式驗證,snmpv3使用用戶/密碼的方式驗證,加密密碼是可選的。
3) 示例:
/usr/bin/snmpwalk -v 3 -u username -l authPriv -a MD5 -A password -x DES -X passphrase 127.0.0.1
2、在RHEL6中添加snmp用戶
1) 咱們先用net-snmp-create-v3-user這個程序來建立一個只讀的snmp v3用戶
# service snmpd stop # net-snmp-create-v3-user --help Usage: net-snmp-create-v3-user [-ro] [-A authpass] [-X privpass] [-a MD5|SHA] [-x DES|AES] [username] # net-snmp-create-v3-user -ro -A password -x passphrase -a MD5 -x DES username adding the following line to /var/lib/net-snmp/snmpd.conf: createUser username MD5 "password" DES passphrase adding the following line to /etc/snmp/snmpd.conf: rouser username # service snmpd start
2) 根據上面的內容咱們能夠看到添加的用戶信息被兩部分,分別存入/var/lib/net-snmp/snmpd.conf和/etc/snmp/snmpd.conf文件。因此在其它機器上咱們只要同步這2個文件並重啓snmpd守護進程就能夠了。