Cisco Security Appliance コマンド ライン コンフィギュレーション ガイド Version 7.0(4)
アクセスリストによるトラフィックの 指定
アクセスリストによるトラフィックの指定
発行日;2012/01/08 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 5MB) | フィードバック

目次

アクセスリストによるトラフィックの指定

アクセスリストの概要

アクセスリストのタイプ

アクセス コントロール エントリの順序

アクセス コントロールによる暗黙的な拒否

NAT 使用時にアクセスリストで使用する IP アドレス

拡張アクセスリストの追加

拡張アクセスリストの概要

透過ファイアウォールを通過する特殊な IP トラフィックの許可

拡張 ACE の追加

EtherType アクセスリストの追加

標準アクセスリストの追加

Webtype アクセスリストの追加

オブジェクト グループ化機能によるアクセスリストの簡略化

オブジェクト グループ化機能の動作

オブジェクト グループの追加

プロトコル オブジェクト グループの追加

ネットワーク オブジェクト グループの追加

サービス オブジェクト グループの追加

ICMP タイプ オブジェクト グループの追加

オブジェクト グループのネスト

アクセスリストでのオブジェクト グループの使用

オブジェクト グループの表示

オブジェクト グループの削除

アクセスリストへのコメントの追加

時間範囲オプション

アクセスリストアクティビティのロギング

アクセスリスト ロギングの概要

アクセス コントロール エントリのロギングの設定

拒否フローの管理

アクセスリストによるトラフィックの指定

この章では、アクセスリストを使用してトラフィックを指定する方法について説明します。

次の項目について説明します。

「アクセスリストの概要」

「拡張アクセスリストの追加」

「EtherType アクセスリストの追加」

「標準アクセスリストの追加」

「Webtype アクセスリストの追加」

「オブジェクト グループ化機能によるアクセスリストの簡略化」

「アクセスリストへのコメントの追加」

「時間範囲オプション」

「アクセスリスト アクティビティのロギング」

IPv6 アクセスリストについては、「IPv6 アクセスリストの設定」を参照してください。

アクセスリストの概要

アクセスリストは、1 つまたは複数の Access Control Entry(ACE; アクセス コントロール エントリ)で構成されます。ACE は、permit 規則または deny 規則を指定するアクセスリスト内の 1 つのエントリで、プロトコル、送信元 IP アドレス、宛先 IP アドレス、またはネットワークに適用されます。また、オプションで、送信元ポートおよび宛先ポートに適用される場合もあります。

アクセスリストは、さまざまな機能で使用されます。モジュラ ポリシー フレームワークを使用する機能では、アクセスリストによってトラフィック クラスマップ内のトラフィックを識別できます。モジュラ ポリシー フレームワークの詳細については、 第18章「モジュラ ポリシー フレームワークの使用」 を参照してください。

ここでは、次の項目について説明します。

「アクセスリストのタイプ」

「アクセス コントロール エントリの順序」

「アクセス コントロールによる暗黙的な拒否」

「NAT 使用時にアクセスリストで使用する IP アドレス」

アクセスリストのタイプ

表13-1 に、アクセスリストのタイプと、それらの一般的な使用目的の一部を示します。

 

表13-1 アクセスリストのタイプと一般的な使用目的

アクセスリストの使用目的
アクセスリストの
タイプ
説明

IP トラフィックのネットワーク アクセスの制御(ルーテッド モードおよび透過モード)

拡張

セキュリティ アプライアンスは、拡張アクセスリストで明示的に許可されているトラフィックを除き、すべてのトラフィックを許可しません。

AAA 規則でのトラフィック識別

拡張

AAA 規則では、アクセスリストを使用してトラフィックを識別します。

所定のユーザに関する IP トラフィックのネットワーク アクセス制御

拡張、ユーザごとに AAA サーバからダウンロード

ユーザに適用するダイナミック アクセスリストをダウンロードするように RADIUS サーバを設定できます。または、セキュリティ アプライアンス上に設定済みのアクセスリストの名前を送信するようにサーバを設定できます。

NAT(ポリシー NAT および NAT 免除)のアドレス識別

拡張

ポリシー NAT を使用すると、拡張アクセスリストで送信元アドレスと宛先アドレスを指定することにより、アドレスを変換するローカル トラフィックを指定できます。

VPN アクセスの確立

拡張

VPN コマンドで拡張アクセスリストを使用できます。

モジュラ ポリシーのトラフィック クラスマップ内でのトラフィック識別

拡張

EtherType

アクセスリストを使用すると、クラスマップ内のトラフィックを識別できます。このマップは、モジュラ ポリシー フレームワークをサポートする機能に使用されます。モジュラ ポリシー フレームワークをサポートする機能には、TCP および一般的な接続設定や検査などがあります。

透過ファイアウォール モードの場合、IP 以外のトラフィックのネットワーク アクセスの制御

EtherType

トラフィックを EtherType に基づいて制御するためのアクセスリストを設定できます。

OSPF ルート再配布の指定

標準

標準アクセスリストには、宛先アドレスだけが含まれています。標準アクセスリストを使用して、OSPF ルートの再配布を制御できます。

WebVPN のフィルタリング

Webtype

URL をフィルタリングするように Webtype アクセスリストを設定できます。

アクセス コントロール エントリの順序

アクセスリストは、1 つまたは複数の ACE で構成されます。アクセスリストのタイプに応じて、送信元アドレス、宛先アドレス、プロトコル、ポート(TCP または UDP の場合)、ICMP タイプ(ICMP の場合)、または EtherType を指定できます。

特定のアクセスリスト名に対して入力した各 ACE は、そのアクセスリストの末尾に追加されます。

ACE の順序は重要です。セキュリティ アプライアンスは、パケットを転送するかドロップするかを決定するとき、エントリがリストされている順序で各 ACE とパケットを照合します。一致が見つかると、ACE はそれ以上チェックされません。たとえば、すべてのトラフィックを明示的に許可する ACE をアクセスリストの先頭に作成した場合、それより後の文はまったくチェックされません。

ACE をディセーブルにするには、 access-list コマンドで inactive キーワードを指定します。

アクセス コントロールによる暗黙的な拒否

