24.6.3.2. 認証の設定
Net-SNMP Agent Daemon は SNMP プロトコルの 3 つの全バージョンに対応します。最初の 2 つのバージョン(1 および 2c)は、コミュニティー文字列 を使用した簡易認証を提供します。この文字列は、エージェントとクライアントのユーティリティー間で共有される秘密です。この文字列は、ネットワーク上でクリアテキストで渡されますが、安全であるとはみなされません。SNMP プロトコルのバージョン 3 は、各種プロトコルを使用したユーザー認証とメッセージの暗号化に対応しています。Net-SNMP エージェントは、SSH でのトンネリング、X.509 証明書を使用した TLS 認証、および Kerberos 認証にも対応しています。
SNMP Version 2c Community の設定
SNMP version 2c community を設定するには、
/etc/snmp/snmpd.conf
設定ファイルの rocommunity
または rwcommunity
ディレクティブを使用します。ディレクティブの形式は次のとおりです。
directive community [source [OID]]
community は使用するコミュニティー文字列で、source は IP アドレスまたはサブネットで、OID はアクセスを提供する SNMP ツリーです。たとえば、次のディレクティブは、ローカルマシンのコミュニティー文字列 「redhat」 を使用するクライアントに
システム
ツリーへの読み取り専用アクセスを提供します。
rocommunity redhat 127.0.0.1 .1.3.6.1.2.1.1
設定をテストするには、
-v
オプションおよび -c
オプションを指定して snmpwalk コマンドを使用します。
~]# snmpwalk -v2c -c redhat localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-122.el6.x86_64 #1 SMP Wed Mar 9 23:54:34 EST 2011 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (158357) 0:26:23.57
SNMPv2-MIB::sysContact.0 = STRING: UNIX Admin <admin@example.com>
SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain
SNMPv2-MIB::sysLocation.0 = STRING: Datacenter, Row 3, Rack 2
SNMP Version 3 User の設定
SNMP version 3 ユーザー を設定するには、net-snmp-create-v3-user コマンドを 使用します。このコマンドにより、
/var/lib/net-snmp/snmpd.conf
ファイルおよび /etc/snmp/snmpd.conf
ファイルにエントリーを追加します。net-snmp-create-v3-user コマンドは、エージェントが実行されていない場合にのみ実行できることに注意してください。以下の例では、パスワードが 「redhatsnmp」 の 「admin」 ユーザーを作成します。
~]# service snmpd stop Stopping snmpd: [ OK ] ~]# net-snmp-create-v3-user Enter a SNMPv3 user name to create: admin Enter authentication pass-phrase: redhatsnmp Enter encryption pass-phrase: [press return to reuse the authentication pass-phrase] adding the following line to /var/lib/net-snmp/snmpd.conf: createUser admin MD5 "redhatsnmp" DES adding the following line to /etc/snmp/snmpd.conf: rwuser admin ~]# service snmpd start Starting snmpd: [ OK ]
net-snmp-create-v3-user が
/etc/snmp/snmpd.conf
に追加される rwuser
ディレクティブ( -
ro コマンドラインオプションを指定する場合は rouser
)は、rwcommunity
ディレクティブおよび rocommunity
ディレクティブと同様の形式になります。
directive user [noauth
|auth
|priv
] [OID]
user はユーザー名で、OID はアクセスを提供する SNMP ツリーです。デフォルトでは、Net-SNMP Agent Daemon は認証済み要求のみを許可します(
auth
オプション)。noauth
オプションを使用すると、認証されていない要求を許可でき、priv
オプションは暗号化の使用を強制します。authpriv
オプションは要求の認証と応答の暗号化が必要であることを指定します。
たとえば、以下の行では、「admin」 にツリー全体への読み取り/書き込みアクセスを付与します。
rwuser admin authpriv .1
設定をテストするには、ユーザーのホームディレクトリーに
.snmp
ディレクトリーを作成して、そのディレクトリーに次の行を含む snmp.conf
という名前の設定ファイルを作成します(~/.snmp/snmp.conf
)。
defVersion 3 defSecurityLevel authPriv defSecurityName admin defPassphrase redhatsnmp
これで、エージェントのクエリー時に、snmpwalk コマンドがこれらの認証設定を使用するようになりました。
~]$ snmpwalk -v3 localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-122.el6.x86_64 #1 SMP Wed Mar 9 23:54:34 EST 2011 x86_64 [output truncated]