ucd-snmp の設定


さて、まず起動時に snmpd というデーモンが動くようにしておく必要があります。最近の流行にしたがって、/usr/local/etc/rc.d/ にスクリプトを追加しました。

# cat /usr/local/etc/rc.d/snmpd.sh

#!/bin/sh
if [ -x /usr/local/sbin/snmpd -a -e /usr/local/share/snmp/snmpd.conf ];then
        /usr/local/sbin/snmpd
fi

そして、設定のキモになる、snmpd.conf を作りますが、コンパイル時に EXAMPLE.conf というのがソースを展開したディレクトリにできているはずですので、これをコピーしてひな形にします。

[mymachine:/usr/local/src/ucd-snmp-4.2.5]# cp EXAMPLE.conf  /usr/local/share/snmp/snmpd.conf

[mymachine:/usr/local/src/ucd-snmp-4.2.5]# chown root /usr/local/share/snmp/snmpd.conf

[mymachine:/usr/local/src/ucd-snmp-4.2.5]# vi /usr/local/share/snmp/snmpd.conf

EXAMPLE.conf を怪しいながらも日本語訳してみたものを用意しましたので、ご参考まで。

ここまで準備ができたら、再起動可能であれば再起動し、デーモンだけ手動で起動してテストを行うのであれば、

[mymachine:/usr/local/src/ucd-snmp-4.2.5]# /usr/local/sbin/snmpd

とします。

テストは snmpwalk というツールで行えます。試しに、

[mymachine:/home/too]% snmpwalk -v 1 localhost [コミュニティ名] system

などとやると、ちゃんと設定されていればずらずらっと情報が表示されます。

うまく動かない場合には、snmpd がちゃんと上がっているかどうかと、質問で設定したログファイルの内容(私の場合は /var/log/snmpd.log)の内容を確認してください。


注意事項


configure の説明でも書きましたが、便利であるが故にセキュリティには充分注意を払っておく必要があります。tcpwrapper と併用し、wrapper 側のアクセス制御を適切に行っておく必要があります。通常 SNMP でアクセスしてくる NMS は決まっているので、そのホストからのみ SNMPアクセスを許可するようにしておくのが望ましいでしょう。

また、不用意に snmpd.conf で 書き込みを許可するのもよくありません。説明上コミュニティ名は public や private がよく用いられますが、これらは welknown なものなので、アタッカーはまず最初にこのコミュニティ名を狙うでしょう。
・よほどのことがない限り、書き込み(設定の変更)は許可しない
・読み込み(設定の参照)のみであっても、public や private は使用しない
・実際に使用するコミュニティ名はできるだけ分かりにくい名前を使う
といった注意が必要でしょう。



目次に戻る