簡単SNMP(ACL設定 v3編)
SNMPで誤解してた部分を勉強し直したついでに纏めてみた。
前回の続き
v3
ユーザを作る作業が面倒でメゲそうになるが、、他に選択支が無いのでやるしかない。
ユーザ作成時に暗号化用のトークンも指定してしまう所がポイント
コミュニティー名
使わない。
com2sec行は消して良い。
ユーザ作成
- 手順
- 一旦、snmpdを落とす
- ユーザ作成スクリプト(/usr/bin/net-snmp-create-v3-user)
- 指示通り、/var/lib/net-snmp/snmpd.confを編集・・・(のハズが自動的に追記される模様!)
- 指示通り、/etc/snmp/snmpd.confを編集・・・(のハズが自動的に追記される模様!)
- snmpdを起動
snmpd は/var/lib/net-snmp/snmpd.confをリアルタイムで監視しており、手順3. の内容(create user)を自動的に実行する。
- 一旦、snmpdを落とす
# /etc/init.d/snmpd stop
# /usr/bin/net-snmp-create-v3-user Enter a SNMPv3 user name to create: myuser ※ 入力 Enter authentication pass-phrase: mypasswd ※ 入力 Enter encryption pass-phrase: [press return to reuse the authentication pass-phrase] mypassphrase ※ 入力 adding the following line to /var/lib/net-snmp/snmpd.conf: createUser myuser MD5 "mypasswd" DES mypassphrase adding the following line to /etc/snmp/snmpd.conf: rwuser myuser
- 指示通り、/var/lib/net-snmp/snmpd.confを編集・・・
- #FF0000;font-weight:bold;">(のハズが自動的に追記される模様!):
: : ############################################################## # # snmpNotifyFilterTable persistent data # ############################################################## engineBoots 52 oldEngineID 0x80001f8880eee6ac431884245100000000 createUser myuser MD5 "mypasswd" DES mypassphrase ※追記される。
- 指示通り、/etc/snmp/snmpd.confを編集・・・
- #FF0000;font-weight:bold;">(のハズが自動的に追記される模様!):
: : ############################################################################### # Further Information # # See the snmpd.conf manual page, and the output of "snmpd -H". rwuser myuser ※追記される。
- snmpdを起動
# /etc/init.d/snmpd start
この後、再度/var/lib/net-snmp/snmpd.confを見ると
createUser myuser MD5 "mypasswd" DES mypassphrase
の行が消えており、次の様な行が追加されている。
usmUser 1 3 0x80001f8880eee6ac431884245100000000 0x6372756d6200 0x6372756d6200 NULL .1.3.6.1.6.3.10.1.1.2 0xda8e6502d89aab1e9043f12433507b07 .1.3.6.1.6.3.10.1.2.2 0x5267b1fb367b0fd1921122242e5d02d2 0x
ACL設定
/etc/snmp/snmpd.conf
# usm = v3 group localGroup usm myuser # v1 , v2 と変わらず view roview included .1.3.6.1 view rwview included .1.3.6.1.2.1.1 # auth を指定 access localGroup "" any auth exact roview rwview none
設定後、snmpdを再起動
# /etc/init.d/snmpd restart
アクセス方法
snmpget , snmpwalk などにある-l オプションを使う
- noAuthNoPriv
- 認証も暗号化も行わない
- authNoPriv
- 認証を行うが暗号化は行わない
- authPriv
- 認証も暗号化も行う。(特に理由が無い限りコレを使う)
$ snmpget -v 3 -lauthPriv -u myuser -a MD5 -A mypasswd -x DES -X mypassphrase 127.0.0.1 .1.3.6.1.2.1.1.5.0
ついでに暗号化も確認してみる。
- 非暗号化の場合
- 戻り値fooがそのまま送られてくる
$ snmpget -v 3 -lauthNoPriv -u myuser -a MD5 -A mypasswd 127.0.0.1 .1.3.6.1.2.1.1.5.0 -d No log handling enabled - turning on stderr logging : : 0112: 02 01 00 30 11 30 0F 06 08 2B 06 01 02 01 01 05 ...0.0...+...... 0128: 00 04 03 66 6F 6F ...foo SNMPv2-MIB::sysName.0 = STRING: foo
- 暗号化の場合
- 戻り値fooが確認できない
snmpget -v 3 -lauthPriv -u myuser -a MD5 -A mypasswd -x DES -X mypassphrase 127.0.0.1 .1.3.6.1.2.1.1.5.0 -d No log handling enabled - turning on stderr logging Sending 64 bytes to UDP: [127.0.0.1]:161->[0.0.0.0] : : 0128: EF 4A 68 6C 81 DC 7F 02 B0 20 C4 BE 2D 13 83 5C .Jhl..... ..-..\ SNMPv2-MIB::sysName.0 = STRING: foo
次回
監視カスタマイズの予定