アクセスリストの末尾には、暗黙的な拒否があるため、明示的に許可しない限り、トラフィックは通過できません。たとえば、特定のアドレス以外のすべてのユーザがセキュリティ アプライアンス経由でネットワークにアクセスできるようにするには、特定のアドレスを拒否してから、その他のすべてのアドレスを許可する必要があります。

NAT 使用時にアクセスリストで使用する IP アドレス

NAT を使用する場合、アクセスリストに指定する IP アドレスは、アクセスリストが適用されるインターフェイスによって異なります。つまり、そのインターフェイスに接続されたネットワーク上で有効なアドレスを使用する必要があります。使用されるアドレスは宛先によって決まるのではなく、インターフェイスによってだけ決まるというガイドラインは、着信アクセスリストと発信アクセスリストの両方に当てはまります。

たとえば、アクセスリストを内部インターフェイスの着信方向に適用するとします。内部の送信元アドレスが外部アドレスにアクセスするときに、内部の送信元アドレスに対して NAT を実行するように、セキュリティ アプライアンスを設定します。アクセスリストは内部インターフェイスに適用されるため、送信元アドレスは変換されていない元のアドレスです。外部アドレスは変換されないため、アクセスリストで使用される宛先アドレスは実際のアドレスです(図13-1 を参照)。

図13-1 アクセスリスト内の IP アドレス:送信元アドレスに対して使用される NAT

 

この例について、次のコマンドを参照してください。

hostname(config)# access-list INSIDE extended permit ip 10.1.1.0 255.255.255.0 host 209.165.200.225
hostname(config)# access-group INSIDE in interface inside
 

内部ホストへのアクセスを外部ホストに許可する場合は、外部インターフェイスに着信アクセスリストを適用します。内部ホストの変換後アドレスは外部ネットワーク上で使用できるアドレスであるため、変換後アドレスをアクセスリストで指定する必要があります(図13-2 を参照)。

図13-2 アクセスリスト内の IP アドレス:宛先アドレスに対して使用される NAT

 

この例について、次のコマンドを参照してください。

hostname(config)# access-list OUTSIDE extended permit ip host 209.165.200.225 host 209.165.201.5
hostname(config)# access-group OUTSIDE in interface outside
 

両方のインターフェイスに対して NAT を実行する場合は、そのインターフェイスにとって可視のアドレスを使用することに留意してください。図13-3 では、内部ネットワークで変換後アドレスが示されるように、外部サーバがスタティック NAT を使用しています。

図13-3 アクセスリスト内の IP アドレス:送信元アドレスと宛先アドレスに対して使用される NAT

 

この例について、次のコマンドを参照してください。

hostname(config)# access-list INSIDE extended permit ip 10.1.1.0 255.255.255.0 host 10.1.1.56
hostname(config)# access-group INSIDE in interface inside

拡張アクセスリストの追加

この項では、アクセスリストを追加する方法について説明します。次の項目を取り上げます。

「拡張アクセスリストの概要」

「拡張 ACE の追加」

拡張アクセスリストの概要

拡張アクセスリストは、1 つまたは複数の ACE で構成されます。このリストには、行番号を指定して ACE、送信元アドレス、および宛先アドレスを挿入できます。また、ACE タイプによっては、プロトコル、ポート(TCP または UDP の場合)、または ICMP タイプ(ICMP の場合)も挿入できます。これらのパラメータはすべて、 access-list コマンドで指定できます。または、各パラメータ用のオブジェクト グループを使用することもできます。この項では、コマンドでパラメータを指定する方法について説明します。オブジェクト グループの使用方法については、「オブジェクト グループ化機能によるアクセスリストの簡略化」を参照してください。

ACE の末尾に追加できるロギング オプションについては、「アクセスリスト アクティビティのロギング」を参照してください。時間範囲オプションについては、「時間範囲オプション」を参照してください。

TCP 接続および UDP 接続については、リターン トラフィックを許可するためのアクセスリストは必要はありません。FWSM は、確立された双方向接続のリターン トラフィックをすべて許可します。ただし、ICMP などのコネクションレス型プロトコルについては、セキュリティ アプライアンスは単方向セッションを確立します。したがって、(アクセスリストを送信元インターフェイスと宛先インターフェイスに適用することで)アクセスリストで双方向の ICMP を許可するか、ICMP 検査エンジンをイネーブルにする必要があります。ICMP 検査エンジンは、ICMP セッションを双方向接続として扱います。

インターフェイスの各方向の各タイプ(拡張および EtherType)に適用できるアクセスリストは 1 つだけです。同一のアクセスリストを複数のインターフェイスに適用できます。アクセスリストをインターフェイスに適用する方法の詳細については、 第15章「ネットワーク アクセスの許可または拒否」 を参照してください。


) アクセスリスト コンフィギュレーションを変更したときに、既存の接続がタイムアウトするまで待機せずに新しいアクセスリスト情報を使用する必要がある場合は、clear local-host コマンドを使用して接続を消去できます。


透過ファイアウォールを通過する特殊な IP トラフィックの許可

ルーテッド ファイアウォール モードでは、一部のタイプの IP トラフィックは、アクセスリストで許可されている場合でもブロックされます。これには、サポートされていないダイナミック ルーティング プロトコルおよび DHCP(DHCP リレーを設定している場合を除く)が含まれます。透過ファイアウォール モードでは、すべての IP トラフィックの通過を許可できます。これらの特殊なタイプのトラフィックはコネクションレス型であるため、拡張アクセスリストを両方のインターフェイスに適用して、リターン トラフィックの通過を許可する必要があります。

表13-2 に、透過ファイアウォールの通過を許可できる一般的なトラフィック タイプを示します。

 

表13-2 透過ファイアウォールの特殊トラフィック

トラフィック タイプ
プロトコルまたはポート
注意

BGP

TCP ポート 179

--

DHCP

UDP ポート 67 および 68

DHCP サーバがイネーブルの場合、セキュリティ アプライアンスは DHCP パケットの通過を拒否します。

EIGRP

プロトコル 88

--

OSPF

プロトコル 89

--

マルチキャスト ストリーム

UDP ポートは、アプリケーションによって異なります。

