Cisco機器のSNMP設定(SNMPv3)について説明します。SNMPv3で追加された機能(認証と暗号化)を利用するための設定を行います。
SNMPの基礎については、下記を参照してください。
SNMPv2cの設定については、下記を参照してください。
SNMPv3の基本的な考え方
構成要素(SNMPエンティティ・SNMPエンジン)
SNMPv2cで「SNMPマネージャ」「SNMPエージェント」と呼ばれていた構成要素は廃止され、全てのノードが「SNMPエンティティ」という呼び方に統一されました。
SNMPエンティティの中の「SNMPエンジン」が、メッセージの送受信やセキュリティ機能を担っています。また、SNMPエンジンは、「エンジンID」を持つことにより、管理ドメイン内で一意に識別されます。
SNMPv3では、「SNMPマネージャ」「SNMPエージェント」という呼び方は廃止されていますが、このページでは分かりやすく説明するために、情報を管理・取得するノードを「SNMPマネージャ」、情報を提示・通知するノードを「SNMPエージェント」と呼んでいます。
認証と暗号化
SNMPv3では、主に認証と暗号化の機能が追加されており、下記の3パターンの考え方があります。
セキュリティ | 名称 | 表示 | 認証 | 暗号化 | 説明 |
---|---|---|---|---|---|
低 | noAuthNoPriv | noauth | 無し | 無し | ユーザー名のみの認証 |
中 | authNoPriv | auth | 有り | 無し | MD5 or SHA での認証 |
高 | authPriv | priv | 有り | 有り | DES or 3DES or AES での暗号化 |
どのセキュリティレベルを採用するかで、設定に必要なパラーメータが変わってきますので、上記の考え方をしっかりと把握しておきましょう。
SNMPリクエストを受け付けるための設定
noAuthNoPriv(認証無し・暗号化無し)
下記の設定を行うことで、「認証無し・暗号化無し」のリクエストを受け付けることができます。※ここで設定するユーザー名と、SNMPマネージャが指定するユーザー名が一致している必要があります。
snmp-server group [グループ名] v3 noauth
snmp-server user [ユーザー名] [グループ名] v3
noAuthNoPrivの設定例
snmp-server group noauthgroup v3 noauth
snmp-server user noauthuser noauthgroup v3
Server[~]: snmpget -v3 -u noauthuser -l noAuthNoPriv 192.168.1.100 1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: Router1
noAuthNoPriv(認証無し・暗号化無し)の場合は、SNMPv2cでも要件は満たせるため、あまり利用されることはありません。
authNoPriv(認証有り・暗号化無し)
下記の設定を行うことで、「認証有り・暗号化無し」のリクエストを受け付けることができます。
snmp-server group [グループ名] v3 auth
snmp-server user [ユーザー名] [グループ名] v3 auth [md5|sha] [認証パスワード]
authNoPrivの設定例
snmp-server group authgroup v3 auth
snmp-server user authuser authgroup v3 auth md5 authpass
Server[~]: snmpget -v3 -u authuser -a md5 -A authpass -l authNoPriv 192.168.1.100 1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: Router1
authPriv(認証有り・暗号化有り)
下記の設定を行うことで、「認証有り・暗号化有り」のリクエストを受け付けることができます。
snmp-server group [グループ名] v3 priv
snmp-server user [ユーザー名] [グループ名] v3 auth [md5|sha] [認証パスワード] priv [des|3des|aes [128|192|256]] [暗号化パスワード]
authPrivの設定例
snmp-server group privgroup v3 priv
snmp-server user privuser privgroup v3 auth sha authpass priv aes 128 privpass
Server[~]: snmpget -v3 -u privuser -a sha -A authpass -x aes -X privpass -l authPriv 192.168.1.100 1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: Router1
暗号化方式にAESを選択した場合、128/192/256ビットの選択ができますが、SNMPマネージャ側も選択したビット数に対応している必要があります。
Viewの設定(MIBへのアクセス制限)
下記の設定を行うことで、SNMPマネージャから参照されるMIBを制限することができます。
snmp-server view [ビュー名] [MIB名] [included|excluded]
snmp-server group [グループ名] v3 [noauth|auth|priv] read [ビュー名] write [ビュー名]
snmp-server user [ユーザー名] [グループ名] v3 auth [md5|sha] [認証パスワード] priv [des|3des|aes [128|192|256]] [暗号化パスワード]
Viewの設定例(noAuthNoPrivの例)
システム情報MIB(1.3.6.1.2.1.1)の取得のみに制限する場合は、下記の設定を行います。
snmp-server view sysview system included
snmp-server group viewgroup v3 noauth read sysview
snmp-server user viewuser viewgroup v3
システム情報の取得 → OK
Server[~]: snmpget -v3 -u viewuser -l noAuthNoPriv 192.168.1.100 1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: Router1
インターフェース情報の取得 → NG
Server[~]: snmpwalk -v3 -u viewuser -l noAuthNoPriv 192.168.1.100 1.3.6.1.2.1.2.2.1.2
IF-MIB::ifDescr = No more variables left in this MIB View (It is past the end of the MIB tree)
SNMPv2cでは、RO(Read-only)かRW(Read-write)のどちらかの選択でしたが、SNMPv3では、MIB毎に柔軟にアクセス権を設定できます。
SNMPトラップを送信する設定
下記4パターンでのトラップ送信の設定方法を説明します。
パターン | 認証 | 暗号化 | 再送 |
---|---|---|---|
パターン1 | 有り | 無し | 無し |
パターン2 | 有り | 有り | 無し |
パターン3 | 有り | 無し | 有り |
パターン4 | 有り | 有り | 有り |
SNMPトラップの設定(認証有り・暗号化無し・再送無し)
下記の設定を行うことで、「認証有り・暗号化無し・再送無し」のSNMPトラップを送信することができます。
snmp-server group [グループ名] v3 auth
snmp-server user [ユーザー名] [グループ名] v3 auth [md5|sha] [認証パスワード]
snmp-server host [SNMPマネージャのIPアドレス] version 3 auth [ユーザー名]
snmp-server enable traps [有効にするトラップ名]
「認証有り・暗号化無し・再送無し」のSNMPトラップを送信する設定例
snmp-server group authgroup v3 auth
snmp-server user authuser authgroup v3 auth sha authpass
snmp-server host 192.168.1.6 version 3 auth authuser
snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
下記のデバッグを実行することで、SNMPパケットの送受信状況とヘッダー情報が確認できます。
debug snmp packets
debug snmp headers
Gi0/3をシャットダウンします。
Router1(config)#int Gi0/3
Router1(config-if)#shutdown
デバッグログの確認
10:21:28.350: v3 packet security model: v3 security level: auth
10:21:28.351: username: authuser
10:21:28.352: snmpEngineID: 8000000903005254001DD983
10:21:28.353: SNMP: V2 Trap, reqid 107, errstat 0, erridx 0
10:21:28.601: SNMP: Packet sent via UDP to 192.168.1.6
「security level: auth」でSNMPトラップが送信されていることがわかります。
SNMPトラップの設定(認証有り・暗号化有り・再送無し)
下記の設定を行うことで、「認証有り・暗号化有り・再送無し」のSNMPトラップを送信することができます。
snmp-server group [グループ名] v3 auth
snmp-server user [ユーザー名] [グループ名] v3 auth [md5|sha] [認証パスワード] priv [des|3des|aes [128|192|256]] [暗号化パスワード]
snmp-server host [SNMPマネージャのIPアドレス] version 3 auth [ユーザー名]
snmp-server enable traps [有効にするトラップ名]
「認証有り・暗号化有り・再送無し」のSNMPトラップを送信する設定例
snmp-server group authgroup v3 priv
snmp-server user authuser authgroup v3 auth sha authpass priv aes 128 privpass
snmp-server host 192.168.1.6 version 3 priv authuser
snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
下記のデバッグを実行することで、SNMPパケットの送受信状況とヘッダー情報が確認できます。
debug snmp packets
debug snmp headers
Gi0/3をシャットダウンします。
Router1(config)#int Gi0/3
Router1(config-if)#shutdown
デバッグログの確認
10:25:01.843: v3 packet security model: v3 security level: priv
10:25:01.844: username: authuser
10:25:01.845: snmpEngineID: 8000000903005254001DD983
10:25:01.846: SNMP: V2 Trap, reqid 109, errstat 0, erridx 0
10:25:02.094: SNMP: Packet sent via UDP to 192.168.1.2
「security level: priv」でSNMPトラップが送信されていることがわかります。
SNMPトラップの設定(認証有り・暗号化無し・再送有り)
下記の設定を行うことで、「認証有り・暗号化無し・再送有り」のSNMPトラップを送信することができます。
snmp-server engineID remote [SNMPマネージャのIPアドレス] [エンジンID]
snmp-server group [グループ名] v3 auth
snmp-server user [ユーザー名] [グループ名] v3 auth [md5|sha] [認証パスワード]
snmp-server host [SNMPマネージャのIPアドレス] version 3 auth [ユーザー名]
snmp-server enable traps [有効にするトラップ名]
再送有りのトラップ(Inform Request)を送信するためには、送信先に通知するエンジンIDを明示的に設定します。上記設定の場合、「show snmp engineID」で確認できるローカルIDと合わせる必要があります。
「認証有り・暗号化無し・再送有り」のSNMPトラップを送信する設定例
マネージャから応答が有る場合
マネージャーから応答が無い場合
snmp-server engineID remote 192.168.1.6 8000000903005254001DD983
snmp-server group authgroup v3 auth
snmp-server user authuser authgroup v3 auth sha authpass
snmp-server host 192.168.1.6 informs version 3 auth authuser
snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
下記のデバッグを実行することで、SNMPパケットの送受信状況とヘッダー情報が確認できます。
debug snmp packets
debug snmp headers
Gi0/3をシャットダウンします。
Router1(config)#int Gi0/3
Router1(config-if)#shutdown
デバッグログの確認
11:01:27.168: v3 packet security model: v3 security level: auth
11:01:27.169: username: authuser
11:01:27.170: snmpEngineID: 8000000903005254001DD983
11:01:27.170: SNMP: Inform request, reqid 42, errstat 0, erridx 0
11:01:27.176: SNMP: Packet sent via UDP to 192.168.1.6.162
「security level: auth」でSNMPトラップ(Inform request)が送信されていることがわかります。
SNMPトラップの設定(認証有り・暗号化有り・再送有り)
下記の設定を行うことで、「認証有り・暗号化有り・再送有り」のSNMPトラップを送信することができます。
snmp-server engineID remote [SNMPマネージャのIPアドレス] [エンジンID]
snmp-server group [グループ名] v3 auth
snmp-server user [ユーザー名] [グループ名] v3 auth [md5|sha] [認証パスワード] priv [des|3des|aes [128|192|256]] [暗号化パスワード]
snmp-server host [SNMPマネージャのIPアドレス] version 3 auth [ユーザー名]
snmp-server enable traps [有効にするトラップ名]
再送有りのトラップ(Inform Request)を送信するためには、送信先に通知するエンジンIDを明示的に設定します。上記設定の場合、「show snmp engineID」で確認できるローカルIDと合わせる必要があります。
「認証有り・暗号化有り・再送有り」のSNMPトラップを送信する設定例
マネージャから応答が有る場合
マネージャーから応答が無い場合
snmp-server engineID remote 192.168.1.6 8000000903005254001DD983
snmp-server group authgroup v3 priv
snmp-server user authuser authgroup v3 auth sha authpass priv aes 128 privpass
snmp-server host 192.168.1.6 informs version 3 priv authuser
snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
下記のデバッグを実行することで、SNMPパケットの送受信状況とヘッダー情報が確認できます。
debug snmp packets
debug snmp headers
Gi0/3をシャットダウンします。
Router1(config)#int Gi0/3
Router1(config-if)#shutdown
デバッグログの確認
11:08:30.778: v3 packet security model: v3 security level: priv
11:08:30.780: username: authuser
11:08:30.780: snmpEngineID: 8000000903005254001DD983
11:08:30.781: SNMP: Inform request, reqid 44, errstat 0, erridx 0
11:08:30.787: SNMP: Packet sent via UDP to 192.168.1.6.162
「security level: priv」でSNMPトラップ(Inform request)が送信されていることがわかります。
以上で、Cisco機器のSNMP設定【SNMPv3】の説明は完了です!