SNMP v3 用に SNMP エージェントを構成すると、トラップの送信がエージェントでサポートされます。SNMP v3 には、暗号化認証や暗号化など、v1 または v2c よりも強化されたセキュリティを備えられています。

SNMP v3 インフォームはサポートされていません。vCenter Server は、v1/v2c トラップや、すべてのセキュリティ レベルを備えた v3 トラップなどの通知のみをサポートします。

SNMP エンジン ID の構成

すべての SNMP v3 エージェントには、エージェントの一意の識別子として使用されるエンジン ID があります。エンジン ID は、ハッシュ関数を使用して、SNMP v3 メッセージの認証と暗号化のためのローカライズされたキーを生成するときに使用されます。

SNMP エージェントを有効化する前にエンジン ID が指定されていない場合は、スタンドアロンの SNMP エージェントを有効化すると、エンジン ID が生成されます。

手順

  1. アプライアンス シェルにアクセスして、管理者ロールまたはスーパー管理者ロールを持つユーザーとしてログインします。
    スーパー管理者ロールが割り当てられているデフォルトのユーザーは root です。
  2. snmp.set --engineid コマンドを実行してターゲットを構成します。
    たとえば、次のコマンドを実行します。
    snmp.set --engineid 80001adc040102030405060708091011
    この値は、次のように複数の 16 進数に分割できます。
    80:00:1a:dc:04:24:17:e2:02:b8:61:3f:54:00:00:00:00

    これをデコードすると、次のようになります。

    80: -- 「10000000」(0x80) の最上位ビットと下位 7 ビットの 0 はエンタープライズ ID の一部なので、RFC 3411 エンコードが適用されます。

    00:1a:dc -- 残りのエンタープライズ ID。VMware によって解析される値は、16 進数の 1a:dc(10 進数で 6876)です。

    04: -- RFC 3411 のページ 42 に基づく engineid のタイプ。ここで「4」を使用することで、残りのオクテットをテキストに変換できることを示します。

    0102030405060708091011 -- オペレータが指定するテキストを 16 進数でエンコードした値。

SNMP 認証およびプライバシー プロトコルの構成

SNMP v3 は、オプションとして認証およびプライバシー プロトコルをサポートしています。

認証は、ユーザーの ID を確認するために使用します。プライバシーを使用すると、SNMP v3 メッセージを暗号化してデータの機密性を保証できます。プライバシー プロトコルは、セキュリティのためにコミュニティ文字列を使用する SNMP v1 および v2c より高いレベルのセキュリティを備えています。

認証およびプライバシーは、どちらもオプションです。ただし、プライバシーを有効にする場合は、認証を有効にする必要があります。

SNMP v3 の認証およびプライバシー プロトコルはライセンス供与されている vSphere 機能であり、一部の vSphere エディションでは使用できない可能性があります。

手順

  1. アプライアンス シェルにアクセスして、管理者ロールまたはスーパー管理者ロールを持つユーザーとしてログインします。
    スーパー管理者ロールが割り当てられているデフォルトのユーザーは root です。
  2. (オプション) snmp.set --authentication コマンドを実行して、認証を構成します。
    たとえば、次のコマンドを実行します。
    snmp.set --authentication protocol
    ここで protocol には、 none (認証なし)、 SHA1、または MD5 のいずれかを指定します。
  3. (オプション) snmp.set --privacy コマンドを実行して、プライバシー プロトコルを構成します。
    たとえば、次のコマンドを実行します。
    snmp.set --privacy protocol
    ここで protocol には、 none (プライバシーなし)または AES128 を指定します。

SNMP ユーザーの設定

SNMP v3 情報にアクセスできるユーザーを、5 人まで設定できます。ユーザー名は、32 文字以下にする必要があります。