マルチキャスト ストリームは、常に Class D アドレス(224.0.0.0 to 239.x.x.x)に送信されます。

RIP(v1 または v2)

UDP ポート 520

--

拡張 ACE の追加

特定のアクセスリスト名に対して access-list コマンドを入力するときに、 line 番号を指定しないと、ACE はアクセスリストの末尾に追加されます。

ACE を追加するには、次のコマンドを入力します。

hostname(config)# access-list access_list_name [line line_number] [extended] {deny | permit} protocol source_address mask [operator port] dest_address mask [operator port | icmp_type] [inactive]
 

ヒント アクセスリスト名は、大文字で入力します。これによって、コンフィギュレーションで名前が見つけやすくなります。アクセスリストには、インターフェイスを表す名前(INSIDE など)や、作成する目的を表す名前(NO_NAT や VPN など)を付けることができます。


通常、プロトコルには ip キーワードを指定しますが、他のプロトコルも受け入れられます。プロトコル名のリストについては、「プロトコルとアプリケーション」を参照してください。

1 つのアドレスを指定する場合は、IP アドレスの前に host キーワードを入力します。この場合は、マスクを入力しません。すべてのアドレスを指定する場合は、アドレスとマスクの代わりに any キーワードを入力します。

tcp プロトコルまたは udp プロトコルの場合に限り、送信元ポートおよび宛先ポートを指定できます。使用できるキーワードおよび予約済みポートの割り当てのリストについては、「TCP ポートと UDP ポート」を参照してください。DNS、Discard、Echo、Ident、NTP、RPC、SUNRPC、および Talk は、それぞれに TCP の定義と UDP の定義の両方が必要です。TACACS+ では、ポート 49 に対して 1 つの TCP 定義が必要です。

送信元または宛先によって使用されるポート番号を照合するには、演算子を使用します。使用できる演算子は、次のとおりです。

lt :小なり。

gt :大なり。

eq :同値。

neq :非同値。

range :値の包括的な範囲。この演算子を使用する場合は、次のように 2 つのポート番号を指定します。

range 100 200
 

icmp プロトコルの場合に限り、ICMP タイプを指定できます。ICMP はコネクションレス型プロトコルであるため、(アクセスリストを送信元インターフェイスと宛先インターフェイスに適用することで)アクセスリストで両方向の ICMP を許可するか、ICMP 検査エンジンをイネーブルにする必要があります(「ICMP タイプ オブジェクト グループの追加」を参照)。ICMP 検査エンジンは、ICMP セッションをステートフル接続として扱います。ping を制御するには、 echo-reply 0 )(セキュリティ アプライアンスからホストへ)または echo 8 )(ホストからセキュリティ アプライアンスへ)を指定します。ICMP タイプのリストについては、「ICMP タイプ オブジェクト グループの追加」を参照してください。

ネットワーク マスクを指定するときは、指定方法が Cisco IOS ソフトウェアの access-list コマンドとは異なることに注意してください。セキュリティ アプライアンスでは、ネットワーク マスク(たとえば、Class C マスクの 255.255.255.0)が使用されます。Cisco IOS マスクでは、ワイルドカード ビット(たとえば、0.0.0.255)が使用されます。

ACE を非アクティブにするには、 inactive キーワードを使用します。再度イネーブルにするには、 inactive キーワードを使用せずに ACE 全体を入力します。この機能では、再イネーブル化を簡単にするために、非アクティブな ACE のレコードをコンフィギュレーションに保持できます。

次の例を参照してください。

次のアクセスリストでは、すべてのホスト(アクセスリストを適用するインターフェイス上にあるすべてのホスト)に対して、セキュリティ アプライアンスの通過が許可されます。

hostname(config)# access-list ACL_IN extended permit ip any any
 

次のサンプル アクセスリストでは、192.168.1.0/24 上のホストが 209.165.201.0/27 ネットワークにアクセスすることが禁止されます。その他のアドレスはすべて許可されます。

hostname(config)# access-list ACL_IN extended deny tcp 192.168.1.0 255.255.255.0 209.165.201.0 255.255.255.224
hostname(config)# access-list ACL_IN extended permit ip any any
 

一部のホストだけにアクセスを制限する場合は、限定的な許可 ACE を入力します。デフォルトでは、明示的に許可しない限り、他のトラフィックはすべて拒否されます。

hostname(config)# access-list ACL_IN extended permit ip 192.168.1.0 255.255.255.0 209.165.201.0 255.255.255.224
 

次のアクセスリストでは、すべてのホスト(アクセスリスト適用先のインターフェイス上にあるすべてのホスト)がアドレス 209.165.201.29 の Web サイトにアクセスすることが禁止されます。他のトラフィックはすべて許可されます。

hostname(config)# access-list ACL_IN extended deny tcp any host 209.165.201.29 eq www
hostname(config)# access-list ACL_IN extended permit ip any any
 

EtherType アクセスリストの追加

透過ファイアウォール モードのみ

EtherType ACE は、16 ビットの 16 進数値で指定されるすべての EtherType を制御します。いくつかのタイプは、便宜的にキーワードで指定できます。すべてのトラフィックを特に拒否する EtherType アクセスリストに ACE を追加すると、その ACE により、IP トラフィックおよび ARP トラフィックも拒否されます。これは、IP トラフィックを許可する拡張アクセスリストがある場合も同じです。すべてのアクセスリストの末尾にある暗黙的な拒否では、IP と ARP の通過は許可されます。

EtherType ACE は、IPv6 トラフィックを許可しません。これは、IPv6 EtherType を指定した場合も同じです。

EtherType はコネクションレス型であるため、トラフィックを両方向に通過させる必要がある場合は、両方のインターフェイスにアクセスリストを適用する必要があります。たとえば、Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)を許可または拒否できます。デフォルトでは、すべての BPDU が拒否されます。セキュリティ アプライアンスのポートはトランク ポート(シスコ独自)であるため、セキュリティ アプライアンスはトランク ポート BPDU を受信します。トランク BPDU のペイロード内部には VLAN 情報があるため、BPDU を許可した場合、セキュリティ アプライアンスはそのペイロードを発信 VLAN で修正します。フェールオーバーを使用している場合は、EtherType アクセスリストで両方のインターフェイスの BPDU を許可してブリッジング ループを回避する必要があります。

