# SNMP

## 1. 機能概要

SNMP (Simple Network Management Protocol) の設定を行うことにより、SNMP管理ソフトウェアに対してネットワーク管理情報のモニタと変更を行うことができるようになります。
このとき本製品はSNMPエージェントとして動作します。

本製品はSNMPv1、SNMPv2c、SNMPv3による通信に対応しています。またMIB (Management information Base) として RFC1213 (MIB-II) およびプライベートMIB(yamahaSW) に対応しています。

SNMPv1およびSNMPv2では、コミュニティーと呼ばれるグループの名前を相手に通知し、同じコミュニティーに属するホスト間でのみ通信します。このとき、読み出し専用 (read-only) と読み書き可能 (read-write) の2つのアクセスモードに対して別々にコミュニティー名を設定することができます。
このようにコミュニティー名はある種のパスワードとして機能しますが、その反面、コミュニティー名は必ず平文でネットワーク上を流れるという特性があり、セキュリティー面では脆弱と言えます。よりセキュアな通信が必要な場合はSNMPv3の利用を推奨します。
SNMPv3では通信内容の認証、および暗号化に対応しています。SNMPv3はコミュニティーの概念を廃し、新たにUSM (User-based Security Model) とVACM (View-based Access Control Model) と呼ばれるセキュリティーモデルを利用することで、より高度なセキュリティーを確保しています。

本製品の状態を通知するSNMPメッセージをトラップと呼びます。本製品ではSNMP標準トラップを送信します。SNMPv1では通知メッセージの形式として、相手の受信確認応答を要求しないtrapリクエストを指定しますが、SNMPv2c, SNMPv3ではtrapリクエストか相手に受信確認応答を要求するinformリクエストかを選択できます。

SNMPv1およびSNMPv2cで利用する読み出し専用と送信トラップ用のコミュニティー名は、本製品では特にデフォルト値を決めていませんので、適切なコミュニティー名を設定してください。ただし、上述の通りコミュニティー名はネットワーク上を平文で流れますので、コミュニティー名にログインパスワードや管理パスワードを決して使用しないよう注意してください。
初期設定では、各SNMPバージョンにおいてアクセスが一切できない状態となっています。また、トラップの送信先ホストは設定されておらず、どこにもトラップを送信しません。

本製品ではSNMPサーバーに対するアクセスを制限することができます。アクセス制限の設定を行うことで、意図しないホストからのアクセスを制限することができます。

## 2. 用語の定義

特になし

## 3. 機能詳細

各SNMPバージョンの主な特徴とルーターの設定方針について以下に説明します。
具体的な設定例については後述する "コマンド実行例" をご覧ください。

### 3.1. SNMPv1

コミュニティー名によりSNMPマネージャとエージェント間の認証を行います。
管理する本製品をコミュニティーというゾーンで分割して管理を行います。

- MIBオブジェクトへのアクセス
  snmp-server community コマンドで設定されたコミュニティー名でのアクセスを許可します。
  IPアドレスが設定されているVLANインターフェースからアクセスすることができます。

- SNMPトラップ
  snmp-server host コマンドで設定されたホストへ本製品の状態を送信することが可能です。
  snmp-server enable trap コマンドでどのようなトラップを送信するか設定します。
  snmp-server startup-trap-delay コマンドで、起動時に送信するトラップの送信タイミングを設定可能です。
  起動時にトラップ送信するときに、本製品にて送信元となるIPアドレスが取得できていない場合、トラップが送信できません。
  例えば、DHCPなどでIPアドレスの取得に時間がかかる場合は、 snmp-server startup-trap-delay コマンドの値を変更してください。

### 3.2. SNMPv2c

SNMPv1と同様に、コミュニティー名によりSNMPマネージャとエージェント間の認証を行います。
snmp-server community コマンドでSNMPv2cによりアクセスするときに使用するコミュニティー名を設定します。
また、本バージョンから新たにGetBulkリクエストやInformリクエストに対応します。
MIBオブジェクトをまとめて効率よく取得したり、本製品からの通知パケットに対する応答確認を行うことができます。

- MIBオブジェクトへのアクセス
  snmp-server community コマンドで設定されたコミュニティー名でのアクセスを許可します。
  IPアドレスが設定されているVLANインターフェースからアクセスすることができます。

- SNMPトラップ
  snmp-server host コマンドで設定されたホストへ本製品の状態を送信することが可能です。
  またコマンドの設定により送信メッセージの形式をトラップかInformリクエストかを選択することができます。
  Informリクエストでは相手に受信確認応答を要求します。
  snmp-server startup-trap-delay コマンドで、起動時に送信するトラップの送信タイミングを設定可能です。
  起動時にトラップ送信するときに、本製品にて送信元となるIPアドレスが取得できていない場合、トラップが送信できません。
  例えば、DHCPなどでIPアドレスの取得に時間がかかる場合は、 snmp-server startup-trap-delay コマンドの値を変更してください。

### 3.3. SNMPv3

