Cisco IOS XEにおいてSNMPv3ユーザーがコンフィグに表示されないケース
Cisco IOS XEにおける「パスワードありのSNMPv3ユーザー」は機微な情報となるためコンフィグ (running-config/startup-config)には表示されません。
そのため、障害に伴う筐体交換時のリストア作業では、SNMPv3ユーザーの再設定が必要になります。

本挙動に関してはRFC 3414の「11.2 Defining Users」にて、次のように言及されています。
Note however, that if user's password is disclosed, then key localization will not help and network security may be compromised in this case.
Therefore a user's password or non-localized key MUST NOT be stored on a managed device/node.
備考: 原文から余分な改行や空白を削除して読みやすくしています。
この仕様に基づき、Cisco IOS XEではユーザーの平文パスワード (Non-localized key)をコンフィグ上には直接保存せず、Engine IDとパスワードを基に生成されたLocalized Keyのみを内部的に保持する実装となっており、RFC 3414の要件に準拠した動作であると考えられます。
検証時の環境
本記事の内容は下記の環境で検証を行っております。
- Catalyst 8000V (Cisco Modeling Labs版) v17.15.1a
- Catalyst 9800-CL (vSphere版) v17.15.3
検証時のログ
パスワードの有無で「show running-config all」に表示されるかを検証した際のログです。
パスワードなし
パスワードなしの場合は、コンフィグに表示されています。
IOS-XE(config)# snmp-server user USER GROUP v3
IOS-XE(config)#
IOS-XE(config)# end
IOS-XE#
*Nov 3 00:50:39.197: %SYS-5-CONFIG_I: Configured from console by console
IOS-XE#
IOS-XE# show running-config all | include snmp-server user
snmp-server user USER GROUP v3
IOS-XE#
パスワードあり
パスワードありの場合は、コンフィグには表示されません。(非表示)
IOS-XE(config)# snmp-server user USER GROUP v3 auth sha-2 512 AUTH-PASS priv aes 256 PRIV-PASS
IOS-XE(config)#
IOS-XE(config)# end
IOS-XE#
*Nov 3 00:38:36.309: %SYS-5-CONFIG_I: Configured from console by console
IOS-XE#
IOS-XE# show running-config all | include snmp-server user
IOS-XE#
パスワードありのSNMPv3ユーザーの確認方法
パスワードありのSNMPv3ユーザーの存在は show snmp user コマンドで確認できます。ただし、パスワード自体はセキュリティ上の理由から表示されません。
IOS-XE# show snmp user
User name: USER
Engine ID: 800000090300525400A364AD
storage-type: nonvolatile active
Authentication Protocol: SHA512
Privacy Protocol: AES256
Group-name: GROUP
IOS-XE#
出力中の Engine ID の項目が示すとおり、SNMPv3ユーザーの認証情報はデバイス固有のLocal Engine IDをもとにLocalized Keyとして暗号化されています。そのため、ユーザー作成後に snmp-server engineID local <engineID> コマンドで Engine ID を変更すると、既存ユーザーはEngine IDが一致しなくなり、認証が通らなくなります。
「Localized Key」に関しては、RFC 3414の「2.6. Key Localization Algorithm.」で言及されています。
コンフィグに非表示のSNMPv3ユーザーの削除方法

「(パスワードが設定されていて)コンフィグに非表示になっているSNMPv3ユーザー」を削除したい場合は、 show snmp user で対象のユーザー名とグループを確認して no で削除します。
削除後は、該当のSNMPv3ユーザーが削除されているのを確認します。
show snmp user
configure terminal
no snmp-server user <Username> <Group> v3
end
show snmp user
<Username> と <Group> の部分は、対象のSNMPv3ユーザーに応じて書き換えます。
関連ドキュメント
IOS XE Router向け
-
v3に限らないSNMP全般の設定は下記のドキュメントで扱われています。
SNMP Configuration Guide, Cisco IOS XE 17 - Cisco
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-17-x/snmp-xe-17-book.html -
その中でもSNMPv3の設定に言及しているのは下記のドキュメントです。
SNMP Configuration Guide, Cisco IOS XE 17 - Configuring SNMP Support [Cisco 1000 Series Integrated Services Routers] - Cisco
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-17-x/snmp-xe-17-book/nm-snmp-cfg-snmp-support.html -
上述のドキュメントのカテゴリは「Cisco 1000 Series」になっておりますが、下記のCisco IOS XE 17のドキュメントからリンクされております。
Cisco IOS XE 17 - Configuration Guides - Cisco
https://www.cisco.com/c/en/us/support/ios-nx-os-software/ios-xe-17/products-installation-and-configuration-guides-list.html
Catalyst 9800向け
-
Best Practicesのセクション「Configuration file management」でSNMPv3ユーザーのバックアップに関して言及があります。
Cisco Catalyst 9800 Series Configuration Best Practices - Cisco
https://www.cisco.com/c/en/us/td/docs/wireless/controller/9800/technical-reference/c9800-best-practices.html- SNMP v3 users are not part of the configuration file so will not be copied. Add snmpv3 users back using the below command:
snmp-server user <username> <group> v3 auth sha <password> priv aes 128 <password>
- SNMP v3 users are not part of the configuration file so will not be copied. Add snmpv3 users back using the below command:
-
Catalyst 9800はWeb UIから設定変更するケースも多々あるため、下記のスクリーンショット付きのドキュメントも参考になります。(英語版と日本語翻訳があります。)
-
英語版
Monitor Catalyst 9800 WLC via SNMP with OIDs - Cisco
https://www.cisco.com/c/en/us/support/docs/wireless/catalyst-9800-series-wireless-controllers/217460-monitor-catalyst-9800-wlc-via-snmp-with.html -
日本語翻訳版
OIDによるSNMP経由のCatalyst 9800 WLCのモニタ - Cisco
https://www.cisco.com/c/ja_jp/support/docs/wireless/catalyst-9800-series-wireless-controllers/217460-monitor-catalyst-9800-wlc-via-snmp-with.html
-