MPLS を許可する場合は、Label Distribution Protocol(LDP; ラベル配布プロトコル)および Tag Distribution Protocol(TDP; タグ配布プロトコル)の TCP 接続がセキュリティ アプライアンスを経由して確立されるようにしてください。これには、セキュリティ アプライアンス インターフェイス上の IP アドレスをラベル配布プロトコル セッションまたは TDP セッションの router-id として使用するように、セキュリティ アプライアンスに接続されている両方の MPLS ルータを設定します(ラベル配布プロトコルおよび TDP を使用することにより、MPLS ルータは、転送するパケットに使用するラベル(アドレス)をネゴシエートできるようになります)。

Cisco IOS ルータで、使用プロトコル(LDP または TDP)に適したコマンドを入力します。 interface は、セキュリティ アプライアンスに接続されているインターフェイスです。

hostname(config)# mpls ldp router-id interface force
 

または

hostname(config)# tag-switching tdp router-id interface force
 

インターフェイスの各方向の各タイプ(拡張および EtherType)に適用できるアクセスリストは 1 つだけです。同一のアクセスリストを複数のインターフェイスに適用することもできます。

EtherType ACE を追加するには、次のコマンドを入力します。

hostname(config)# access-list access_list_name ethertype {permit | deny} {ipx | bpdu | mpls-unicast | mpls-multicast | any | hex_number}
 

hex_number は、0x600 以上の 16 ビット 16 進数値で指定できる任意の EtherType です。EtherType のリストについては、 http://www.ietf.org/rfc/rfc1700.txt で、RFC 1700「Assigned Numbers」を参照してください。


) EtherType アクセスリストに deny all が設定されている場合、すべてのイーサネット フレームが廃棄されます。その場合でも、オートネゴシエーションなどの物理プロトコル トラフィックだけは許可されます。


特定のアクセスリスト名に対して access-list コマンドを入力すると、ACE はアクセスリストの末尾に追加されます。


ヒント access_list_name は、大文字で入力します。これにより、コンフィギュレーションで名前が見つけやすくなります。アクセスリストには、インターフェイスを表す名前(INSIDE など)や、目的を表す名前(MPLS や IPX など)を付けることができます。


たとえば、次のサンプル アクセスリストでは、内部インターフェイスで発信される一般的な EtherType が許可されます。

hostname(config)# access-list ETHER ethertype permit ipx
hostname(config)# access-list ETHER ethertype permit bpdu
hostname(config)# access-list ETHER ethertype permit mpls-unicast
hostname(config)# access-group ETHER in interface inside
 

次のアクセスリストでは、一部の EtherType はセキュリティ アプライアンスを通過することが許可されますが、IPX は拒否されます。

hostname(config)# access-list ETHER ethertype deny ipx
hostname(config)# access-list ETHER ethertype permit 0x1234
hostname(config)# access-list ETHER ethertype permit bpdu
hostname(config)# access-list ETHER ethertype permit mpls-unicast
hostname(config)# access-group ETHER in interface inside
hostname(config)# access-group ETHER in interface outside
 

次のアクセスリストでは、両方のインターフェイスで EtherType 0x1256 のトラフィックが拒否されますが、他のトラフィックはすべて許可されます。

hostname(config)# access-list nonIP ethertype deny 1256
hostname(config)# access-list nonIP ethertype permit any
hostname(config)# access-group ETHER in interface inside
hostname(config)# access-group ETHER in interface outside
 

標準アクセスリストの追加

シングルコンテキスト モードのみ

標準アクセスリストでは、OSPF ルートの宛先 IP アドレスを指定します。このアクセスリストは、OSPF 再配布のルートマップに使用できます。標準アクセスリストをインターフェイスに適用してトラフィックを制御することはできません。

次に、標準 ACE を追加するコマンドを示します。アクセスリストの末尾にもう 1 つ ACE を追加するには、同じアクセスリスト名を指定して別の access-list コマンドを入力します。「ルートマップの追加」を参照してアクセスリストを適用します。

ACE を追加するには、次のコマンドを入力します。

hostname(config)# access-list access_list_name standard {deny | permit} {any | ip_address mask}
 

次のサンプル アクセスリストでは、192.168.1.0/24 へのルートが指定されています。

hostname(config)# access-list OSPF standard permit 192.168.1.0 255.255.255.0
 

Webtype アクセスリストの追加

WebVPN のフィルタリングをサポートするコンフィギュレーションにアクセスリストを追加するには、次のコマンドを入力します。

hostname(config)# access-list access_list_name webtype {deny | permit} url [url_string | any]
 

ACE の末尾に追加できるロギング オプションについては、「アクセスリスト アクティビティのロギング」を参照してください。

オブジェクト グループ化機能によるアクセスリストの簡略化

この項では、オブジェクト グループ化機能を使用してアクセスリストの作成とメンテナンスを簡略化する方法について説明します。

ここでは、次の項目について説明します。

「オブジェクト グループ化機能の動作」

「オブジェクト グループの追加」

「オブジェクト グループのネスト」

「オブジェクト グループの表示」

「オブジェクト グループの削除」

「アクセスリストでのオブジェクト グループの使用」

オブジェクト グループ化機能の動作

類似オブジェクトをグループにまとめると、オブジェクトごとに ACE を入力する代わりに、ACE でオブジェクト グループを使用できるようになります。次のタイプのオブジェクト グループを作成できます。

プロトコル

ネットワーク

サービス

ICMP のタイプ

たとえば、次の 3 つのオブジェクト グループを考えてみます。

MyServices:内部ネットワークへのアクセスが許可されるサービス要求の TCP/UDP ポート番号を含む。

TrustedHosts:最大範囲のサービスとサーバへのアクセスが許可されるホスト アドレスとネットワーク アドレスを含む。

PublicServers:最大のアクセスが提供されるサーバのホスト アドレスを含む。

上記のグループを作成すると、1 つの ACE を使用して、信頼できるホストが公開サーバのグループにサービス要求を許可することが可能になります。