SNMPv3はSNMPv2までの全機能に加えてセキュリティー機能が強化されています。
ネットワーク上を流れるSNMPパケットを認証・暗号化することによって、SNMPv1、v2cでのコミュニティー名とSNMPマネージャのIPアドレスによるセキュリティー機能では実現できなかった盗聴、なりすまし、改竄、リプレイ攻撃などからSNMPパケットを守ることができます。

- セキュリティー
  SNMPv3では以下のセキュリティー機能を提供します。

  1. USM (User-based Security Model)
     USMはメッセージレベルのセキュリティー確保を行うためのモデルで、共通鍵暗号に基づく認証と暗号化、メッセージストリーム改竄に対する防御を行います。

     - セキュリティーレベル
       ユーザが所属するグループの設定のパラメータでセキュリティーのレベルを指定することができます。
       セキュリティーレベルは認証・暗号化の組み合わせで以下のように分類できます。

       - noAuthNoPriv : 認証・暗号化を行わない

       - AuthNoPriv : 認証のみ行う

       - AuthPriv : 認証・暗号化を行う

     - ユーザ認証
       認証はデータの完全性 (改竄されていないこと) とデータの送信元の認証を行うための手続きでHMACを使用します。
       認証鍵でハッシュを取ることによりメッセージが改竄されていないことと送信者がユーザ本人であることを確認できます。
       ハッシュアルゴリズムとしてHMAC-MD5-96とHMAC-SHA-96をサポートします。

     - 暗号化
       SNMPv3では、管理情報の漏洩を防ぐ目的で、SNMPメッセージの暗号化を行います。
       暗号方式はDES-CBCとAES128-CFBをサポートします。
       snmp-server user コマンドで、ユーザ名と所属するグループ名、ユーザ認証方式、暗号化方式、パスワードを設定することができます。
       グループ設定で指定したセキュリティーレベルに応じて、必要な認証と暗号化の設定を行います。

  2. VACM (View-based Access Control Model)
     VACMはSNMPメッセージのアクセス制御を行うモデルです。

     - グループ
       VACMでは、後述のアクセスポリシーをユーザ毎ではなくグループ毎に定義します。
       snmp-server user コマンドのgroupオプションでユーザが所属するグループを設定します。ここで指定したグループ毎にアクセス可能なMIBビューを設定します。

     - MIBビュー
       SNMPv3では、グループ毎にアクセスできるMIBオブジェクトの集合を定義できます。このときMIBオブジェクトの集合をMIBビューと呼び、MIBビューは、オブジェクトIDのツリーを表すビューサブツリーを集約することで表現されます。
       snmp-server view コマンドでMIBビューの設定を行います。ビューサブツリー毎にMIBビューに含めるか除外するかを選択できます。

     - アクセスポリシー
       VACMでは、グループ毎に読み込み、書き込みが許可されるMIBビューを設定します。
       snmp-server group コマンドでグループ名、セキュリティーレベル、MIBビューを設定します。
       MIBビューは snmp-server view コマンドで設定されているMIBビューとなります。

- SNMPトラップ
  snmp-server host コマンドで設定されたホストへ本製品の状態を送信することが可能です。
  トラップを送信するには、あらかじめ snmp-server user コマンドでユーザを設定する必要があります。
  またコマンドの設定により送信メッセージの形式をトラップかInformリクエストかを選択することができます。
  Informリクエストでは相手に受信確認応答を要求します。
  snmp-server startup-trap-delay コマンドで、起動時に送信するトラップの送信タイミングを設定可能です。
  起動時にトラップ送信するときに、本製品にて送信元となるIPアドレスが取得できていない場合、トラップが送信できません。
  例えば、DHCPなどでIPアドレスの取得に時間がかかる場合は、 snmp-server startup-trap-delay コマンドの値を変更してください。

### 3.4. SNMPサーバーへのアクセス制限

本製品のSNMPサーバーにアクセス可能なホストを snmp-server access コマンドで設定することができます。
意図したSNMPマネージャーからのアクセスのみを許可することで、意図しないホストからのアクセスを制限することができます。
デフォルトではすべてのホストからのアクセスを受け付けます。ご利用環境に応じてアクセス制限の設定をしてください。
アクセス制限についての詳細は リモートアクセス制御をご参照ください。

### 3.5. プライベートMIB

本製品は、独自のスイッチ管理用プライベートMIBである yamahaSW に対応しています。
このプライベートMIBにより、ヤマハの独自機能に対する情報や、スイッチのより詳細な情報を得ることができます。
対応しているプライベートMIB、プライベートMIBの取得方法については、SNMP MIBリファレンスを参照願います。

## 4. 関連コマンド

関連コマンドについて、以下に示します。
コマンドの詳細は、コマンドリファレンスを参照願います。

操作項目 | 操作コマンド
--- | ---
SNMP通知メッセージの送信先ホストの設定 | snmp-server host
システム起動時に通知メッセージを送信するまでの待機時間の設定 | snmp-server startup-trap-delay
送信する通知メッセージタイプの設定 | snmp-server enable trap
システムコンタクトの設定 | snmp-server contact
システムロケーションの設定 | snmp-server location
SNMPコミュニティーの設定 | snmp-server community
SNMPビューの設定 | snmp-server view
SNMPグループの設定 | snmp-server group
SNMPユーザーの設定 | snmp-server user
SNMPサーバーのアクセス設定 | snmp-server access
SNMPコミュニティーの情報の表示 | show snmp community
SNMPビューの設定内容の表示 | show snmp view
SNMPグループの設定内容の表示 | show snmp group
SNMPユーザーの設定内容の表示 | show snmp user

