ACL について
ACL とは、トラフィックのフィルタリングに使用する順序付きのルール セットのことです。各ルールには、パケットがルールに一致するために満たさなければならない条件のセットが規定されています。デバイスは、ある ACL がパケットに適用されると判断すると、そのすべてのルールの条件にパケットを照合し、テストします。最初に一致したルールで、そのパケットが許可されるか拒否されるかが決定されます。一致するものがなければ、デバイスは適用可能な暗黙のルールを適用します。デバイスは、許可されたパケットの処理を続行し、拒否されたパケットはドロップします。
ACL を使用すると、ネットワークおよび特定のホストを、不要なトラフィックや望ましくないトラフィックから保護できます。たとえば、ACL を使用して、厳重にセキュリティ保護されたネットワークからインターネットに HTTP トラフィックが流入するのを禁止できます。また、特定のサイトへの HTTP トラフィックだけを許可することもできます。その場合は、サイトの IP アドレスが、IP ACL に指定されているかどうかによって判定します。
ACL のタイプと適用
セキュリティ トラフィック フィルタリングには次のタイプの ACL を使用できます。
- IPv4 ACL
- Cisco Nexus® 3550-T デバイスは、IPv4 ACL を IPv4 TCP および UDP トラフィックだけに適用します。
IP には次の種類のアプリケーションがあります。
- ルータ ACL
- レイヤ 3 トラフィックのフィルタリング
- VTY ACL
- 仮想テレタイプ(VTY)トラフィックのフィルタリング
Note |
Cisco Nexus® 3550-T では、ルータおよび VTY ACL IP アプリケーションのみがサポートされています。 |
Note |
次のインターフェイスの ACL で指定された条件に基づいて入力トラフィックをフィルタリングするために、入力ポリシーのみを Cisco Nexus® 3550-T スイッチで構成できます。
|
次の表に、セキュリティ ACL の適用例の概要を示します。
適用 |
サポートするインターフェイス |
サポートする ACL のタイプ |
||
---|---|---|---|---|
ルータ ACL |
|
|
ACL の適用順序
デバイスは、パケットを処理する際に、そのパケットの転送パスを決定します。デバイスがトラフィックに適用する ACL はパスによって決まります。デバイスは Ingress ルータ ACL のみを適用します。
ルールについて
ACL によるネットワーク トラフィックのフィルタリング方法を設定する際に、何を作成、変更、削除するかを決めるのがルールです。ルールは実行コンフィギュレーション内に表示されます。ACL をインターフェイスに適用するか、またはインターフェイスにすでに適用されている ACL 内のルールを変更すると、スーパーバイザ モジュールは実行コンフィギュレーション内のルールから ACL のエントリを作成し、それらの ACL エントリを適用可能な I/O モジュールに送信します。ACL の設定によっては、ルールよりも ACL エントリの方が数が多くなることがあります。特に、ルールを設定するときにオブジェクト グループを使用してポリシーベース ACL を実装する場合などです。
アクセス リスト コンフィギュレーション モードでルールを作成するには、permit または deny コマンドを使用します。デバイスは、許可ルール内の基準と一致するトラフィックを許可し、拒否ルール内の基準と一致するトラフィックをブロックします。ルールに一致するためにトラフィックが満たさなければならない基準を設定するためのオプションが多数用意されています。
ここでは、ルールを設定する際に使用できるオプションをいくつか紹介します。
送信元と宛先
各ルールには、ルールに一致するトラフィックの送信元と宛先を指定します。指定する送信元および宛先には、特定のホスト、ホストのネットワークまたはグループ、あるいは任意のホストを使用できます。
IP ACL の暗黙ルール
IP ACL には暗黙ルールがあります。暗黙ルールは、実行コンフィギュレーションには設定されていませんが、ACL 内の他のルールと一致しない場合にデバイスがトラフィックに適用するルールです。
すべての IPv4 ACL には、次の暗黙のルールがあります。
deny ip any any
この暗黙ルールによって、デバイスは不一致 IP トラフィックを確実に拒否します。
この暗黙ルールによって、デバイスは、トラフィックのレイヤ 2 ヘッダーに指定されているプロトコルに関係なく、不一致トラフィックを確実に拒否します。
その他のフィルタリング オプション
追加のオプションを使用してトラフィックを識別できます。これらのオプションは、ACL のタイプによって異なります。次のリストには、ほとんどの追加フィルタリング オプションが含まれていますが、すべてを網羅しているわけではありません。
-
IPv4 ACL には、次の追加フィルタリング オプションが用意されています。
-
レイヤ 4 プロトコル
-
TCP/UDP ポート
-
ICMP タイプおよびコード
-
シーケンス番号
デバイスはルールのシーケンス番号をサポートしています。入力するすべてのルールにシーケンス番号が割り当てられます(ユーザによる割り当てまたはデバイスによる自動割り当て)。シーケンス番号によって、次の ACL 設定作業が容易になります。
- 既存のルールの間に新しいルールを追加
-
シーケンス番号を指定することによって、ACL 内での新規ルールの挿入場所を指定します。たとえば、ルール番号 100 と 110 の間に新しいルールを挿入する必要がある場合は、シーケンス番号 105 を新しいルールに割り当てます。
- ルールの削除
-
シーケンス番号を使用しない場合は、ルールを削除するために、次のようにルール全体を入力する必要があります。
switch(config-acl)# no permit tcp 10.0.0.0/8 any
このルールに 101 番のシーケンス番号が付いていれば、次コマンドだけでルールを削除できます。
switch(config-acl)# no 101
- ルールの移動
-
シーケンス番号を使用すれば、同じ ACL 内の異なる場所にルールを移動する必要がある場合に、そのルールのコピーをシーケンス番号で正しい位置に挿入してから、元のルールを削除できます。この方法により、トラフィックを中断せずにルールを移動できます。
シーケンス番号を使用せずにルールを入力すると、デバイスはそのルールを ACL の最後に追加し、そのルールの直前のルールのシーケンス番号よりも 10 大きい番号を割り当てます。たとえば、ACL 内の最後のルールのシーケンス番号が 225 で、シーケンス番号を指定せずにルールを追加した場合、デバイスはその新しいルールにシーケンス番号 235 を割り当てます。
また、Cisco NX-OS では、ACL 内ルールのシーケンス番号を再割り当てできます。シーケンス番号の再割り当ては、ACL 内に、100、101 のように連続するシーケンス番号のルールがある場合、それらのルールの間に 1 つ以上のルールを挿入する必要があるときに便利です。
論理演算子と論理演算ユニット
TCP および UDP トラフィックの IP ACL ルールでは、論理演算子を使用して、ポート番号に基づきトラフィックをフィルタリングできます。Cisco NX-OS では、入力方向でのみ論理演算子をサポートします。
このデバイスは、論理演算ユニット(LOU)というレジスタに、演算子とオペランドの組み合わせを格納します。各タイプの演算子は、次のように LOU を使用します。
- eq
- LOU には格納されません。
- gt
- 1 LOU を使用します。
- lt
- 1 LOU を使用します。
- range
- 1 LOU を使用します。
時間範囲
時間範囲を使用して、ACL ルールが有効になる時期を制御できます。たとえば、インターフェイスに着信するトラフィックに特定の ACL を適用するとデバイスが判断し、その ACL のあるルールの時間範囲が有効になっていない場合、デバイスは、トラフィックをそのルールと照合しません。デバイスは、そのデバイスのクロックに基づいて時間範囲を評価します。
時間範囲を使用する ACL を適用すると、デバイスはその ACL で参照される時間範囲の開始時または終了時に影響する I/O モジュールをアップデートします。時間範囲によって開始されるアップデートはベストエフォート型のプライオリティで実行されます。時間範囲によってアップデートが生じたときにデバイスの処理負荷が非常に高い場合、デバイスはアップデートを最大数秒間遅らせることがあります。
IPv4 の ACL は時間範囲をサポートしています。デバイスがトラフィックに ACL を適用する場合、有効なルールは次のとおりです。
-
時間範囲が指定されていないすべてのルール
-
デバイスがその ACL をトラフィックに適用した時点(秒)が時間範囲に含まれているルール
名前が付けられた時間範囲は再利用できます。多くの ACL ルールを設定する場合は、時間範囲を名前で一度設定すれば済みます。時間範囲の名前は最大 64 の英文字で指定します。
時間範囲には、1 つまたは複数のルールで構成されます。これらのルールは次の 2 種類に分類できます。
- 絶対
-
特定の開始日時、終了日時、その両方を持つルール、またはそのどちらも持たないルール。絶対時間範囲のルールがアクティブかどうかは、開始日時または終了日時の有無によって、次のように決まります。
-
開始日時と終了日時が両方指定されている:この時間範囲ルールは、現在の時刻が開始日時よりも後で終了日時よりも前の場合にアクティブになります。
-
開始日時が指定され、終了日時は指定されていない:この時間範囲ルールは、現在の時刻が開始日時よりも後である場合にアクティブになります。
-
開始日時は指定されず、終了日時が指定されている:この時間範囲ルールは、現在の時刻が終了日時よりも前である場合にアクティブになります。
-
開始日時も終了日時も指定されていない:この時間範囲ルールは常にアクティブです。
たとえば、新しいサブネットへのアクセスを許可するようにネットワークを設定する場合、そのサブネットをオンラインにする予定日の真夜中からアクセスを許可するような時間範囲を指定し、この時間範囲をそのサブネットに適用する ACL ルールに使用します。デバイスはこのルールを含む ACL を適用する場合、開始日時が過ぎると、この時間範囲を使用するルールの適用を自動的に開始します。
-
- 定期
-
毎週 1 回以上アクティブになるルール。たとえば、定期時間範囲を使用すると、平日の営業時間中だけ、研究室のサブネットにアクセスできるようにすることができます。デバイスは、そのルールを含む ACL が適用されていて、時間範囲がアクティブな場合にだけ、この時間範囲を使用する ACL ルールを自動的に適用します。
Note |
デバイスは、時間範囲内のルールの順序に関係なく、時間範囲がアクティブかどうかを判断します。Cisco NX-OS は、時間範囲を編集できるように時間範囲内にシーケンス番号を入れます。 |
時間範囲には備考を含めることもできます。備考を使用すると、時間範囲にコメントを挿入できます。備考は、最大 100 文字の英数字で指定します。
デバイスは次の方法で時間範囲がアクティブかどうかを判断します。
-
時間範囲に絶対ルールが 1 つまたは複数含まれている:現在の時刻が 1 つまたは複数の絶対ルールの範囲内であれば、その時間範囲はアクティブです。
-
時間範囲に定期ルールが 1 つまたは複数含まれている:現在の時刻が 1 つまたは複数の定期ルールの範囲内であれば、その時間範囲はアクティブです。
-
時間範囲に絶対ルールと定期ルールが両方含まれている:現在の時刻が 1 つまたは複数の絶対ルールと 1 つ以上の定期ルールの範囲内にある場合に、その時間範囲はアクティブです。
時間範囲に絶対ルールと定期ルールが両方含まれている場合、定期ルールがアクティブになるのは、最低 1 つの絶対ルールがアクティブな場合だけです。