オブジェクト グループを他のオブジェクト グループにネストすることもできます。


) ACE システム制限は、拡張アクセスリストに適用されます。ACE でオブジェクト グループを使用すると、入力する実際の ACE の数は少なくなりますが、拡張 ACE の数はオブジェクト グループがない場合と同じです。多くの場合、オブジェクト グループを使用すると、手動で追加した場合より多くの ACE が作成されます。これは、手動で ACE を作成した場合、オブジェクト グループで作成した場合より多くのアドレスを集約することになるためです。アクセスリストの拡張 ACE の数を表示するには、show access-list access_list_name コマンドを入力します。


オブジェクト グループの追加

この項では、オブジェクト グループを追加する方法について説明します。

ここでは、次の項目について説明します。

「プロトコル オブジェクト グループの追加」

「ネットワーク オブジェクト グループの追加」

「サービス オブジェクト グループの追加」

「ICMP タイプ オブジェクト グループの追加」

プロトコル オブジェクト グループの追加

プロトコル オブジェクト グループを追加または変更するには、次の手順を実行します。グループを追加した後、同じグループ名でこの手順を繰り返し、追加のオブジェクトを指定することで、必要に応じてさらにオブジェクトを追加できます。既存のオブジェクトを再入力する必要はありません。設定済みのコマンドは、コマンドの no 形式で削除するまで残ります。

プロトコル グループを追加するには、次の手順を実行します。


ステップ 1 次のコマンドを入力して、プロトコル グループを追加します。

hostname(config)# object-group protocol grp_id
 

grp_id は、最大 64 文字のテキスト文字列です。

プロンプトがプロトコル コンフィギュレーション モードに変わります。

ステップ 2 (オプション)説明を追加するには、次のコマンドを使用します。

hostname(config-protocol)# description text
 

説明には、最大 200 文字を使用できます。

ステップ 3 プロトコルごとに次のコマンドを入力して、グループ内にプロトコルを定義します。

hostname(config-protocol)# protocol-object protocol
 

protocol は、特定の IP プロトコルの数値識別子(1 ~ 254)またはキーワード識別子(たとえば、 icmp tcp 、または udp )です。すべての IP プロトコルを含めるには、キーワード ip を使用します。指定できるプロトコルのリストについては、「プロトコルとアプリケーション」を参照してください。


 

たとえば、TCP、UDP、および ICMP のプロトコル グループを作成するには、次のコマンドを入力します。

hostname(config)# object-group protocol tcp_udp_icmp
hostname(config-protocol)# protocol-object tcp
hostname(config-protocol)# protocol-object udp
hostname(config-protocol)# protocol-object icmp

ネットワーク オブジェクト グループの追加

ネットワーク オブジェクト グループを追加または変更するには、次の手順を実行します。グループを追加した後、同じグループ名でこの手順を繰り返し、追加のオブジェクトを指定することで、必要に応じてさらにオブジェクトを追加できます。既存のオブジェクトを再入力する必要はありません。設定済みのコマンドは、コマンドの no 形式で削除するまで残ります。


) ネットワーク オブジェクト グループは、アクセスリストのタイプに応じて、IPv4 アドレスおよび IPv6 アドレスをサポートします。IPv6 アクセスリストの詳細については、「IPv6 アクセスリストの設定」を参照してください。


ネットワーク グループを追加するには、次の手順を実行します。


ステップ 1 次のコマンドを入力して、ネットワーク グループを追加します。

hostname(config)# object-group network grp_id
 

grp_id は、最大 64 文字のテキスト文字列です。

プロンプトがネットワーク コンフィギュレーション モードに変わります。

ステップ 2 (オプション)説明を追加するには、次のコマンドを使用します。

hostname(config-network)# description text
 

説明には、最大 200 文字を使用できます。

ステップ 3 ネットワークまたはアドレスごとに次のコマンドを入力して、グループ内にネットワークを定義します。

hostname(config-network)# network-object {host ip_address | ip_address mask}
 


 

たとえば、3 人の管理者の IP アドレスを含むネットワーク グループを作成するには、次のコマンドを入力します。

hostname(config)# object-group network admins
hostname(config-network)# description Administrator Addresses
hostname(config-network)# network-object host 10.1.1.4
hostname(config-network)# network-object host 10.1.1.78
hostname(config-network)# network-object host 10.1.1.34

サービス オブジェクト グループの追加

サービス オブジェクト グループを追加または変更するには、次の手順を実行します。グループを追加した後、同じグループ名でこの手順を繰り返し、追加のオブジェクトを指定することで、必要に応じてさらにオブジェクトを追加できます。既存のオブジェクトを再入力する必要はありません。設定済みのコマンドは、コマンドの no 形式で削除するまで残ります。

サービス グループを追加するには、次の手順を実行します。


ステップ 1 次のコマンドを入力して、サービス グループを追加します。

hostname(config)# object-group service grp_id {tcp | udp | tcp-udp}
 

grp_id は、最大 64 文字のテキスト文字列です。

tcp udp 、または tcp-udp のいずれかのキーワードで、追加するサービス(ポート)のプロトコルを指定します。同じポート番号で TCP と UDP の両方を使用している場合は、 tcp-udp キーワードを入力します。たとえば、DNS(ポート 53)の場合です。

プロンプトがサービス コンフィギュレーション モードに変わります。

ステップ 2 (オプション)説明を追加するには、次のコマンドを使用します。

hostname(config-service)# description text
 

説明には、最大 200 文字を使用できます。

ステップ 3 ポートまたはポート範囲ごとに次のコマンドを入力して、グループ内にポートを定義します。

hostname(config-service)# port-object {eq port | range begin_port end_port}
 

使用できるキーワードおよび予約済みポート割り当てのリストについては、「プロトコルとアプリケーション」を参照してください。


 

たとえば、DNS(TCP/UDP)、LDAP(TCP)、および RADIUS(UDP)が含まれたサービス グループを作成するには、次のコマンドを入力します。

hostname(config)# object-group service services1 tcp-udp
hostname(config-service)# description DNS Group
hostname(config-service)# port-object eq domain
 
