オペレーティングシステムでの snmpd サービスの設定
2024年5月23日
ID 222969
SNMP 経由の KSMG との対話は、オペレーティングシステムの「snmpd」サービスを使用して実現されます。snmpd サービスはマスターエージェントとして動作し、SNMP 経由で監視システムやその他の外部利用者からのリクエストを受信して処理します。KSMG は、UNIX ソケット経由で AgentX プロトコル経由でサブエージェントとして snmpd サービスに接続します。
データにアクセスするためのユーザーアカウントの作成
アカウントを作成する前に、snmpd サービスを停止してください。
認証と暗号化を使用して SNMPv3 経由でデータにアクセスするセキュリティを確保するには、次の情報を使用して snmpd サービス側でユーザーアカウントを作成する必要があります:
- ユーザー名(大文字と小文字が区別されます)
- 認証アルゴリズム(MD5 または SHA、SHA を推奨)
- 認証パスワード
- 暗号化アルゴリズム(DES または AES、AES を推奨)
暗号化パスワード
セキュリティ上の理由から、KSMG クラスタの各ノードで独立したユーザーアカウントを使用することを推奨します。
net-snmp-create-v3-user ユーティリティを使用してアカウントを作成できます。
net-snmp-create-v3-user ユーティリティを使用してユーザーアカウントを作成するには:
- テクニカルサポートモードにアクセスするには、SSH 経由でクラスタノードに接続します。
- 次のコマンドを実行します:
net-snmp-create-v3-user -ro -a <snmp_auth_algo> -x <snmp_priv_algo> <snmp_username>
認証および暗号化パスワードは対話的に要求されます。
例:
|
SNMPトラップを受信するためのユーザーアカウントの作成
認証と暗号化を使用して SNMPv3 経由で SNMP トラップを受信するには、対応するサービス(通常は snmptrapd サービス)のコンテキストで監視システム側にアカウントを作成する必要があります。
アカウントには次の情報が含まれている必要があります:
- ユーザー名
- 認証アルゴリズム
- 認証パスワード
- 暗号化アルゴリズム
- 暗号化パスワード
セキュリティ上の理由から、データへのアクセスと SNMP トラップの受信には別のユーザーアカウントを使用する必要があります。
独立したユーザーアカウントを作成し、KSMG クラスタの各ノードから SNMP トラップを受信することを推奨します。
SNMP トラップを受信するためのユーザーアカウントを作成する手順については、使用している監視システムのマニュアルを参照してください。
snmpd サービスを再開します。
snmpd サービスの設定は、ファイル /etc/snmp/snmpd.conf に保存されます。新しい設定情報ファイルを作成し、次の行を指定された順序で追加する必要があります。
snmpd サービスを設定するには:
- テクニカルサポートモードにアクセスするには、SSH 経由でクラスタノードに接続します。
- 新しい設定情報ファイルを作成し、そのファイルにアクセス許可を設定します:
mv -f /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.backup
touch /etc/snmp/snmpd.conf
chown root:root /etc/snmp/snmpd.conf
chmod 600 /etc/snmp/snmpd.conf
- snmpd サービスが受信要求をリッスンする必要があるプロトコル、ネットワークインターフェイスアドレス、ポート番号を指定します。
- すべてのネットワークインターフェイスでリクエストをリッスンする場合は、設定情報ファイルに次の行を追加します:
# Listen for incoming SNMP requests via UDP
agentAddress udp:161
- ローカルネットワークインターフェイスでのみリクエストをリッスンする場合(たとえば、監視システムが同じマシンにインストールされている場合)、次の行を追加します:
# Listen for incoming SNMP requests via UDP
agentAddress udp:127.0.0.1:161
- すべてのネットワークインターフェイスでリクエストをリッスンする場合は、設定情報ファイルに次の行を追加します:
- snmpd サービスが AgentX プロトコル経由でサブエージェント接続をリッスンする必要がある UNIX ソケットのパスと権限を指定します。指定するには、設定情報ファイルに次の行を追加します:
# Listen for subagent connections via UNIX socket
master agentx
agentXSocket unix:/var/run/agentx-master.socket
agentXPerms 770 770 kluser klusers
- 必要に応じて、システムの説明、システムの場所、管理者の連絡先アドレスを入力できます。指定するには、設定情報ファイルに次の行を追加します:
# Basic system information
sysDescr <system_description>
sysLocation <system_location>
sysContact <contact_address>
sysServices 72
- SNMP プロトコル経由で監視システムで使用できるようにする OID ツリーの範囲を指定します。KSMG データにアクセスするには、設定情報ファイルに次の行を追加します:
# Kaspersky Secure Mail Gateway SNMP statistics
view monitoring included .1.3.6.1.4.1.23668.1735
- snmpd サービスによって保存されるオペレーティングシステムに関する情報を含む OID ツリーの範囲を追加で指定できます。この範囲を監視システムで使用できるようになります。
オペレーティングシステムに関する情報には、たとえば、CPU と RAM の使用状況、ディスクパーティションの空き容量、ネットワークインターフェイスの負荷、インストールされているソフトウェアのリスト、オープンネットワーク接続のリスト、実行中のプロセスのリストなどが含まれます。一部に機密情報が含まれる場合があります。
- 一般的なシステム情報と、RAM、CPU、ディスクデバイスの使用状況に関する情報のみへのアクセスを許可する場合は、設定情報ファイルに次の行を追加します:
# SNMPv2-MIB - Basic system information
view monitoring included .1.3.6.1.2.1.1
# HOST-RESOURCES-MIB - CPU, Memory, Filesystems
view monitoring included .1.3.6.1.2.1.25.1
view monitoring included .1.3.6.1.2.1.25.2
view monitoring included .1.3.6.1.2.1.25.3
view monitoring included .1.3.6.1.2.1.25.5
# UCD-SNMP-MIB - Memory and CPU usage
view monitoring included .1.3.6.1.4.1.2021.4
view monitoring included .1.3.6.1.4.1.2021.10
view monitoring included .1.3.6.1.4.1.2021.11
# UCD-SNMP-DISKIO-MIB - Block devices I/O statistics
view monitoring included .1.3.6.1.4.1.2021.13
# IF-MIB - Network interfaces I/O statistics
view monitoring included .1.3.6.1.2.1.2
view monitoring included .1.3.6.1.2.1.31
- すべてのシステム情報へのアクセスを許可する場合は、設定情報ファイルに次の行を追加します:
# Allow access to the whole OID tree
view monitoring included .1
- 一般的なシステム情報と、RAM、CPU、ディスクデバイスの使用状況に関する情報のみへのアクセスを許可する場合は、設定情報ファイルに次の行を追加します:
- 作成したユーザーアカウントのアクセスモードと情報の範囲を指定します。指定するには、設定情報ファイルに次の行を追加します:
# Access control for SNMPv3 monitoring system user
rouser <snmp_username> priv -V monitoring
- SNMP トラップを送信するには、監視システムの IP アドレスとトラップを受信するためのユーザー資格情報を指定します。指定するには、設定情報ファイルに次の行を追加します:
# Send SNMPv3 traps to the monitoring system
trapsess -Ci -v3 -t0.1 -r1 -l authPriv -u <trap_username> -a <trap_auth_algo> -A "<trap_auth_pass>" -x <trap_priv_algo> -X "<trap_priv_pass>" udp:<IP_address>:162
snmpd サービスが設定されます。
複数の監視システムと連携するには、システムごとに個別のユーザーアカウントを作成し、各ユーザーアカウントで使用可能な情報の範囲を指定し(「view」および「rouser」ディレクティブ)、SNMP トラップの送信を設定します(「trapsess」ディレクティブ)。
snmpd サービス設定情報ファイルの例: # Listen for incoming SNMP requests via UDP agentAddress udp:161
# Listen for subagent connections via UNIX socket master agentx agentXSocket unix:/var/run/agentx-master.socket agentXPerms 770 770 kluser klusers
# Basic system information sysDescr Example Mail Gateway Server, Node 05 sysLocation Example Datacenter, Ground floor, B23-U45 sysContact Mail system administrator <admin@example.com> sysServices 72
# Kaspersky Secure Mail Gateway SNMP statistics view monitoring included .1.3.6.1.4.1.23668.1735
# SNMPv2-MIB - Basic system information view monitoring included .1.3.6.1.2.1.1 # HOST-RESOURCES-MIB - CPU, Memory, Filesystems view monitoring included .1.3.6.1.2.1.25.1 view monitoring included .1.3.6.1.2.1.25.2 view monitoring included .1.3.6.1.2.1.25.3 view monitoring included .1.3.6.1.2.1.25.5 # UCD-SNMP-MIB - Memory and CPU usage view monitoring included .1.3.6.1.4.1.2021.4 view monitoring included .1.3.6.1.4.1.2021.10 view monitoring included .1.3.6.1.4.1.2021.11 # UCD-SNMP-DISKIO-MIB - Block devices I/O statistics view monitoring included .1.3.6.1.4.1.2021.13 # IF-MIB - Network interfaces I/O statistics view monitoring included .1.3.6.1.2.1.2 view monitoring included .1.3.6.1.2.1.31
# Access control for SNMPv3 monitoring system user rouser MonitoringUser priv -V monitoring
# Send SNMPv3 traps to the monitoring system trapsess -Ci -v3 -t0.1 -r1 -l authPriv -u TrapUser -a SHA -A "TrapAuthSecret" -x AES -X "TrapPrivSecret" udp:10.16.32.64:162 |
新しい設定での snmpd サービスの開始
新しい設定を適用するには:
- snmpd サービスを再起動します:
systemctl restart snmpd
- nginx サービスのステータスをチェックします:
systemctl status snmpd
ステータスは
running
である必要があります。 - オペレーティングシステムの起動時にサービスが自動的に開始されるようにします:
systemctl enable snmpd
- オペレーティングシステムまたはネットワーク機器でファイアウォールを使用している場合は、SNMP パケットを通過させるルールを追加します。
snmpd サービスが設定されています。
snmpd サービスの健全性のチェック
snmpd サービスをテストするには、 KSMG Webインターフェイスで SNMP の使用を設定し、「snmpwalk」ユーティリティを使用して SNMP データを要求します。
KSMG によって提供される SNMP データの範囲を取得するには:
snmpwalk -v3 -l authPriv -u <snmp_username> -a <snmp_auth_algo> -A "<snmp_auth_pass>" -x <snmp_priv_algo> -X "<snmp_priv_pass>" <IP アドレス> .1.3.6.1.4.1.23668.1735
例: snmpwalk -v3 -l authPriv -u MonitoringUser -a SHA -A "MonitoringAuthSecret" -x AES -X "MonitoringPrivSecret" 127.0.0.1 .1.3.6.1.4.1.23668.1735 |