ACL について
アクセス コントロール リスト(ACL)では、ACL のタイプに応じてトラフィック フローを 1 つまたは複数の特性(送信元および宛先 IP アドレス、 IP プロトコル、ポート、EtherType、その他のパラメータを含む)で識別します。ACL は、さまざまな機能で使用されます。ACL は 1 つまたは複数のアクセス コントロール エントリ(ACE)で構成されます。
ACL タイプ
ASA では、次のタイプの ACL が使用されます。
-
拡張 ACL:主に使用されるタイプです。この ACL は、サービス ポリシー、AAA ルール、WCCP、ボットネット トラフィック フィルタ、VPN グループおよび DAP ポリシーを含むさまざまな機能で、トラフィックがデバイスを通過するのを許可および拒否するアクセス ルールとトラフィックの照合に使用されます。 拡張 ACL の設定を参照してください。
-
EtherType ACL:EtherType ACL はブリッジ グループ メンバーのインターフェイスの非 IP レイヤ 2 トラフィックにのみ適用されます。これらのルールを使用して、レイヤ 2 パケット内の EtherType 値に基づいてトラフィックを許可または破棄できます。EtherType ACL では、デバイスでの非 IP トラフィック フローを制御できます。EtherType ACL の設定を参照してください。
-
Webtype ACL:クライアントレス SSL VPN トラフィックのフィルタリングに使用されます。この ACL では、URL または宛先アドレスに基づいてアクセスを拒否できます。 Webtype ACL の設定を参照してください。
-
標準 ACL:宛先アドレスだけでトラフィックを識別します。このタイプの ACL は、少数の機能(ルート マップと VPN フィルタ)でしか使用されません。VPN フィルタでは拡張アクセス リストも使用できるので、標準 ACL の使用はルート マップだけにしてください。 標準 ACL の設定を参照してください。
次の表に、ACL の一般的な使用目的と使用するタイプを示します。
ACL の使用目的 |
ACL タイプ |
説明 |
||
---|---|---|---|---|
IP トラフィックのネットワーク アクセスの制御(ルーテッド モードおよびトランスペアレント モード) |
拡張 |
ASA では、拡張 ACL により明示的に許可されている場合を除き、低位のセキュリティ インターフェイスから高位のセキュリティ インターフェイスへのトラフィックは認められません。
|
||
AAA ルールでのトラフィック識別 |
拡張 |
AAA ルールでは、ACL を使用してトラフィックを識別します。 |
||
特定のユーザの IP トラフィックに対するネットワーク アクセス コントロールの強化 |
拡張、ユーザごとに AAA サーバからダウンロード |
ユーザに適用するダイナミック ACL をダウンロードするように RADIUS サーバを設定できます。または、ASA 上に設定済みの ACL の名前を送信するようにサーバを設定できます。 |
||
VPN アクセスおよびフィルタリング |
拡張 規格 |
リモート アクセスおよびサイト間 VPN のグループ ポリシーでは、標準または拡張 ACL がフィルタリングに使用されます。リモート アクセス VPN では、クライアント ファイアウォール設定とダイナミック アクセス ポリシーにも拡張 ACL が使用されます。 |
||
トラフィック クラス マップでのモジュラ ポリシー フレームワークのトラフィックの識別 |
拡張 |
ACL を使用すると、クラス マップ内のトラフィックを識別できます。このマップは、モジュラ ポリシー フレームワークをサポートする機能に使用されます。モジュラ ポリシー フレームワークをサポートする機能には、TCP および一般的な接続設定やインスペクションなどがあります。 |
||
ブリッジ グループ メンバーのインターフェイスに対する非 IP トラフィックのネットワーク アクセスの制御 |
EtherType |
ブリッジ グループのメンバーであるすべてのインターフェイスの EtherType に基づいて、トラフィックを制御をする ACL を設定できます。 |
||
ルート フィルタリングおよび再配布の特定 |
規格 拡張 |
各種のルーティング プロトコルでは、IP アドレスのルート フィルタリングと(ルート マップを介した)再配布に ACL が使用されます(IPv4 アドレスの場合は標準 ACL が、IPv6 アドレスの場合は拡張 ACL がそれぞれ使用されます)。 |
||
クライアントレス SSL VPN のフィルタリング |
Webtype |
Webtype ACL は、URL と宛先をフィルタリングするように設定できます。 |
ACL 名
各 ACL には、outside_in、OUTSIDE_IN、101 などの名前または数値 ID があります。名前は 241 文字以下にする必要があります。実行コンフィギュレーションを表示するときに名前を簡単に見つけられるように、すべて大文字にすることを検討してください。
ACL の目的を識別するのに役立つ命名規則を作成します。ASDM では、「interface-name_purpose_direction」などの命名規則が使用されます。たとえば、「外部」インターフェイスにインバウンド方向で適用される ACL の場合には、「outside_access_in」のようになります。
従来、 ACL ID は数値でした。標準 ACL は、1 ~ 99 または 1300 ~ 1999 の範囲にありました。拡張 ACL は、100 ~ 199 または 2000 ~ 2699 の範囲にありました。ASA では、これらの範囲は強制されませんが、数値を使用する場合は、IOS ソフトウェアを実行するルータとの一貫性を保つために、これらの命名規則を引き続き使用することをお勧めします。
アクセス コントロール エントリの順序
1 つの ACL は、1 つまたは複数の ACE で構成されます。特定の行に明示的に ACE を挿入しない限り、ある ACL 名について入力した各 ACE はその ACL の末尾に追加されます。
ACE の順序は重要です。ASA は、パケットを転送するかドロップするかを決定するとき、エントリがリストされている順序で各 ACE に対してパケットをテストします。一致が見つかると、ACE はそれ以上チェックされません。
したがって、一般的なルールの後に具体的なルールを配置した場合、具体的なルールは決してヒットしない可能性があります。たとえば、ネットワーク 10.1.1.0/24 を許可し、そのサブネット上のホスト 10.1.1.15 からのトラフィックをドロップする場合、10.1.1.15 を拒否する ACE は 10.1.1.0/24 を許可する ACE の前に置く必要があります。10.1.1.0/24 を許可する ACE を先にすると、10.1.1.15 は許可され、拒否 ACE は決して一致しません。
拡張 ACL では、access-list コマンドで line number パラメータを使用して適切な場所にルールを挿入します。どの番号を使用すればよいか判断できるように ACL エントリとその行番号を表示するには、show access-list name コマンドを使用します。その他のタイプの ACL の場合は、ACL を作成(できれば ASDM を使用)して ACE の順序を変更します。
許可/拒否と一致/不一致
アクセス コントロール エントリでは、ルールに一致するトラフィックを「許可」または「拒否」します。グローバル アクセス ルールやインターフェイス アクセス ルールなど、トラフィックが ASA の通過を許可されるか、ドロップされるかを決定する機能に ACL を適用する場合、「許可」と「拒否」は文字どおりの意味を持ちます。
サービス ポリシー ルールなどのその他の機能の場合、「許可」と「拒否」は実際には「一致」または「不一致」を意味します。この場合、ACL では、アプリケーション インスペクションやサービス モジュールへのリダイレクトなど、その機能のサービスを受けるトラフィックを選択しています。「拒否される」トラフィックは、単に ACL に一致せず、したがってサービスを受けないトラフィックのことです
アクセス コントロールによる暗黙的な拒否
through-the-box アクセス ルールに使用する ACL には末尾に暗黙の deny ステートメントがあります。したがって、インターフェイスに適用される ACL などのトラフィック制御 ACL では、あるタイプのトラフィックを明示的に許可しない場合、そのトラフィックはドロップされます。たとえば、1 つまたは複数の特定のアドレス以外のすべてのユーザが ASA 経由でネットワークにアクセスできるようにするには、特定のアドレスを拒否してから、その他のすべてのアドレスを許可する必要があります。
管理(コントロール プレーン)の ACL は to-the-box トラフィックを管理していますが、インターフェイスの一連の管理ルールの末尾には暗黙の deny がありません。その代わりに、管理アクセス ルールに一致しない接続は通常のアクセス制御ルールで評価されます。
サービス対象のトラフィックの選択に使用される ACL の場合は、明示的にトラフィックを「許可」する必要があります。「許可」されていないトラフィックはサービスの対象になりません。「拒否された」トラフィックはサービスをバイパスします。
EtherType ACL の場合、ACL の末尾にある暗黙的な拒否は、IP トラフィックや ARP には影響しません。たとえば、EtherType 8037 を許可する場合、ACL の末尾にある暗黙的な拒否によって、拡張 ACL で以前許可(または高位のセキュリティ インターフェイスから低位のセキュリティ インターフェイスへ暗黙的に許可)した IP トラフィックがブロックされることはありません。ただし、EtherType ACE で明示的にすべてのトラフィックを拒否すると、IP および ARP トラフィックが拒否されます。許可されるのは、自動ネゴシエーションなどの物理プロトコル トラフィックだけです。
NAT 使用時に拡張 ACL で使用する IP アドレス
NAT または PAT を使用すると、アドレスまたはポートが変換され、通常は内部アドレスと外部アドレスがマッピングされます。変換されたポートまたはアドレスに適用される拡張 ACL を作成する必要がある場合は、実際の(変換されていない)アドレスまたはポートを使用するか、マッピングされたアドレスまたはポートを使用するかを決定する必要があります。要件は機能によって異なります。
実際のアドレスとポートが使用されるので、NAT コンフィギュレーションが変更されても ACL を変更する必要はなくなります。
実際の IP アドレスを使用する機能
次のコマンドおよび機能では、インターフェイスに表示されるアドレスがマッピング アドレスである場合でも、実際の IP アドレスを使用します。
-
アクセス ルール(access-group コマンドで参照される拡張 ACL)
-
サービス ポリシー ルール(モジュラ ポリシー フレームワークの match access-list コマンド)
-
ボットネット トラフィック フィルタのトラフィック分類(dynamic-filter enable classify-list コマンド)
-
AAA ルール(aaa ... match コマンド)
-
WCCP(wccp redirect-list group-list コマンド)
たとえば、内部サーバ 10.1.1.5 用の NAT を設定して、パブリックにルーティング可能な外部の IP アドレス 209.165.201.5 をこのサーバに付与する場合は、この内部サーバへのアクセスを外部トラフィックに許可するアクセス ルールの中で、サーバのマッピング アドレス(209.165.201.5)ではなく実際のアドレス(10.1.1.5)を参照する必要があります。
hostname(config)# object network server1
hostname(config-network-object)# host 10.1.1.5
hostname(config-network-object)# nat (inside,outside) static 209.165.201.5
hostname(config)# access-list OUTSIDE extended permit tcp any host 10.1.1.5 eq www
hostname(config)# access-group OUTSIDE in interface outside
マッピング IP アドレスを使用する機能
次の機能は、ACL を使用しますが、これらの ACL は、インターフェイス上で認識されるマッピングされた値を使用します。
-
IPsec ACL
-
capture コマンドの ACL
-
ユーザ単位 ACL
-
ルーティング プロトコルの ACL
-
他のすべての機能の ACL
時間ベース ACE
ルールが一定期間だけアクティブになるように、拡張 ACE と Webtype ACE に時間範囲オブジェクトを適用することができます。このタイプのルールを使用すると、特定の時間帯には許容できるものの、それ以外の時間帯には許容できないアクティビティを区別できます。たとえば、勤務時間中に追加の制限を設け、勤務時間後または昼食時にその制限を緩めることができます。逆に、勤務時間外は原則的にネットワークをシャットダウンすることもできます。
時間範囲オブジェクトが含まれていないルールでは、プロトコル、送信元、宛先、およびサービス基準が正確に同じ時間ベースのルールを作成することはできません。時間ベースではないルールは、重複した時間ベースのルールを常にオーバーライドします(冗長であるため)。
(注) |
ACL を非アクティブにするための指定の終了時刻の後、約 80 ~ 100 秒の遅延が発生する場合があります。たとえば、指定の終了時刻が 3:50 の場合、この 3:50 は終了時刻に含まれているため、コマンドは、3:51:00 ~ 3:51:59 の間に呼び出されます。コマンドが呼び出された後、ASA は現在実行されているすべてのタスクを終了し、コマンドに ACL を無効にさせます。 |