このドキュメントでは、 Simple Network Management Protocol(SNMP)を保護する方法について説明します。
このドキュメントに関する固有の要件はありません。
このドキュメントの情報は、Cisco IOS®ソフトウェアリリースで導入されたSNMP View(SNMPv)およびSNMPバージョン3(SNMPv3)などのSNMP機能に基づいています。 一部の設定例とコマンド構文はCisco IOS®に基づいていますが、コアSNMPセキュリティの概念は新しいCisco IOS XEプラットフォームにも適用されます。 コマンド構文、サポートされている認証およびプライバシーアルゴリズム、プラットフォーム機能、管理プレーン保護機能は、Cisco IOSとCisco IOS XEのリリースによって異なります。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
不正なSNMPアクセスによってデバイス情報が公開されたり、読み取り/書き込みアクセスが有効な場合に設定の変更が許可されたり、サービス拒否(DoS)状態が発生したりする可能性があるため、SNMPを保護することは重要です。
SNMPv1やSNMPv2cなどの以前のSNMPバージョンは、アクセス制御にコミュニティストリングを使用します。これらのコミュニティストリングは、共有パスワードと同様に機能しますが、クリアテキストで送信され、強力な認証や暗号化を提供しません。コミュニティストリングが再利用されたり、コンフィギュレーションファイルに公開されたり、ネットワークからキャプチャされたりすると、不正ユーザがデバイス情報をポーリングしたり、読み取り/書き込みコミュニティの場合はデバイス設定を変更したりする可能性があります。
最も一般的なSNMPv1/v2cセキュリティの制限事項には次のものがあります。
セキュアな導入では、認証とプライバシーをサポートするSNMPv3を使用します。SNMPv3はユーザベースの認証と暗号化を提供し、アクセスコントロールと管理データの両方を保護します。さらに、信頼できる管理ステーションへのSNMPアクセスを制限したり、不要な読み取り/書き込みアクセスを回避したり、SNMPビューを使用してアクセス可能なMIBオブジェクトを制限したりできます。
注:実稼働ネットワークに導入する前に、特定のプラットフォームとソフトウェアリリースの正確なコマンドラインインターフェイス(CLI)設定、機能サポート、および検証コマンドを検証してください。
publicやprivateなどの既知のコミュニティストリングは使用しないでください。互換性のためにSNMPv1またはSNMPv2cが必要な場合は、一意で明白ではないコミュニティストリングを使用し、ACLで制限し、特定の運用要件がない限り読み取り/書き込みコミュニティを避けてください。
注:セキュアな導入では、authPrivを使用するSNMPv3が優先されます。authPrivレベルは、認証と暗号化の両方を提供します。認証は、SNMPメッセージが有効なSNMPv3ユーザから送信されていることを確認し、プライバシーはSNMPペイロードを暗号化するため、管理データはクリアテキストで送信されません。
SNMPビューは、特定のMIBサブツリーへのアクセスを制限します。ビューがコミュニティまたはSNMPv3グループに適用されると、含まれているMIBオブジェクトだけにアクセスできます。含まれていないMIBサブツリーは、暗黙的に拒否されます。より広い包含サブツリーから特定のサブツリーを明示的に除外することもできます。
SNMPビューエントリを作成または更新するには、snmp-server viewグローバルコンフィギュレーションコマンドを使用します。指定された SNMP サーバ ビューのエントリを削除するには、このコマンドの no 形式を使用します。
snmp-server viewno snmp-server view {included | excluded}
構文の説明:
myview-name:更新または作成するビューレコードのラベル。この名前は、レコードを参照するために使用します。
oid-tree:ビューに含める、またはビューから除外する抽象構文記法1(ASN.1)サブツリーのオブジェクト識別子(OID)。サブツリーを識別するには、1.3.6.2.4などの数字で構成されるテキスト文字列またはsystemなどの単語を指定します。 1つのサブ識別子をアスタリスク(*)ワイルドカードに置き換えて、サブツリーファミリ(1.3.*.4など)を指定します。
included or excluded:ビューのタイプ。included または excluded のいずかを指定します。
RFC 1447を含むレガシーSNMPのドキュメントでは、MIBツリーのどの部分をSNMPアクセスに含めるか、またはSNMPアクセスから除外するかを制御するためにMIBビューの概念が導入されています。RFC 1447とそのパーティベースのSNMPv2セキュリティモデルは廃止されましたが、MIBビューの概念は、RFC 3415で定義されているView-based Access Control Model(VACM)を通じて現在のSNMPに関連性を持ち続けています。Cisco SNMPビューは、この概念を使用して、特定のMIBサブツリーへのアクセスを制限します。SNMPビューは、SNMPv1/v2cコミュニティまたはSNMPv3グループに適用できます。
次の例では、MIB-II のシステム グループの sysServices(System 7)を除いたすべてのオブジェクトと、 MIB-II のインターフェイス グループのインターフェイス 1 のすべてのオブジェクトを含むビューを作成します。
snmp-server view agon system included snmp-server view agon system.7 excluded snmp-server view agon ifEntry.*.1 included
この例では、ビューはMIB-IIおよびCiscoプライベートMIBオブジェクトへのアクセスを許可しますが、atEntryで表されるARPテーブルは除外します。
snmp-server view myview mib-2 included snmp-server view myview atEntry excluded snmp-server view myview cisco included snmp-server community C1sc03xample view myview RO 11 snmp-server community C1sc03xample2 view myview RW 11 snmp-server contact ciscouser@cisco.com
注:これらの例の一部は、atTableやatEntryなどのCisco IOSリリースの古いMIBオブジェクトを参照しています。新しいCisco IOS XEプラットフォームでは、同等のデータに異なるMIBオブジェクトまたはOIDを使用できます。
注:SNMPビューを導入する前に、MIBオブジェクト名またはOIDがターゲットプラットフォームおよびソフトウェアリリースに存在することを確認してください。詳細については、SNMPオブジェクトナビゲータを使用してください。
SNMPv1またはSNMPv2cが必要な場合は、ACLを使用して、各コミュニティストリングを信頼できるネットワーク管理システム(NMS)アドレスに制限します。SNMPコミュニティに関連付けられたACLは、どの送信元IPアドレスがそのコミュニティストリングを使用してSNMP要求をデバイスに送信できるかを制御します。
SNMP通信には一般に、次の2種類のトラフィックが含まれます。
ポーリング要求とトラップ通知には、異なるコミュニティストリングを使用します。この分離により、1つのコミュニティストリングが検出された場合の漏洩が制限されます。たとえば、攻撃者が通知パケットからトラップコミュニティストリングを学習した場合、このストリングではデバイスへのSNMPポーリングアクセスも許可しないようにする必要があります。
access-list 10 permit
snmp-server community RO 10
snmp-server host version 2c
この例では、
トラップコミュニティストリングが設定されている場合は、意図せずにSNMPポーリングアクセスを許可していないことを確認します。一部のCisco IOSソフトウェアリリースでは、明示的に制限または無効にしない限り、トラップに使用されるコミュニティストリングもSNMPアクセスに使用できます。
trapコミュニティストリングを使用してポーリングアクセスを防止するには、SNMPコミュニティとしての使用を明示的に拒否します。
access-list 99 deny any
snmp-server community RO 99
特定の運用要件がない限り、読み取り/書き込みコミュニティの設定は避けてください。読み取り/書き込みアクセスが必要な場合は、専用の管理ステーションに制限し、別のコミュニティストリングを使用して、制限付きACLを適用します。セキュアな導入のために、認証とプライバシーを備えたSNMPv3を優先
セキュアなSNMP展開のために、認証とプライバシーを備えたSNMPv3を使用します。SNMPv3は、コミュニティストリングに依存するSNMPv1およびSNMPv2cとは異なり、ユーザベースの認証と暗号化を提供します。
セキュアな導入では、SNMPv3 authPrivセキュリティレベルを使用します。
注:アルゴリズムのサポートは、シスコのプラットフォームとソフトウェアリリースによって異なります。認証にはSHAまたはSHA-2、プライバシーにはAESなど、デバイスでサポートされる最も強力な認証およびプライバシーアルゴリズムを使用します。
SNMPv3の設定手順
デバイスのポーリングを許可するネットワーク管理システム(NMS)を決定します。
値の例
注:信頼できる管理ステーションだけがSNMPサービスへのアクセスを許可されている必要があります。
信頼できるNMSからのSNMPアクセスのみを許可するACLを作成します。
例:
access-list 10 permit access-list 10 deny any log
このACLは、SNMPv3グループを使用できる送信元IPアドレスを制限します。deny any logエントリは、syslogで不正なSNMPアクセスの試みを特定するのに役立ちます。
SNMP viewを作成して、SNMPv3ユーザがアクセスできるMIBオブジェクトを制限します。
例:
snmp-server view mib-2 included
snmp-server view cisco included
この例では、MIB-IIサブツリーとCiscoプライベートMIBオブジェクトへのアクセスが許可されています。より限定的なビューが必要な場合は、機密のMIBサブツリーや不要なMIBサブツリーを明示的に除外します。
例:
snmp-server view excluded
注:SNMPビューを使用すると、NMSがモニタリングに必要なMIBオブジェクトにのみアクセスできるようになるため、問題が発生する可能性が低くなります。
privセキュリティレベルを使用し、SNMPビューとACLを参照するSNMPv3 グループを作成します。
例:
snmp-server group v3 priv read access 10
このコマンドでは、次の3つの重要な処理を行います。
注:モニタリングのほとんどの使用例では、通常は読み取り専用アクセスで十分です。特定の動作要件がある場合にのみ、書き込みアクセスを設定します。
SNMPv3 ユーザを作成して、SNMPv3グループに割り当てます。
例:
snmp-server user v3 auth sha priv aes 256
このコマンドでは、次のユーザが作成されます。
注:認証とプライバシーには、強力な一意のパスワードを使用してください。両方の値に同じパスワードを再利用しないでください。
注:新しいプラットフォームで、SHA-2やより強力なAESバリアントなど、より強力なオプションがサポートされる場合は、デバイスとNMSでサポートされる最も強力なオプションを使用してください。
デバイスがNMSに通知を送信する必要がある場合は、SNMPv3を使用してSNMP ホストを設定します。
例:
snmp-server host version 3 priv
トラップとインフォームは、デバイスからNMSに送信される通知です。これらは、NMSがデバイスにSNMPクエリを送信するポーリング要求とは異なります。SNMPv3通知を使用すると、トラップまたはインフォームのトラフィックでも認証とプライバシーの利点を得ることができます。
必要に応じて、トラップの発信元インターフェイスも設定します。
snmp-server trap-source
注:一貫したトラップソースを使用すると、NMSがデバイスを識別し、ファイアウォールまたはACLが予測可能な送信元アドレスと一致できるようになります。
SNMPv1またはSNMPv2cが不要な場合は、コミュニティストリングを設定したり、未使用のコミュニティストリングを削除したりしないでください。
例:
no snmp-server community
注:クリアテキストのコミュニティストリングを使用した不正なSNMPアクセスのリスクを軽減できます。
次の設定の一部は、NMS 10.189.5.161からのSNMPv3ポーリングのみを許可し、SNMPビューで読み取り可能なMIBオブジェクトを制限し、認証と暗号化を必要とする例を示しています。
Router#configure terminal
Router(config)#access-list 10 permit 10.189.5.161
Router(config)#access-list 10 deny any log
Router(config)#!
Router(config)#snmp-server view ciscoview mib-2 included
Router(config)#snmp-server view ciscoview cisco included
Router(config)#snmp-server view ciscoview ipNetToMediaEntry.2 excluded
Router(config)#snmp-server group myciscogroup v3 priv read ciscoview access 10
Router(config)#snmp-server user ciscouser myciscogroup v3 auth sha C1sc03xampl3 priv aes 256 C1sc03xampl32
ローカルSNMP設定を確認するには、次のコマンドを使用します。
show snmp user(隠しコマンド)
show snmp group(隠しコマンド)
show snmp view(snmpビューの表示)
show snmp(隠しコマンド)
show ip access-lists(隠しコマンド)
show running-config | section snmp
ISP-C#show snmp user
User name: ciscouser
Engine ID: 80000009030000A38EB6F800
storage-type: nonvolatile active
Authentication Protocol: SHA
Privacy Protocol: AES256
Group-name: myciscogroup
ISP-C#show snmp group
groupname: ILMI security model:v1
contextname: storage-type: permanent
readview : *ilmi writeview: *ilmi
notifyview:
row status: active
groupname: ILMI security model:v2c
contextname: storage-type: permanent
readview : *ilmi writeview: *ilmi
notifyview:
row status: active
groupname: myciscogroup security model:v3 priv
contextname: storage-type: nonvolatile
readview : ciscoview writeview:
notifyview:
row status: active access-list: 10
ISP-C#show snmp view
*ilmi system - included permanent active
*ilmi atmForumUni - included permanent active
cac_view pimMIB - included read-only active
cac_view msdpMIB - included read-only active
cac_view system - included read-only active
cac_view interfaces - included read-only active
cac_view ip - included read-only active
cac_view ospf - included read-only active
cac_view bgp - included read-only active
cac_view ifMIB - included read-only active
cac_view nhrpMIB - included read-only active
cac_view ipMRouteStdMIB - included read-only active
cac_view igmpStdMIB - included read-only active
cac_view pimStdMIB - included read-only active
cac_view mgmdStdMIB - included read-only active
cac_view ospfv3MIB - included read-only active
cac_view ipForward - included read-only active
cac_view ipTrafficStats - included read-only active
cac_view ospfTrap - included read-only active
cac_view sysUpTime.0 - included read-only active
cac_view ciscoPingMIB - included read-only active
cac_view ciscoPimMIB - included read-only active
cac_view ciscoBgp4MIB - included read-only active
cac_view ciscoIfExtensionMIB - included read-only active
cac_view ciscoEigrpMIB - included read-only active
cac_view ciscoCefMIB - included read-only active
cac_view ciscoNhrpExtMIB - included read-only active
cac_view ciscoIpMRouteMIB - included read-only active
cac_view ciscoDlcSwitchMIB - included read-only active
cac_view ciscoExperiment.101 - included read-only active
cac_view ciscoIetfIsisMIB - included read-only active
cac_view ifIndex - included read-only active
cac_view ifDescr - included read-only active
cac_view ifType - included read-only active
cac_view ifAdminStatus - included read-only active
cac_view ifOperStatus - included read-only active
cac_view snmpTraps.3 - included read-only active
cac_view snmpTraps.4 - included read-only active
cac_view snmpTrapOID.0 - included read-only active
cac_view snmpMIB.1.4.3.0 - included read-only active
cac_view lifEntry.20 - included read-only active
cac_view cciDescriptionEntry.1 - included read-only active
ciscoview mib-2 - included nonvolatile active
ciscoview cisco - included nonvolatile active
ciscoview ipNetToMediaEntry.2 - excluded nonvolatile active
v1default iso - included permanent active
v1default internet - included permanent active
v1default snmpUsmMIB - excluded permanent active
v1default snmpVacmMIB - excluded permanent active
v1default snmpCommunityMIB - excluded permanent active
ISP-C#show ip access-lists
Standard IP access list 10
10 permit 10.189.5.161 (26 matches)
20 deny any log (6 matches)
Extended IP access list meraki-fqdn-dns
ISP-C#show running-config | section snmp
snmp-server group myciscogroup v3 priv read ciscoview access 10
snmp-server view ciscoview mib-2 included
snmp-server view ciscoview cisco included
snmp-server view ciscoview ipNetToMediaEntry.2 excluded
MIB-IIシステムツリーに対してSNMPウォークを実行することもできます。
ciscouser@Desktop % snmpwalk -v3 -l authPriv -u ciscouser -a SHA -A 'C1sc03xampl3' -x AES -X 'C1sc03xampl32' 10.207.214.25 system
SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software [Cupertino], ASR1000 Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.9.4, RELEASE SOFTWARE (fc5)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2023 by Cisco Systems, Inc.
Compiled Wed 26-Jul-23 10:29 b
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.2348
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (107487239) 12 days, 10:34:32.39
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: ISP-C
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 78
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
次のコマンドと出力は、ipNetToMediaEntry.2グループを取得できないことを示しています。
ciscouser@Desktop % snmpwalk -v3 -l authPriv -u ciscouser -a SHA -A 'C1sc03xampl3' -x AES -X 'C1sc03xampl32' 10.207.214.25 ipNetToMediaEntry.2
IP-MIB::ipNetToMediaPhysAddress = No Such Object available on this agent at this OID
次のコマンドと出力結果は、Cisco Local System groupのものです。
ciscouser@Desktop % snmpwalk -v3 -l authPriv -u ciscouser -a SHA -A 'C1sc03xampl3' -x AES -X 'C1sc03xampl32' 10.207.214.25 .1.3.6.1.4.1.9.2.1
SNMPv2-SMI::enterprises.9.2.1.1.0 = STRING: "
17.15(4r)
"
SNMPv2-SMI::enterprises.9.2.1.2.0 = STRING: "LocalSoft"
SNMPv2-SMI::enterprises.9.2.1.3.0 = STRING: "ISP-C"
SNMPv2-SMI::enterprises.9.2.1.4.0 = ""
SNMPv2-SMI::enterprises.9.2.1.5.0 = IpAddress: 10.189.5.161
SNMPv2-SMI::enterprises.9.2.1.6.0 = IpAddress: 0.0.0.0
SNMPv2-SMI::enterprises.9.2.1.8.0 = INTEGER: -796648892
SNMPv2-SMI::enterprises.9.2.1.9.0 = INTEGER: 1646
SNMPv2-SMI::enterprises.9.2.1.10.0 = INTEGER: 1000
SNMPv2-SMI::enterprises.9.2.1.11.0 = INTEGER: 1557645
SNMPv2-SMI::enterprises.9.2.1.12.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.13.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.14.0 = INTEGER: 104
SNMPv2-SMI::enterprises.9.2.1.15.0 = INTEGER: 1200
SNMPv2-SMI::enterprises.9.2.1.16.0 = INTEGER: 1200
SNMPv2-SMI::enterprises.9.2.1.17.0 = INTEGER: 2500
SNMPv2-SMI::enterprises.9.2.1.18.0 = INTEGER: 2684018
SNMPv2-SMI::enterprises.9.2.1.19.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.20.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.21.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.22.0 = INTEGER: 600
SNMPv2-SMI::enterprises.9.2.1.23.0 = INTEGER: 900
SNMPv2-SMI::enterprises.9.2.1.24.0 = INTEGER: 900
SNMPv2-SMI::enterprises.9.2.1.25.0 = INTEGER: 2000
SNMPv2-SMI::enterprises.9.2.1.26.0 = INTEGER: 26757370
SNMPv2-SMI::enterprises.9.2.1.27.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.28.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.29.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.30.0 = INTEGER: 1536
SNMPv2-SMI::enterprises.9.2.1.31.0 = INTEGER: 900
SNMPv2-SMI::enterprises.9.2.1.32.0 = INTEGER: 899
SNMPv2-SMI::enterprises.9.2.1.33.0 = INTEGER: 1800
SNMPv2-SMI::enterprises.9.2.1.34.0 = INTEGER: 8891131
SNMPv2-SMI::enterprises.9.2.1.35.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.36.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.37.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.38.0 = INTEGER: 5024
SNMPv2-SMI::enterprises.9.2.1.39.0 = INTEGER: 100
SNMPv2-SMI::enterprises.9.2.1.40.0 = INTEGER: 100
SNMPv2-SMI::enterprises.9.2.1.41.0 = INTEGER: 300
SNMPv2-SMI::enterprises.9.2.1.42.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.43.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.44.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.45.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.46.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.47.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.48.0 = IpAddress: 0.0.0.0
SNMPv2-SMI::enterprises.9.2.1.49.0 = ""
SNMPv2-SMI::enterprises.9.2.1.51.0 = IpAddress: 0.0.0.0
SNMPv2-SMI::enterprises.9.2.1.52.0 = ""
SNMPv2-SMI::enterprises.9.2.1.56.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.57.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.58.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.59.0 = INTEGER: 4972
SNMPv2-SMI::enterprises.9.2.1.60.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.61.0 = STRING: "cisco Systems, Inc.
170 West Tasman Dr.
San Jose, CA 95134-1706
U.S.A.
Ph +1-408-526-4000
Customer service 1-800-553-6387 or +1-408-526-7208
24HR Emergency 1-800-553-2447 or +1-408-526-7209
Email Address tac@cisco.com
World Wide Web http://www.cisco.com"
SNMPv2-SMI::enterprises.9.2.1.62.0 = INTEGER: 18024
SNMPv2-SMI::enterprises.9.2.1.63.0 = INTEGER: 20
SNMPv2-SMI::enterprises.9.2.1.64.0 = INTEGER: 20
SNMPv2-SMI::enterprises.9.2.1.65.0 = INTEGER: 33
SNMPv2-SMI::enterprises.9.2.1.66.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.67.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.68.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.69.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.70.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.71.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.72.0 = IpAddress: 0.0.0.0
SNMPv2-SMI::enterprises.9.2.1.73.0 = STRING: "bootflash:asr1000-universalk9.17.09.04.SPA.bin"
SNMPv2-SMI::enterprises.9.2.1.74.0 = INTEGER: 3
インターフェイスACLは、デバイスインターフェイスにSNMPトラフィックを送信できるホストを制限する追加の保護レイヤとして役立ちます。これらは、コントロールプレーンポリシング(CoPP)や管理プレーンACLなど、より対象を絞ったコントロールプレーン保護機能をサポートしていないプラットフォームで特に役立ちます。
不正なSNMPパケットはデバイスで処理される前にインターフェイスACLによってブロックされるため、不要なポーリング、ブルートフォースコミュニティストリングの試み、または信頼できない送信元からの過剰なSNMPトラフィックにさらされる可能性が低減されます。
注意:インターフェイスACLを適用するときは注意してください。ip access-groupが適用されたACLは、選択された方向のトラフィックをフィルタリングし、ルータ宛てのトラフィックとトランジットトラフィックの両方に影響を与える可能性があります。必要なすべてのpermit文を必ず含め、実稼働導入の前にメンテナンスウィンドウまたはラボでACLを検証してください。
ip access-list extended SNMP-MGMT-IN permit udp host host eq snmp deny udp any host eq snmp log permit ip any any
その後、次の設定コマンドを使用して、ACLをすべてのインターフェイスに適用する必要があります。
interface ip access-group SNMP-MGMT-IN in
この例では、
注:この例は、ネットワーク設計に適用できます。プラットフォームがCoPP、iACL、または管理プレーンACLをサポートしている場合、これらのオプションにより、より対象を絞ったコントロールプレーン保護を提供できます。多数のIPアドレスが設定されているデバイスや、ルータと通信する必要のある多数のホストの場合、これは常にスケーラブルなソリューションとは限りません。『コアの保護:インフラストラクチャ保護ACL』ドキュメントでは、ACLに関するガイドラインと推奨される配備方法について説明しています。
log キーワードを使用して、 SNMP コミュニティ ACL を設定します。次に示すように、失敗した試行のsyslogを監視します。
access-list 10 deny any log snmp-server communityRO 10
誰かがコミュニティpublicでルータにアクセスしようとすると、次のようなsyslogが表示されます。
%SEC-6-IPACCESSLOGS: list 10 denied 172.16.1.15 packet
この出力は、アクセスリスト10によってホスト172.16.1.15からの5つのSNMPパケットが拒否されたことを意味しています。
次のように、show snmpコマンドでSNMPにエラーがないかを定期的に確認します。
ISP-C#show snmp
Chassis: TKM21110169
186 SNMP packets input
0 Bad SNMP version errors 58 Unknown community name
0 Illegal operation for community name supplied
0 Encoding errors 115 Number of requested variables
0 Number of altered variables
2 Get-request PDUs
113 Get-next PDUs
0 Set-request PDUs
0 Input queue packet drops (Maximum queue size 1000)
126 SNMP packets output
0 Too big errors (Maximum packet size 1500)
0 No such name errors
0 Bad values errors
0 General errors
0 Response PDUs
0 Trap PDUs
Packets currently in SNMP process input queue: 0
SNMP global trap: disabled
SNMP logging: disabled
強調表示されているカウンタを監視し、これらの脆弱性の不正利用が試みられたことを示す可能性がある、エラー率の予期しない増加を確認します。セキュリティ問題を報告するには、『シスコのセキュリティ問題対応製品』を参照してください。
| 改定 | 発行日 | コメント |
|---|---|---|
4.0 |
14-Jul-2026
|
再認定 – 更新された技術情報とフォーマット。 |
3.0 |
14-Mar-2024
|
再認定 |
2.0 |
16-Jan-2023
|
正しい使用方法。CCWアラートを修正します。再認定 |
1.0 |
22-Feb-2002
|
初版 |