hostname(config-service)# object-group service services2 udp
hostname(config-service)# description RADIUS Group
hostname(config-service)# port-object eq radius
hostname(config-service)# port-object eq radius-acct
 
hostname(config-service)# object-group service services3 tcp
hostname(config-service)# description LDAP Group
hostname(config-service)# port-object eq ldap
 

ICMP タイプ オブジェクト グループの追加

ICMP タイプ オブジェクト グループを追加または変更するには、次の手順を実行します。グループを追加した後、同じグループ名でこの手順を繰り返し、追加のオブジェクトを指定することで、必要に応じてさらにオブジェクトを追加できます。既存のオブジェクトを再入力する必要はありません。設定済みのコマンドは、コマンドの no 形式で削除するまで残ります。

ICMP タイプ グループを追加するには、次の手順を実行します。


ステップ 1 次のコマンドを入力して、ICMP タイプ グループを追加します。

hostname(config)# object-group icmp-type grp_id
 

grp_id は、最大 64 文字のテキスト文字列です。

プロンプトが ICMP タイプ コンフィギュレーション モードに変わります。

ステップ 2 (オプション)説明を追加するには、次のコマンドを使用します。

hostname(config-icmp-type)# description text
 

説明には、最大 200 文字を使用できます。

ステップ 3 タイプごとに次のコマンドを入力して、グループ内に ICMP タイプを定義します。

hostname(config-icmp-type)# icmp-object icmp_type
 

ICMP タイプのリストについては、「ICMP タイプ」を参照してください。


 

たとえば、echo-reply および echo(ping を制御するために使用)が含まれる ICMP タイプ グループを作成するには、次のコマンドを入力します。

hostname(config)# object-group icmp-type ping
hostname(config-service)# description Ping Group
hostname(config-icmp-type)# icmp-object echo
hostname(config-icmp-type)# icmp-object echo-reply

オブジェクト グループのネスト

オブジェクト グループを同じタイプの別のオブジェクト グループにネストするには、まず、「オブジェクト グループの追加」を参照して、ネストするグループを作成します。その後、次の手順を実行します。


ステップ 1 次のコマンドを入力して、下位に別のオブジェクト グループをネストするオブジェクト グループを追加または編集します。

hostname(config)# object-group {{protocol | network | icmp-type} grp_id | service grp_id {tcp | udp | tcp-udp}}
 

ステップ 2 次のコマンドを入力して、指定したグループをステップ 1 で指定したオブジェクト グループの下位に追加します。

hostname(config-group_type)# group-object grp_id
 

ネストするグループは、同じタイプである必要があります。

ネストしたグループ オブジェクトと通常のオブジェクトは、単一のオブジェクト グループ内でさまざまに組み合せることができます。


 

たとえば、さまざまな部門に所属する特権ユーザのネットワーク オブジェクト グループを次のように作成します。

hostname(config)# object-group network eng
hostname(config-network)# network-object host 10.1.1.5
hostname(config-network)# network-object host 10.1.1.9
hostname(config-network)# network-object host 10.1.1.89
 
hostname(config-network)# object-group network hr
hostname(config-network)# network-object host 10.1.2.8
hostname(config-network)# network-object host 10.1.2.12
 
hostname(config-network)# object-group network finance
hostname(config-network)# network-object host 10.1.4.89
hostname(config-network)# network-object host 10.1.4.100
 

その後、3 つすべてのグループを次のようにネストします。

hostname(config)# object-group network admin
hostname(config-network)# group-object eng
hostname(config-network)# group-object hr
hostname(config-network)# group-object finance
 

ACE では次のように管理オブジェクト グループを指定するだけです。

hostname(config)# access-list ACL_IN extended permit ip object-group admin host 209.165.201.29

アクセスリストでのオブジェクト グループの使用

アクセスリストでオブジェクト グループを使用するには、通常のプロトコル( protocol )、ネットワーク( source_address mask など)、サービス( operator port )、または ICMP タイプ( icmp_type )の各パラメータを object-group grp_id パラメータで置き換えます。

たとえば、 access-list { tcp | udp } コマンドで使用可能なすべてのパラメータにオブジェクト グループを使用するには、次のコマンドを入力します。

hostname(config)# access-list access_list_name [line line_number] [extended] {deny | permit} {tcp | udp} object-group nw_grp_id [object-group svc_grp_id] object-group nw_grp_id [object-group svc_grp_id] [log [[level] [interval secs] | disable | default]] [inactive | time-range time_range_name]
 

すべてのパラメータにオブジェクト グループを使用する必要はありません。たとえば、送信元アドレスにオブジェクト グループを使用しても、宛先アドレスはアドレスとマスクで指定できます。

次に示す、オブジェクト グループを使用しない通常のアクセスリストでは、内部ネットワーク上のいくつかのホストがいくつかの Web サーバへのアクセスを禁止されます。他のトラフィックはすべて許可されます。

hostname(config)# access-list ACL_IN extended deny tcp host 10.1.1.4 host 209.165.201.29 eq www
hostname(config)# access-list ACL_IN extended deny tcp host 10.1.1.78 host 209.165.201.29 eq www
hostname(config)# access-list ACL_IN extended deny tcp host 10.1.1.89 host 209.165.201.29 eq www
hostname(config)# access-list ACL_IN extended deny tcp host 10.1.1.4 host 209.165.201.16 eq www
hostname(config)# access-list ACL_IN extended deny tcp host 10.1.1.78 host 209.165.201.16 eq www
hostname(config)# access-list ACL_IN extended deny tcp host 10.1.1.89 host 209.165.201.16 eq www
hostname(config)# access-list ACL_IN extended deny tcp host 10.1.1.4 host 209.165.201.78 eq www
hostname(config)# access-list ACL_IN extended deny tcp host 10.1.1.78 host 209.165.201.78 eq www
hostname(config)# access-list ACL_IN extended deny tcp host 10.1.1.89 host 209.165.201.78 eq www
hostname(config)# access-list ACL_IN extended permit ip any any
hostname(config)# access-group ACL_IN in interface inside
 

2 つのネットワーク オブジェクト グループ(内部ホスト用に 1 つ、Web サーバ用に 1 つ)を作成すると、コンフィギュレーションが簡略化され、簡単に修正してホストを追加できるようになります。

