オペレーティングシステムでの snmpd サービスの設定

2024年4月1日

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 <snmp_auth_algo> -x <snmp_priv_algo> <snmp_username>

認証および暗号化パスワードは対話的に要求されます。

例:

net-snmp-create-v3-user -ro -a SHA -x AES MonitoringUser

ユーティリティを使用せずにユーザーアカウントを作成するには:

  1. 設定情報ファイル /var/lib/snmp/snmpd.conf を作成します:

    touch /var/lib/snmp/snmpd.conf

  2. 次の行をファイルに追加します:

    createUser <snmp_username> <snmp_auth_algo> "<snmp_auth_pass>" <snmp_priv_algo> "<snmp_priv_pass>"

    例:

    createUser MonitoringUser SHA "MonitoringAuthSecret" AES "MonitoringPrivSecret"

SNMPトラップを受信するためのユーザーアカウントの作成

認証と暗号化を使用して SNMPv3 経由で SNMP トラップを受信するには、対応するサービス(通常は snmptrapd サービス)のコンテキストで監視システム側にアカウントを作成する必要があります。

アカウントには次の情報が含まれている必要があります:

  • ユーザー名。
  • 認証アルゴリズム
  • 認証パスワード
  • 暗号化アルゴリズム
  • 暗号化パスワード

セキュリティ上の理由から、データへのアクセスと SNMP トラップの受信には別のユーザーアカウントを使用する必要があります。
独立したユーザーアカウントを作成し、KSMG クラスタの各ノードから SNMP トラップを受信することを推奨します。

SNMP トラップを受信するためのユーザーアカウントを作成する手順については、使用している監視システムのマニュアルを参照してください。

snmpd サービスを再開します。

snmpd サービスの設定は、ファイル /etc/snmp/snmpd.conf に保存されます。既存の設定情報ファイルに必要な情報を追加することも、新しい設定情報ファイルを作成して以下にリストされた行を指定された順序で追加することもできます。

snmpd サービスを設定するには:

  1. 新しい設定情報ファイルを作成することを選択した場合は、スーパーユーザーのみがそのファイルにアクセスできるようにしてください。必要に応じて、権限を設定します:

    chown root:root /etc/snmp/snmpd.conf

    chmod 600 /etc/snmp/snmpd.conf

  2. 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

  3. snmpd サービスが AgentX プロトコル経由でサブエージェント接続をリッスンする必要がある UNIX ソケットのパスと権限を指定します。指定するには、設定情報ファイルに次の行を追加します:

    # Listen for subagent connections via UNIX socket

    master agentx

    agentXSocket unix:/var/run/agentx-master.socket

    agentXPerms 770 770 kluser klusers

  4. 必要に応じて、システムの説明、システムの場所、管理者の連絡先アドレスを入力できます。指定するには、設定情報ファイルに次の行を追加します:

    # Basic system information

    sysDescr <system_description>

    sysLocation <system_location>

    sysContact <contact_address>

    sysServices 72

  5. SNMP プロトコル経由で監視システムで使用できるようにする OID ツリーの範囲を指定します。KSMG データにアクセスするには、設定情報ファイルに次の行を追加します:

    # Kaspersky Secure Mail Gateway SNMP statistics

    view monitoring included .1.3.6.1.4.1.23668.1735

  6. 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

  7. 作成したユーザーアカウントのアクセスモードと情報の範囲を指定します。指定するには、設定情報ファイルに次の行を追加します:

    # Access control for SNMPv3 monitoring system user

    rouser <snmp_username> priv -V monitoring

  8. 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 サービスの開始

新しい設定を適用するには:

  1. snmpd サービスを再起動します:

    systemctl restart snmpd

  2. nginx サービスのステータスをチェックします:

    systemctl status snmpd

    ステータスは running である必要があります。

  3. オペレーティングシステムの起動時にサービスが自動的に開始されるようにします:

    systemctl enable snmpd

  4. オペレーティングシステムまたはネットワーク機器でファイアウォールを使用している場合は、SNMP パケットを通過させるルールを追加します。

snmpd サービスが設定されています。

snmpd サービスの健全性のチェック

snmpd サービスをテストするには、 KSMG Webインターフェイスで SNMP の使用を設定し、「snmpwalk」ユーティリティを使用して SNMP データを要求します。

KSMG によって提供される SNMP データの範囲を取得するには:

snmpwalk -v3 -l authPriv -u <snmp_username> -a <SNMP の認証アルゴリズム> -A "<SNMP の認証パスワード>" -x <SNMP の以前のアルゴリズム> -X "<SNMP の以前のパスワード>" <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

この記事はお役に立ちましたか?
改善できる点がありましたらお聞かせください。
フィードバックをいただき、ありがとうございました。改善に向けて取り組んでまいります。
フィードバックをいただき、ありがとうございました。改善に向けて取り組んでまいります。