## 5. コマンド実行例

### 5.1. SNMPv1 設定例

SNMPv1によるネットワーク監視を以下の条件で実現します。

1. 読み出し専用のコミュニティー名"public"を設定します。

2. トラップの送信先を"192.168.100.11"に設定し、トラップのコミュニティー名を"snmptrapname"とします。

3. コミュニティー名"public"でアクセス可能なホストを192.168.100.0/24のみに制限します。

       Yamaha(config)# snmp-server community public ro                  　          ... 1
       Yamaha(config)# snmp-server host 192.168.100.11 traps version 1 snmptrapname ... 2
       Yamaha(config)# snmp-server access permit 192.168.100.0/24 community public  ... 3

### 5.2. SNMPv2c 設定例

SNMPv2cによるネットワーク監視を以下の条件で実現します。

1. 読み書き可能なコミュニティー名を "private" とします。

2. 通知メッセージの送信先を"192.168.100.12"とし、通知タイプをinformリクエスト形式、通知先のコミュニティー名を "snmpinformsname" とします。

3. コミュニティー名"private"でアクセス可能なホストを192.168.100.12のみに制限します。

       Yamaha(config)# snmp-server community private rw                  　               ...1
       Yamaha(config)# snmp-server host 192.168.100.12 informs version 2c snmpinformsname ...2
       Yamaha(config)# snmp-server access permit 192.168.100.12 community private         ...3

### 5.3. SNMPv3 設定例

SNMPv3によるネットワーク監視を以下の条件で実現します。

1. internetノード(1.3.6.1)以下を表すビューを "most" とします。

2. mib-2ノード(1.3.6.1.2.1)以下を表すビューを "standard" とします。

3. ユーザーグループ "admins" を作成し、"admins" グループに所属するユーザーに mostビュー へのフルアクセス権を与えます。

4. ユーザーグループ "users" を作成し、"users" グループの所属するユーザーに standardビュー への読み出しアクセス権を与えます。

5. "admins" グループに所属するユーザー "admin1" を作成します。
   認証アルゴリズムに "HMAC-SHA-96" を採用し、パスワードを "passwd1234" とします。
   暗号化アルゴリズムに "AES128-CFB" を採用し、暗号パスワードを "passwd1234" とします。

6. "users" グループに所属するユーザー "user1" を作成します。
   認証アルゴリズムに "HMAC-SHA-96" を採用し、パスワードを "passwd5678" とします。

7. トラップ形式(応答確認なし)の通知メッセージを 192.168.10.3 に通知させます。

8. Informリクエスト形式の通知メッセージを 192.168.20.3 に通知させます。

    Yamaha(config)# snmp-server view most 1.3.6.1 include                                  ... 1
    Yamaha(config)# snmp-server view standard 1.3.6.1.2.1 include                          ... 2
    Yamaha(config)# snmp-server group admins priv read most write most                     ... 3
    Yamaha(config)# snmp-server group users auth read standard                             ... 4
    Yamaha(config)# snmp-server user admin1 admins auth sha passwd1234 priv aes passwd1234 ... 5
    Yamaha(config)# snmp-server user user1 users auth sha passwd5678                       ... 6
    Yamaha(config)# snmp-server host 192.168.10.13 traps version 3 priv admin1             ... 7
    Yamaha(config)# snmp-server host 192.168.20.13 informs version 3 priv admin1           ... 8

## 6. 注意事項

- ご使用のSNMPマネージャが対応するSNMPバージョンを事前にご確認ください。使用するSNMPバージョンに合わせて本製品の設定を行う必要があります。

- SNMPv3に関連する以下の機能には対応していません。

  - プロキシ機能

  - snmpV2サブツリー (1.3.6.1.6) 以降のMIBオブジェクトへのアクセス。また、SNMP経由によるSNMPv3関連の設定変更はサポートしていません。

- コミュニティー名、ユーザー名、パスワード、グループ名の文字列の仕様は以下の通りです。

  - "" または '' で囲まれていたときに、""、'' 内の文字列が使用されます。

    - "" または '' の外側に文字列があるケースはサポートしていません。

    - "" または '' で囲まれていたときは、両端の ""、'' は文字列の文字数に含まれません。

    - グループ名は、 snmp-server user コマンドで使用される文字列に適用されます。

      - snmp-server group コマンドで使用される文字列には適用されません。

  - \の使用はサポートしていません。

  - ""、'' のみの使用はサポートしていません。

- snmp-server access コマンドによる、SNMPサーバーに対するアクセスの制限は、SNMPv1, SNMPv2c のアクセスのみ適用されます。SNMPv3 のアクセスには適用されません。

## 7. 関連文書

- Yamaha rtpro SNMP

- Yamaha rtpro Private MIB

- SNMP MIBリファレンス

Search result
No more search results.
There are no topics that match your search query.