hostname(config)# object-group network denied
hostname(config-network)# network-object host 10.1.1.4
hostname(config-network)# network-object host 10.1.1.78
hostname(config-network)# network-object host 10.1.1.89
 
hostname(config-network)# object-group network web
hostname(config-network)# network-object host 209.165.201.29
hostname(config-network)# network-object host 209.165.201.16
hostname(config-network)# network-object host 209.165.201.78
 
hostname(config-network)# access-list ACL_IN extended deny tcp object-group denied object-group web eq www
hostname(config)# access-list ACL_IN extended permit ip any any
hostname(config)# access-group ACL_IN in interface inside
 

オブジェクト グループの表示

現在設定されているオブジェクト グループのリストを表示するには、次のコマンドを入力します。

hostname(config)# show object-group [protocol | network | service | icmp-type | id grp_id]
 

パラメータを指定しないでコマンドを入力すると、システムは設定されているオブジェクト グループをすべて表示します。

次に、 show object-group コマンドの出力例を示します。

hostname# show object-group
object-group network ftp_servers
description: This is a group of FTP servers
network-object host 209.165.201.3
network-object host 209.165.201.4
object-group network TrustedHosts
network-object host 209.165.201.1
network-object 192.168.1.0 255.255.255.0
group-object ftp_servers

オブジェクト グループの削除

オブジェクト グループを削除するには、次のコマンドを入力します。


) 別のアクセスリストで使用されている場合は、オブジェクト グループを削除したり、オブジェクト グループを空にすることはできません。


特定のオブジェクト グループを削除するには、次のコマンドを入力します。

hostname(config)# no object-group grp_id
 

指定したタイプのオブジェクト グループをすべて削除するには、次のコマンドを入力します。

hostname(config)# clear object-group [protocol | network | services | icmp-type]
 

タイプを入力しない場合、すべてのオブジェクト グループが削除されます。

アクセスリストへのコメントの追加

拡張アクセスリスト、EtherType アクセスリスト、標準アクセスリストを含む任意のアクセスリストに、エントリについてのコメントを追加できます。コメントにより、アクセスリストが理解しやすくなります。

最後に入力した access-list コマンドの後にコメントを追加するには、次のコマンドを入力します。

hostname(config)# access-list access_list_name remark text
 

いずれかの access-list コマンドの前にコメントを入力すると、コメントはアクセスリストの最初の行に表示されます。

no access-list access_list_name コマンドを使用してアクセスリストを削除すると、コメントもすべて削除されます。

テキストは 100 文字まで指定できます。テキストの先頭にスペースを入力できます。末尾のスペースは無視されます。

たとえば、各 ACE の前にコメントを追加できます。コメントはその場所でアクセスリストに表示されます。コメントの開始位置にダッシュ(-)を入力すると、ACE と区別しやすくなります。

hostname(config)# access-list OUT remark - this is the inside admin address
hostname(config)# access-list OUT extended permit ip host 209.168.200.3 any
hostname(config)# access-list OUT remark - this is the hr admin address
hostname(config)# access-list OUT extended permit ip host 209.168.200.4 any
 

時間範囲オプション

時間ベースのアクセスリストを実装するには、 time-range コマンドを使用して、週および 1 日の中の特定の時刻を定義します。次に、 access-list extended コマンドを使用して、時間範囲をアクセスリストにバインドします。次の例では、「Sales」という名前のアクセスリストを「New_York_Minute」という名前の時間範囲にバインドしています。

hostname(config)# access-list Sales line 1 extended deny tcp host 209.165.200.225 host 209.165.201.1 time-range New_York_Minute
hostname(config)#
 

時間範囲を定義する方法の詳細については、『 Cisco Security Appliance Command Reference 』で time-range コマンドを参照してください。

時間範囲オプションの代わりに、ACE を非アクティブにすることも選択できます。アクセス コントロール エントリをディセーブルにするには、 inactive キーワードを使用します。

アクセスリスト アクティビティのロギング

この項では、拡張アクセスリストおよび Webtype アクセスリストのアクセスリスト ロギングを設定する方法について説明します。

ここでは、次の項目について説明します。

「アクセスリスト ロギングの概要」

「アクセス コントロール エントリのロギングの設定」

「拒否フローの管理」

アクセスリスト ロギングの概要

デフォルトでは、拡張 ACE または Webtype ACE でトラフィックが定義されている場合、セキュリティ アプライアンスは、拒否されたパケットごとに次の形式のシステム メッセージ 106023 を生成します。

%ASA|PIX-4-106023: Deny protocol src [interface_name:source_address/source_port] dst interface_name:dest_address/dest_port [type {string}, code {code}] by access_group acl_id
 

セキュリティ アプライアンスが攻撃を受けた場合、拒否されたパケットを示すシステム メッセージの数が非常に大きくなることがあります。代わりに、システム メッセージ 106100 を使用するロギングをイネーブルにすることをお勧めします。このメッセージは各 ACE の統計情報を示すもので、これを使用することにより、生成されるシステム メッセージの数を制限できます。または、すべてのロギングをディセーブルにする方法もあります。


) ロギング メッセージは、アクセスリストの ACE によってのみ生成されます。アクセスリストの末尾にある暗黙的な拒否によって生成されることはありません。拒否されたすべてのトラフィックによってメッセージが生成されるようにする場合は、次のようにして、手動でアクセスリストの末尾に暗黙的な ACE を追加します。

hostname(config)# access-list TEST deny ip any any log


 

拡張 access-list コマンドの末尾の log オプションを使用すると、次の動作を設定できます。

メッセージ 106023 の代わりにメッセージ 106100 をイネーブルにする。

すべてのロギングをディセーブルにする。

メッセージ 106023 を使用するデフォルト ロギングに戻る。

システム メッセージ 106100 は次の形式をとります。

%ASA|PIX-n-106100: access-list acl_id {permitted | denied} protocol interface_name/source_address(source_port) -> interface_name/dest_address(dest_port) hit-cnt number ({first hit | number-second interval})
 

