この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目次
この章の内容は、次のとおりです。
ACL は、トラフィックをフィルタリングするための順番に並べられた一連のルールです。 デバイスは、パケットを適用する ACL を決定する際に、パケットをルールに対してテストしていきます。 最初に一致したルールで、そのパケットが許可されるか拒否されるかが決定されます。 一致するルールがない場合は、そのデバイスでのデフォルト ルールが適用されます。 デバイスは、許可されたパケットは処理し、拒否されたパケットは廃棄します。
ACL を使用すると、ネットワークおよび特定のホストを、不要なトラフィックや望ましくないトラフィックから保護できます。 たとえば、ACL を使用して、厳重にセキュリティ保護されたネットワークからインターネットに HyperText Transfer Protocol(HTTP; ハイパー テキスト トランスファ プロトコル)トラフィックが流入するのを禁止できます。 また、特定のサイトへの HTTP トラフィックだけを許可することもできます。その場合は、サイトの IP アドレスが、IP ACL に指定されているかどうかによって判定します。
ポート ACL をトランク ポートに適用すると、その ACL は、当該トランク ポート上のすべての VLAN 上のトラフィックをフィルタリングします。
レイヤ 2 トラフィックのフィルタリングでは、次のポート ACL のタイプがサポートされます。
ACL は次の順序で適用されます。
ACL によるネットワーク トラフィックのフィルタリング方法を設定する際に、何を作成、変更、削除するかを決めるのがルールです。 ルールは実行コンフィギュレーション内に表示されます。 ACL をインターフェイスに適用するか、またはインターフェイスにすでに適用されている ACL 内のルールを変更すると、スーパーバイザ モジュールは実行コンフィギュレーション内のルールから ACL のエントリを作成し、それらの ACL エントリを適用可能な I/O モジュールに送信します。
アクセス リスト コンフィギュレーション モードで permit または deny コマンドを使用すると、ACL にルールを作成できます。 これにより、デバイスは許可ルール内の基準と一致するトラフィックを許可し、拒否ルール内の基準と一致するトラフィックをブロックします。 ルールに一致するためにトラフィックが満たさなければならない基準を設定するためのオプションが多数用意されています。
各ルールには、ルールに一致するトラフィックの送信元と宛先を指定します。 指定する送信元および宛先には、特定のホスト、ホストのネットワークまたはグループ、あるいは任意のホストを使用できます。 送信元と宛先の指定方法は、IP ACL と MAC ACL のどちらを設定するかによって異なります。
IP ACL および MAC ACL では、トラフィックをプロトコルで識別できます。 一部のプロトコルは名前で指定できます。 たとえば、IP ACL では、ICMP を名前で指定できます。
プロトコルはすべて番号で指定できます。 MAC ACL では、プロトコルをそのプロトコルの Ethertype 番号(16 進数)で指定できます。 たとえば、MAC ACL ルールの IP トラフィックの指定に 0x0800 を使用できます。
IP ACL では、インターネット プロトコル番号を表す整数でプロトコルを指定できます。 たとえば、Layer 2 Tunneling Protocol(L2TP; レイヤ 2 トンネリング プロトコル)を指定するには、115 を使用します。
IP ACL および MAC ACL には暗黙ルールがあります。暗黙ルールは、実行コンフィギュレーションには設定されていませんが、ACL 内の他のルールと一致しない場合にデバイスがトラフィックに適用するルールです。 ACL のルール単位の統計情報を維持するようにデバイスを設定した場合、暗黙ルールの統計情報はデバイスに維持されません。
すべての IP ACL には、不一致の IP トラフィックを拒否する次の暗黙ルールがあります。
deny ip any any
すべての MAC ACL には、次の暗黙のルールがあります。
deny any any
この暗黙ルールによって、トラフィックのレイヤ 2 ヘッダーに指定されているプロトコルに関係なく、不一致トラフィックが確実に拒否されます。
追加のオプションを使用してトラフィックを識別できます。 これらのオプションは、ACL のタイプによって異なります。 次のリストには、ほとんどの追加フィルタリング オプションが含まれていますが、すべてを網羅しているわけではありません。
デバイスはルールのシーケンス番号をサポートしています。 入力するすべてのルールにシーケンス番号が割り当てられます(ユーザによる割り当てまたはデバイスによる自動割り当て)。 シーケンス番号によって、次の ACL 設定作業が容易になります。
switch(config-acl)# no permit tcp 10.0.0.0/8 anyこのルールに 101 番のシーケンス番号が付いていれば、次コマンドだけでルールを削除できます。
switch(config-acl)# no 101
シーケンス番号を使用せずにルールを入力すると、デバイスはそのルールを ACL の最後に追加し、そのルールの直前のルールのシーケンス番号よりも 10 大きい番号を割り当てます。 たとえば、ACL 内の最後のルールのシーケンス番号が 225 で、シーケンス番号を指定せずにルールを追加した場合、デバイスはその新しいルールにシーケンス番号 235 を割り当てます。
さらに、ACL 内のルールにシーケンス番号を再割り当てすることも可能です。 シーケンス番号の再割り当ては、ACL 内に、100、101 のように連続するシーケンス番号のルールがある場合、それらのルールの間に 1 つ以上のルールを挿入する必要があるときに便利です。
デバイスは IPv4 ACL および MAC ACL に設定する各ルールのグローバル統計を維持できます。 1 つの ACL が複数のインターフェイスに適用される場合、ルール統計には、その ACL が適用されるすべてのインターフェイスと一致する(ヒットする)パケットの合計数が維持されます。
(注) |
インターフェイスレベルの ACL 統計はサポートされていません。 |
設定する ACL ごとに、その ACL の統計情報をデバイスが維持するかどうかを指定できます。これにより、ACL によるトラフィック フィルタリングが必要かどうかに応じて ACL 統計のオン、オフを指定できます。また、ACL 設定のトラブルシューティングにも役立ちます。
デバイスには ACL の暗黙ルールの統計情報は維持されません。 たとえば、すべての IPv4 ACL の末尾にある暗黙の deny ip any any ルールと一致するパケットのカウントはデバイスに維持されません。 暗黙ルールの統計情報を維持する場合は、暗黙ルールと同じルールを指定した ACL を明示的に設定する必要があります。
アクセス コントロール リスト(ACL)のロギングを使用して、特定の ACL に影響するフローをモニタできます。 ACL は、アクセス コントロール エントリ(ACE)でそのオプションのログ キーワードを設定できます。 オプションを設定すると、入力した ACL の許可条件または拒否条件に一致する各フローの統計情報がソフトウェアで記録されます。
次のコマンドを入力して、ACL にログ オプションを適用できます。
switch(config)# ip access-list [name] switch(config-acl)# permit tcp any 156.10.3.44/24 log
暗黙拒否ルールは ACL のデフォルト アクションです。 暗黙拒否ルールに一致するパケットを記録するには、明示的な拒否ルールを作成し、ログ キーワードを追加する必要があります。
ACL のロギングが適用されるのは、ip access-list コマンドで設定された ACL だけです。 仮想スーパーバイザ モジュール(VSM)の管理インターフェイスやセレクタ(aaa authen match、qos match など)のような他のトラフィックは、記録されません。
統計情報およびロギングはフローごとに提供されます。 フローは次の IP フローによって定義されます。
スケーラビリティは次の機能によって提供されます。
ACL ロギングに関連する ACL フローには次の特性があります。
Syslog メッセージの特性は次のとおりです。
パラメータ |
デフォルト |
---|---|
IP ACL |
デフォルトの IP ACL は存在しません。 |
ACL ルール |
すべての ACL に暗黙のルールが適用されます。 |
デバイスに IPv4 ACL を作成し、これにルールを追加できます。
この手順を開始する前に、EXEC モードで CLI にログインする必要があります。
switch# configure terminal switch(config)# ip access-list acl-01 switch(config-acl)# permit ip 192.168.2.0/24 any switch(config-acl)# statistics per-entry switch(config-acl)# show ip access-lists acl-01 switch(config-acl)# copy running-config startup-config
既存の IPv4 ACL に対してルールの追加または削除を行うことができます。 既存のルールは変更できません。 ルールを変更するには、そのルールを削除してから、変更を加えたルールを再作成します。
既存のルールの間に新しいルールを挿入する必要がある場合で、現在のシーケンス番号の空き状況ではすべてを挿入できないときは、resequence コマンドを使用してシーケンス番号を再割り当てします。
この手順を開始する前に、EXEC モードで CLI にログインする必要があります。
switch# configure terminal switch(config)# ip access-list acl-01 switch(config-acl)# 100 permit ip 192.168.2.0/24 any switch(config-acl)# no 80 switch(config-acl)# statistics per-entry switch(config-acl)# show ip access-lists acl-01 switch(config-acl)# copy running-config startup-config
ACL を削除しても、適用されているインターフェイスの設定には影響しません。 デバイスは削除された ACL を空であると見なします。
この手順を開始する前に、次のことを確認してください。
switch# configure terminal switch(config)# no ip access-list acl-01 switch(config)# show ip access-lists acl-01 summary switch(config)# copy running-config startup-config
IP ACL 内のルールに付けられたすべてのシーケンス番号を変更できます。
この手順を開始する前に、EXEC モードで CLI にログインする必要があります。
switch# configure terminal switch(config)# resequence access-list ip acl-01 100 10 switch(config)# show ip access-lists acl-01 switch(config)# copy running-config startup-config
IPv4 または ACL をレイヤ 2 インターフェイスの物理ポートに適用してポート ACL を設定するには、次の手順を実行します。
IP ACL はポート プロファイルに設定することもできます。
この手順を開始する前に、次のことを確認してください。
switch# configure terminal switch(config)# interface vethernet 40 switch(config-if)# ip port access-group acl-l2-marketing-group in switch(config-if)# show running-config aclmgr switch(config-if)# copy running-config startup-config
IP ACL をポート プロファイルに追加するには、次の手順を実行します。
次の情報を知っている必要があります。
この手順を開始する前に、次のことを確認してください。
switch# configure terminal switch(config)# port-profile AccessProf switch(config-port-prof)# ip port access-group allaccess4 out switch(config-port-prof)# show port-profile name AccessProf switch(config-port-prof)# copy running-config startup-config
管理インターフェイス mgmt0 に IPv4 または ACL を適用するには、次の手順を実行します。
適用する ACL が存在し、目的に応じたトラフィック フィルタリングが設定されていることを確認します。
この手順を開始する前に、EXEC モードで CLI にログインする必要があります。
switch# configure terminal switch(config)# interface mgmt0 switch(config-if)# ip access-group telnet in switch(config-if)# show ip access-lists telnet summary IP access list telnet statistics per-entry Total ACEs Configured:2 Configured on interfaces: mgmt0 - ingress (Router ACL) Active on interfaces: mgmt0 - ingress (Router ACL) switch(config-if)# copy running-config startup-config
ACL ロギングは、すべての仮想イーサネット モジュール(VEM)で、デフォルトでイネーブルになっています。 また、次の事項も ACL ロギングの設定に適用されます。
次のコマンドを入力して、VEM での ACL ロギングをディセーブルにできます。
コマンド |
目的 |
---|---|
[no] logging ip access-list cache module vem |
指定された VEM での ACL ロギングをディセーブルにします。 |
Syslog サーバにレポートする前にパケット カウンタを累積する時間間隔を設定できます。 5 ~ 86,400 秒(1 日)の範囲の時間を秒単位で入力します。 デフォルトは 300 秒(5 分)です。
次のいずれかのコマンドを入力して、パケット カウンタを累積する時間を設定できます。
コマンド |
目的 |
---|---|
logging ip access-list cache interval secs |
Syslog サーバにレポートする前にパケット カウンタを累積する時間間隔を秒単位で設定します。num は秒数を示します。 |
[no] logging ip access-list cache interval secs |
デフォルトの時間間隔の設定である 300 秒(5 分)に設定を戻します。num は秒数を示します。 |
次に、時間間隔が経過すると定期的に送信される時間間隔の Syslog メッセージのフォーマットの例を示します。
ACL-LOGGING-6-PERMIT-FLOW-INTERVAL <VSM-id> <VEM-id> <protocol> <source-interface> <source-ip/source-port)> <destination-ip/destination-port> Hit-count = <nnn> ACL-LOGGING-6-DENY-FLOW-INTERVAL <VSM-id> <VEM-id> <protocol> <source-interface> <source-ip/source-port)> <destination-ip/destination-port> Hit-count = <nnn>
次に、時間間隔の条件が満たされると送信される時間間隔の Syslog メッセージのフォーマットの例を示します。
ACL-LOGGING-6-MAX-PERMIT-FLOW-REACHED: The number of ACL log permit-flows has reached 75% limit (<n>) ACL-LOGGING-6-MAX-PERMIT-FLOW-REACHED: The number of ACL log permit-flows has reached 90% limit (<n>) ACL-LOGGING-6-MAX-PERMIT-FLOW-REACHED: The number of ACL log permit-flows has reached 100% limit (<n>) ACL-LOGGING-6-MAX-DENY-FLOW-REACHED: The number of ACL log deny-flows has reached 75% limit (<n>) ACL-LOGGING-6-MAX-DENY-FLOW-REACHED: The number of ACL log deny-flows has reached 90% limit (<n>) ACL-LOGGING-6-MAX-DENY-FLOW-REACHED: The number of ACL log deny-flows has reached 100% limit (<n>)
VEM あたりの拒否フローおよび許可フローの数を設定できます。 有効な範囲は 0 ~ 5000 フローです。 デフォルトは 3000 です。 Syslog メッセージは、フローが最大しきい値に近づくと送信されます。 最初のメッセージはフローの数が最大しきい値の 75 パーセントに到達すると送信され、次のメッセージはフローの数が最大しきい値の 90 パーセントに到達すると送信されます。 最後のメッセージはフローの数が 100 パーセントの最大しきい値に到達すると送信されます。
次のいずれかのコマンドを入力して、許可フローを設定できます。
コマンド |
目的 |
---|---|
logging ip access-list cache max-permit-flows num |
num はフロー数で、許可フロー数を設定します。 |
[no] logging ip access-list cache max-permit-flows |
デフォルトの許可フロー値である 3000 に設定を戻します。 |
次に、許可フローの Syslog メッセージの例を示します。
- Aug 28 04:17:19 fish-231-157.cisco.com 1 2011-08-28T11:14:23 - n1k-ecology - ACLLOG-PERMIT-FLOW-CREATE VSM ID: 172.23.231.150, VEM ID: 86d04494-79e2-11df-a573-d0d0fd093c68, Source IP: 192.168.231.22, Destination IP: 192.168.231.21, Source Port: 42196, Destination Port: 8029, Source Interface: Veth2, Protocol: "TCP"(6), Hit-count = 1
- Aug 28 04:17:20 sfish-231-157.cisco.com 1 2011-08-28T11:14:23 - n1k-acllog – ACLLOG-PERMIT-FLOW-INTERVAL VSM ID: 172.23.231.150, VEM ID: 86d04494-79e2-11df-a573-d0d0fd093c68, Source IP: 192.168.231.22, Destination IP: 192.168.231.21, Source Port: 42196, Destination Port: 8029, Source Interface: Veth2, Protocol: "TCP"(6), Hit-count = 1245
- Aug 28 04:17:22 sfish-231-157.cisco.com 1 2011-08-28T11:14:24 - n1k-acllog - ACLLOG-MAX-PERMIT-FLOW-REACHED The number of ACL log permit-flows has reached 75 percent limit (3969) - Aug 28 04:17:26 sfish-231-157.cisco.com 1 2011-08-28T11:14:26 - n1k-acllog - ACLLOG-MAX-PERMIT-FLOW-REACHED The number of ACL log permit-flows has reached 90 percent limit (4969) - Aug 28 04:17:27 sfish-231-157.cisco.com 1 2011-08-28T11:14:31 - n1k-acllog - ACLLOG-MAX-PERMIT-FLOW-REACHED The number of ACL log permit-flows has reached 100 percent limit (5000)
次のいずれかのコマンドを入力して、拒否フローを設定できます。
コマンド |
目的 |
---|---|
logging ip access-list cache max-deny-flows num |
num はフロー数で、拒否フロー数を設定します。 |
[no] logging ip access-list cache max-deny-flows |
デフォルトの拒否フロー値である 3000 に設定を戻します。 |
次に、拒否フローの Syslog メッセージの例を示します。
- Aug 28 04:17:19 sfish-231-157.cisco.com 1 2011-08-28T11:14:23 - n1k-acllog - ACLLOG-DENY-FLOW-CREATE VSM ID: 172.23.231.150, VEM ID: 86d04494-79e2-11df-a573-d0d0fd093c68, Source IP: 192.168.231.22, Destination IP: 192.168.231.100, Source Port: 48528, Destination Port: 8029, Source Interface: Veth2, Protocol: "TCP"(6), Hit-count = 1
- Aug 28 04:17:20 sfish-231-157.cisco.com 1 2011-08-28T11:14:23 - n1k-acllog - ACLLOG-DENY-FLOW-INTERVAL VSM ID: 172.23.231.150, VEM ID: 86d04494-79e2-11df-a573-d0d0fd093c68, Source IP: 192.168.231.22, Destination IP: 192.168.231.100, Source Port: 47164, Destination Port: 8029, Source Interface: Veth2, Protocol: "TCP"(6), Hit-count = 1245
- Aug 28 04:17:27 sfish-231-157.cisco.com 1 2011-08-28T11:14:31 - n1k-acllog - ACLLOG-MAX-DENY-FLOW-REACHED The number of ACL log deny-flows has reached 75 percent limit (4330) - Aug 28 04:18:27 sfish-231-157.cisco.com 1 2011-08-28T11:15:31 - n1k-acllog - ACLLOG-MAX-DENY-FLOW-REACHED The number of ACL log deny-flows has reached 90 percent limit (4630) - Aug 28 04:20:17 sfish-231-157.cisco.com 1 2011-08-28T11:17:20 - n1k-acllog - ACLLOG-MAX-PERMIT-FLOW-REACHED The number of ACL log permit-flows has reached 100 percent limit (5000)
最大 3 台のリモート Syslog サーバに対して、ACL ロギング Syslog メッセージの重大度を設定できます。 有効な範囲は 0 ~ 7 です。 デフォルトの重大度は 6 です。
重大度コード |
重大度 |
説明 |
---|---|---|
0 |
Emergency |
システムは使用不能 |
1 |
Alert |
即時対処が必要 |
2 |
Critical |
クリティカルな状態 |
3 |
Error |
エラー状態 |
4 |
警告 |
警告状態 |
5 |
Notice |
正常だが注意を要する状態 |
6 |
Informational |
情報メッセージ |
7 |
Debug |
デバッグレベル メッセージ |
次のいずれかのコマンドを入力して、Syslog メッセージの重大度とメッセージの送信先になるサーバを設定できます。
コマンド |
目的 |
---|---|
acllog match-log-level level |
Syslog メッセージを送信する重大度を設定します。level は 0 ~ 7 の重大度コードです。 |
[no] logging ip access-list cache max-deny-flows |
デフォルトの重大度である 6 に設定を戻します。 |
logging server A.B.C.D 0-7 |
重大度を設定する Syslog サーバを指定します。A.B.C.D は Syslog サーバの IP アドレスです。0-7 は重大度で、選択できます。 |
次のいずれかのコマンドを使用して、設定を確認します。
コマンド |
目的 |
---|---|
show running-config aclmgr |
IP ACL の設定および IP ACL が適用されているインターフェイスを含めて、ACL の設定を表示します。 |
show ip access-lists [name] |
すべての IPv4 アクセス コントロール リスト(ACL)または特定の IPv4 ACL を表示します。 |
show ip access-list [name] summary |
設定済みのすべての IPv4 ACL または名前付き IPv4 ACL の要約を表示します。 |
show running-config interface |
ACL が適用されたインターフェイスの設定を表示します。 |
show logging ip access-list status |
VSM の ACL ロギング設定を表示します。 |
vemcmd show acllog config |
VEM ACL ロギング設定を表示します。 |
IP ACL のモニタリングには、次のいずれかのコマンドを使用します。
コマンド |
目的 |
---|---|
show ip access-lists |
IPv4 ACL の設定を表示します。 IPv4 ACL に statistics per-entry コマンドが含まれている場合は、show ip access-lists コマンドの出力に、各ルールと一致したパケットの数が含まれます。 |
clear ip access-list counters |
すべての IPv4 ACL または特定の IPv4 ACL の統計情報をクリアします。 |
次に、acl-01 という名前の IPv4 ACL を作成し、これをポート ACL として vEthernet インターフェイス 40 に適用する例を示します。
switch# configure terminal switch(config)# ip access-list acl-01 switch(config-acl)# permit ip 192.168.2.0/24 any switch(config-acl# interface vethernet 40 switch(config-acl# ip port access-group acl-01 in
次に、ローカルに生成されたトラフィックのアクセス リスト マッチングをイネーブルにする例を示します。
switch# ip access-list match-local-traffic
次に、VSM の ACL ロギングの設定を確認する例を示します。
switch# show logging ip access-list status Max deny flows = 3000 Max permit flows = 3000 Alert interval = 300 Match log level = 6 VSM IP = 192.168.1.1 Syslog IP = 10.1.1.1 Syslog IP = 0.0.0.0 Syslog IP = 0.0.0.0 ACL Logging enabled on module(s): 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 ACL Logging disabled on module(s): 3
次に、VEM の ACL ロギングの設定を確認する例を示します。
switch# vemcmd show acllog config ACL-Log Config: Status: enabled Reporting Interval: 300 Max Permit Flows: 3000 Max Deny Flows: 3000 Syslog Facility : 4 Syslog Severity: 6 Syslog Srvr 1: 10.1.1.1 Syslog Srvr 2: 0.0.0.0 Syslog Srvr 3: 0.0.0.0 VSM: 192.168.1.1
この表には、機能の追加によるリリースの更新内容のみが記載されています。
機能の履歴 |
リリース |
機能情報 |
---|---|---|
ACL ロギング |
4.2(1)SV1(5.1) |
この機能が導入されました。 |
mgmt0 インターフェイスの IP ACL |
4.2(1) SV1(4) |
この機能が導入されました。 |
IP ACL |
4.0(4)SV1(1) |
この機能が導入されました。 |