Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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 コマンドは、エージェントが実行されていない場合にのみ実行できることに注意してください。以下の例では、パスワードが redhatsnmpadmin ユーザーを作成します。
~]# 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]