🔐

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向け

Catalyst 9800向け

株式会社プログデンス
設定によりコメント欄が無効化されています