メッセージ 106100 のロギングがイネーブルで、パケットが ACE と一致した場合、セキュリティ アプライアンスはフロー エントリを作成して、指定された時間内で受信したパケットの数を追跡します。セキュリティ アプライアンスは、最初のヒットがあったとき、および各間隔の終わりにシステム メッセージを生成し、その間隔におけるヒットの合計数を示します。各間隔の終わりに、セキュリティ アプライアンスはヒット数を 0 にリセットします。1 つの間隔内で ACE と一致するパケットがなかった場合、セキュリティ アプライアンスはそのフロー エントリを削除します。

フローは、送信元 IP アドレス、宛先 IP アドレス、プロトコル、およびポートで定義されます。同じ 2 つのホスト間の新しい接続では、送信元ポートが異なる場合があるため、接続のための新しいフローが作成されると、同じフローの増加は示されない場合があります。ロギング フローの数を制限するには、「拒否フローの管理」を参照してください。

確立された接続に属する、許可されたパケットをアクセスリストでチェックする必要はありません。最初のパケットだけがロギングされ、ヒット数に含められます。ICMP などのコネクションレス型プロトコルの場合は、許可されているパケットもすべてロギングされ、拒否されたパケットはすべてロギングされます。

このシステム メッセージの詳細については、『 Cisco Security Appliance Logging Configuration and System Log Messages 』を参照してください。

アクセス コントロール エントリのロギングの設定

ACE のロギングを設定するには、 log オプションに関する次の情報を参照してください。

hostname(config)# access-list access_list_name [extended] {deny | permit}...[log [[level] [interval secs] | disable | default]]
 

access-list コマンドの完全なシンタックスについては、「拡張アクセスリストの追加」および 「Webtype アクセスリストの追加」を参照してください。

引数を指定せずに log オプションを入力すると、システム ログ メッセージ 106100 はデフォルト レベル(6)とデフォルト間隔(300 秒)でイネーブルになります。次のオプションを参照してください。

level :0 ~ 7 の重大度。デフォルトは 6 です。

interval secs :システム メッセージ間の時間間隔(秒)。1 ~ 600 で指定します。デフォルトは 300 です。この値は、非アクティブ フローを削除するタイムアウト値としても使用されます。

disable :すべてのアクセスリスト ロギングをディセーブルにします。

default :メッセージ 106023 のロギングをイネーブルにします。この設定は、 log オプションがない場合と同じです。

たとえば、次のアクセスリストを設定します。

hostname(config)# access-list outside-acl permit ip host 1.1.1.1 any log 7 interval 600
hostname(config)# access-list outside-acl permit ip host 2.2.2.2 any
hostname(config)# access-list outside-acl deny ip any any log 2
hostname(config)# access-group outside-acl in interface outside
 

パケットが outside-acl の最初の ACE によって許可された場合、セキュリティ アプライアンスは次のシステム メッセージを生成します。

%ASA|PIX-7-106100: access-list outside-acl permitted tcp outside/1.1.1.1(12345) -> inside/192.168.1.1(1357) hit-cnt 1 (first hit)
 

この接続の 20 個の後続パケットは、外部インターフェイスに到達しますが、そのトラフィックをアクセスリストでチェックする必要はなく、ヒット数も増加しません。

指定した 10 分間のうちに同じホストによる接続が新たに 1 つ開始された場合(かつ、送信元ポートと宛先ポートが変わっていない場合)、ヒット数は 1 増加し、10 分間の終わりに次のメッセージが表示されます。

%ASA|PIX-7-106100: access-list outside-acl permitted tcp outside/1.1.1.1(12345)-> inside/192.168.1.1(1357) hit-cnt 2 (600-second interval)
 

パケットが 3 番目の ACE によって拒否された場合、セキュリティ アプライアンスは次のシステム メッセージを生成します。

%ASA|PIX-2-106100: access-list outside-acl denied ip outside/3.3.3.3(12345) -> inside/192.168.1.1(1357) hit-cnt 1 (first hit)
 

5 分間(デフォルト)のうちにさらに 20 回の試行が行われ、5 分間の終わりに次のメッセージが表示されます。

%ASA|PIX-2-106100: access-list outside-acl denied ip outside/3.3.3.3(12345) -> inside/192.168.1.1(1357) hit-cnt 21 (300-second interval)
 

拒否フローの管理

メッセージ 106100 のロギングがイネーブルで、パケットが ACE と一致した場合、セキュリティ アプライアンスはフロー エントリを作成して、指定された時間内で受信したパケットの数を追跡します。セキュリティ アプライアンスでは、ACE 用のロギング フローを最大 32 K 保持できます。どの時点でも大量のフローが同時に存在する可能性があります。メモリおよび CPU リソースが無制限に消費されないようにするために、セキュリティ アプライアンスは同時 拒否 フロー数に制限を設定します。この制限は、拒否フローに対してだけ設定されます(許可フローには設定されません)。これは、拒否フローは攻撃を示している可能性があるためです。制限に達すると、セキュリティ アプライアンスは既存の拒否フローが期限切れになるまでロギング用の新しい拒否フローを作成しません。

たとえば、DoS 攻撃(サービス拒絶攻撃)が開始された場合、セキュリティ アプライアンスは大量の拒否フローを短時間のうちに作成する可能性があります。拒否フロー数を制限することにより、メモリおよび CPU リソースが無制限に消費されないようにします。

拒否フローの最大数に達すると、セキュリティ アプライアンスは次のようなシステム メッセージ 106100 を発行します。

%ASA|PIX-1-106101: The number of ACL log deny-flows has reached limit (number).
 

拒否フローの最大数の設定、および拒否フロー アラート メッセージ(106101)間の間隔の設定には、次のコマンドを入力します。

セキュリティ アプライアンスがロギングを停止するまでの間にコンテキストごとに許可する拒否フローの最大数を設定するには、次のコマンドを入力します。

hostname(config)# access-list deny-flow-max number
 

number は 1 ~ 4096 で指定します。デフォルトは 4096 です。

拒否フローが最大数に達したことを示すシステム メッセージ(番号 106101)間の時間間隔を設定するには、次のコマンドを入力します。

hostname(config)# access-list alert-interval secs
 

seconds は 1 ~ 3600 で指定します。デフォルトは 300 です。