ユーザーを設定では、ユーザーユーザーの認証パスワードおよびプライバシー パスワードと SNMP エージェントのエンジン ID に基づいて、認証およびプライバシーのハッシュ値が生成されます。ユーザーの設定後にエンジン ID、認証プロトコル、またはプライバシー プロトコルを変更した場合、ユーザーは無効になり、再設定が必要になります。

前提条件

  • ユーザーを設定する前に、認証プロトコルとプライバシー プロトコルが設定されていることを確認します。
  • 設定する各ユーザーの認証パスワードとプライバシー パスワードを確認します。パスワードは 8 文字以上にする必要があります。これらのパスワードは、ホスト システムのファイルに保存します。

手順

  1. アプライアンス シェルにアクセスして、管理者ロールまたはスーパー管理者ロールを持つユーザーとしてログインします。
    スーパー管理者ロールが割り当てられているデフォルトのユーザーは root です。
  2. 認証またはプライバシー保護を使用している場合は、snmp.hash --auth_hash --priv_hash コマンドを実行して、ユーザーの認証およびプライバシー保護のハッシュ値を取得します。
    たとえば、次のコマンドを実行します。
    snmp.hash  --auth_hash secret1 --priv_hash secret2
    ここで secret1 はユーザーの認証パスワードが含まれるファイルへのパスで、 secret2 はユーザーのプライバシー パスワードが含まれるファイルへのパスです。または、 --raw_secret フラグを指定して、ブール値パラメータを true に設定できます。
    認証とプライバシーのハッシュ値が表示されます。
  3. snmp.set --user を実行して、ユーザーを構成します。
    たとえば、次のコマンドを実行します。
    snmp.set --user userid/authhash/privhash/security
    コマンドのパラメータは次のとおりです。
    パラメータ 説明
    userid ユーザー名で置き換えます。
    authhash 認証ハッシュ値で置き換えます。
    privhash プライバシー ハッシュ値で置き換えます。
    security ユーザーに対して有効なセキュリティ レベルで置き換えます。auth (認証のみ)、priv (認証とプライバシー保護)、none (認証もプライバシー保護もなし)のいずれかを指定できます。

SNMP v3 ターゲットの構成

SNMP エージェントによる SNMP v3 トラップの送信が許可されるように SNMP v3 ターゲットを構成します。

最大 3 つの SNMP v1 または v2c ターゲットに加えて、SNMP v3 ターゲットを 3 つまで構成できます。

ターゲットを構成するには、トラップを受信するシステムのホスト名または IP アドレス、ユーザー名、セキュリティ レベル、およびトラップを送信するかどうかを指定する必要があります。セキュリティ レベルには、none (セキュリティなし)、auth (認証のみ)、または priv (認証とプライバシー)を指定できます。

手順

  1. アプライアンス シェルにアクセスして、管理者ロールまたはスーパー管理者ロールを持つユーザーとしてログインします。
    スーパー管理者ロールが割り当てられているデフォルトのユーザーは root です。
  2. snmp.set --v3targets コマンドを実行して、SNMP v3 ターゲットを設定します。
    たとえば、次のコマンドを実行します。
    snmp.set --v3targets hostname@port/userid/secLevel/trap
    コマンドのパラメータは次のとおりです。
    パラメータ 説明
    hostname トラップを受信する管理システムのホスト名または IP アドレスで置き換えます。
    port トラップを受信する管理システムのポートで置き換えます。ポートを指定しない場合、デフォルトのポート 161 が使用されます。
    userid ユーザー名で置き換えます。
    secLevel noneauthpriv のいずれかで置き換えて、構成した認証とプライバシーのレベルを示します。認証のみを構成した場合は auth、認証とプライバシーの両方を構成した場合は priv、どちらも構成していない場合は none を使用します。
  3. (オプション) SNMP エージェントが有効になっていない場合は、snmp.enable コマンドを実行して有効にします。
  4. (オプション) snmp.test コマンドを実行し、テスト トラップを送信してエージェントが正しく構成されていることを確認します。
    エージェントは、構成されたターゲットに warmStart トラップを送信します。