簡単SNMP(ACL設定 v1,v2c編)
SNMPで誤解してた部分を勉強し直したついでに纏めてみた。
前回の続き
セキュリティー設定
v1 , v2c と v3 で大きく方法が異なる。
v1,v2c
- OID
- 接続元IP
- コミュニティー名
でACL制御する。
事実上、コミュニティー名しか守る要素が無い上に、これらは平文でやり取りされる。
完全に信頼できるネットワーク内のみで使う事を強くお勧めする!
v3
- OID
- ユーザ
- パスワード
自然な認証・認可の形をしており、伝文の暗号化も出来る。
v1 , v2c
ユーザ,パスワード,暗号化などが無い為、事前準備も無くsnmpd.conf定義だけで完結する。
コミュニティー名
ほぼパスワード扱い。デフォルト(=public)から変更しなるべく類推不能にする。(しかし平文で流れるので気休めでしかない)
com2sec notConfigUser default crumbpublic
snmpdを再起動すると有効になる。
- これが失敗して
$ snmpget -v 1 -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0
- こっちが成功するはず
$ snmpget -v 1 -c crumbpublic 127.0.0.1 .1.3.6.1.2.1.1.5.0
ACL(アクセス制限)
read-writeビューとread-onlyビューを分けるのが一般的。
# 接続元IPによって指定できるコミュニティを変える com2sec local localhost crumbprivate com2sec network localhost crumbpublic com2sec network 192.168.0.0/24 crumbpublic # 簡略化の為v1だけ group localGroup v1 local group networkGroup v1 network # 表示用view と書き込めるviewは範囲が違う view roview included .1.3.6.1 view rwview included .1.3.6.1.2.1.1 # local にはrwviewへの書き込み権も与える。 access localGroup "" any noauth exact roview rwview none access networkGroup "" any noauth exact roview none none
解説
- コミュニティーをグループ化
- 公開範囲をビューとして定義
- グループとビューを紐付け
それ程難しい事はしてない。