オペレーティングシステムでの snmpd サービスの設定
2024年4月16日
ID 222969
SNMP 経由の KSMG との対話は、オペレーティングシステムの「snmpd」サービスを使用して実現されます。snmpd サービスはマスターエージェントとして動作し、SNMP 経由で監視システムやその他の外部利用者からのリクエストを受信して処理します。KSMG は、UNIX ソケット経由で AgentX プロトコル経由でサブエージェントとして snmpd サービスに接続します。
snmpd サービスを再起動します。
snmpd サービスがオペレーティングシステムにインストールされていることを確認してください。サービスがインストールされていない場合は、適切なパッケージをインストールします。
snmpd サービスと補助ユーティリティをインストールするには
次のコマンドを入力します:
- Red Hat Enterprise Linux、Rocky Linux の場合:
yum install net-snmp net-snmp-utils
- Ubuntuの場合:
apt install snmp snmpd
データにアクセスするためのユーザーアカウントの作成
アカウントを作成する前に、snmpd サービスを停止してください。
認証と暗号化を使用して SNMPv3 経由でデータにアクセスするセキュリティを確保するには、次の情報を使用して snmpd サービス側でユーザーアカウントを作成する必要があります:
- ユーザー名(大文字と小文字が区別されます)
- 認証アルゴリズム(MD5 または SHA、SHA を推奨)
- 認証パスワード
- 暗号化アルゴリズム(DES または AES、AES を推奨)
- 暗号化パスワード
セキュリティ上の理由から、KSMG クラスタの各ノードで独立したユーザーアカウントを使用することを推奨します。
ユーザーアカウントは、次の方法で作成できます:
- net-snmp-create-v3-user ユーティリティを使用する(オペレーティングシステムで使用可能場合)。
- snmpd サービスの設定情報ファイルに、適切なディレクティブを手動で追加します。
net-snmp-create-v3-user ユーティリティを使用してユーザーアカウントを作成するには:
net-snmp-create-v3-user -ro -a <
認証アルゴリズム
> -x <
暗号化アルゴリズム
> <
ユーザー名
>
認証および暗号化パスワードは対話的に要求されます。
例:
|
ユーティリティを使用せずにユーザーアカウントを作成するには:
- 設定情報ファイル /var/lib/snmp/snmpd.conf を作成します:
touch /var/lib/snmp/snmpd.conf
- 次の行をファイルに追加します:
createUser <
ユーザー名
> <
認証アルゴリズム
> "<
認証パスワード
>" <
暗号化アルゴリズム
> "<
暗号化パスワード
>"
例:
createUser MonitoringUser SHA "MonitoringAuthSecret" AES "MonitoringPrivSecret"
SNMPトラップを受信するためのユーザーアカウントの作成
認証と暗号化を使用して SNMPv3 経由で SNMP トラップを受信するには、対応するサービス(通常は snmptrapd サービス)のコンテキストで監視システム側にアカウントを作成する必要があります。
アカウントには次の情報が含まれている必要があります:
- ユーザー名。
- 認証アルゴリズム
- 認証パスワード
- 暗号化アルゴリズム
- 暗号化パスワード
セキュリティ上の理由から、データへのアクセスと SNMP トラップの受信には別のユーザーアカウントを使用する必要があります。
独立したユーザーアカウントを作成し、KSMG クラスタの各ノードから SNMP トラップを受信することを推奨します。
SNMP トラップを受信するためのユーザーアカウントを作成する手順については、使用している監視システムのマニュアルを参照してください。
snmpd サービスを再開します。
snmpd サービスの設定は、ファイル /etc/snmp/snmpd.conf に保存されます。既存の設定情報ファイルに必要な情報を追加することも、新しい設定情報ファイルを作成して以下にリストされた行を指定された順序で追加することもできます。
snmpd サービスを設定するには:
- 新しい設定情報ファイルを作成することを選択した場合は、スーパーユーザーのみがそのファイルにアクセスできるようにしてください。必要に応じて、権限を設定します:
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 <
システムの説明
>
sysLocation <
システムの場所
>
sysContact <
管理者の連絡先アドレス
>
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 <
ユーザー名
> priv -V monitoring
- SNMP トラップを送信するには、監視システムの IP アドレスとトラップを受信するためのユーザー資格情報を指定します。指定するには、設定情報ファイルに次の行を追加します:
# Send SNMPv3 traps to the monitoring system
trapsess -Ci -v3 -t0.1 -r1 -l authPriv -u <
トラップを受信するためのユーザー名
> -a <
認証アルゴリズム
> -A "<
トラップを受信するためのユーザーパスワード
>" -x <
暗号化アルゴリズム
> -X "<
暗号化パスワード
>" udp:<
IP アドレス
>:162
snmpd サービスが設定されます。
複数の監視システムと連携するには、システムごとに個別のユーザーアカウントを作成し、各ユーザーアカウントで使用可能な情報の範囲を指定し(「view」および「rouser」ディレクティブ)、SNMP トラップの送信を設定します(「trapsess」ディレクティブ)。
新しい設定での 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 <
ユーザー名
> -a <
認証アルゴリズム
> -A "<
認証パスワード
>" -x <
暗号化アルゴリズム
> -X "<
暗号化パスワード
>" <
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 |