IP 名前付きアクセス コントロール リスト

アクセス コントロール リスト(ACL)は、ネットワークを通過するパケットの動きを制御するためにパケット フィルタリングを実行します。パケット フィルタリングは、ネットワークへのトラフィックのアクセスを限定し、ユーザーおよびデバイスのネットワークに対するアクセスを制限し、トラフィックがネットワークから流出するのを防ぐことで、セキュリティを提供します。IP アクセス リストによって、スプーフィングやサービス妨害攻撃の可能性を軽減し、ファイアウォールを介した動的で一時的なユーザー アクセスが可能になります。

IP 名前付きアクセス コントロール リスト機能により、ネットワーク管理者は、管理するアクセス リストを識別するための名前を使用することができます。

このモジュールでは、IP 名前付きアクセス コントロール リスト、およびその設定方法について説明します。

IP 名前付きアクセス コントロール リストに関する情報

アクセス リストの定義

アクセス コントロール リスト(ACL)は、ネットワークを通過するパケットの動きを制御するためにパケット フィルタリングを実行します。パケット フィルタリングは、ネットワークへのトラフィックのアクセスを限定し、ユーザーおよびデバイスのネットワークに対するアクセスを制限し、トラフィックがネットワークから流出するのを防ぐことで、セキュリティを提供します。IP アクセス リストによって、スプーフィングやサービス妨害攻撃の可能性を軽減し、ファイアウォールを介した動的で一時的なユーザー アクセスが可能になります。

また、IP アクセス リストは、セキュリティ以外の用途にも使用できます。たとえば、帯域幅制御、ルーティング アップデートのコンテンツの制限、ルートの再配布、ダイヤルオンデマンド(DDR)呼び出しのトリガー、デバッグ出力の制限、Quality of Service(QoS)機能のトラフィックの識別と分類などです。

アクセス リストは、少なくとも 1 つの permit ステートメント、および任意の 1 つまたは複数の deny ステートメントで構成される順次リストです。IP アクセス リストの場合、これらのステートメントは IP アドレス、上位層の IP プロトコルなどの IP パケットのフィールドに適用できます。

アクセス リストは名前または番号で識別および参照されます。アクセス リストはパケット フィルタとして動作し、各アクセス リストに定義されている条件に基づいてパケットがフィルタされます。

アクセス リストを構成した後でアクセス リストを有効にするには、アクセス リストをインターフェイスに適用するか(ip access-group コマンドを使用)、vty に適用するか(access-class コマンドを使用)、またはアクセス リストを許容するあらゆるコマンドでアクセス リストを参照する必要があります。複数のコマンドから同じアクセス リストを参照できます。

次の構成では、branchoffices という名前の IP アクセス リストがファスト イーサネット インターフェイス 0/1/0 上で構成され、着信パケットに適用されます。発信元アドレスとマスクのペアで指定されているネットワーク以外は、ファスト イーサネット インターフェイス 0/1/0 にアクセスできません。ネットワーク 172.16.7.0 上の送信元から発信されるパケットの宛先に、制限はありません。ネットワーク 172.16.2.0 上の送信元から発信されるパケットの宛先は、172.31.5.4 にする必要があります。


ip access-list extended branchoffices
 10 permit 172.16.7.0 0.0.0.3 any 
 20 permit 172.16.2.0 0.0.0.255 host 172.31.5.4
!
interface fastethernet 0/1/0
 ip access-group branchoffices in

名前付きまたは番号付きアクセス リスト

すべてのアクセス リストは、名前または番号で識別されます。名前付きアクセス リストは、番号付きアクセス リストよりも便利です。タスクを思いだしやすく関連性がある、わかりやすい名前を指定できるためです。名前付きアクセス リストでは、ステートメントの順序を変更したり、ステートメントを追加したりできます。

名前付きアクセス リストは、番号付きアクセス リストではサポートされない次の機能をサポートします。

  • IP オプションのフィルタリング

  • 非隣接ポート

  • TCP フラグ フィルタリング

  • no permit または no deny コマンドによるエントリの削除


Note


番号付きアクセス リストを受け入れるコマンドの中には、名前付きアクセス リストを受け入れないコマンドがあります。たとえば、vty には番号付きアクセス リストだけを使用します。


IP アクセス リストの利点

アクセス コントロール リスト(ACL)は、ネットワークを通過するパケットのフローを制御するためにパケット フィルタリングを実行します。パケット フィルタリングによってユーザーおよびデバイスのネットワークに対するアクセスを制限し、セキュリティの手段として利用できます。アクセス リストによってトラフィック数を減らすことで、ネットワーク リソースを節約できます。アクセス リストを使用した場合の利点は次のとおりです。
  • 着信 rsh および rcp 要求を認証する:アクセス リストは、デバイスへのアクセスを制御するように構成された認証データベース内のローカル ユーザー、リモート ホスト、およびリモート ユーザーの識別を簡素化できます。Cisco ソフトウェアは認証データベースを使用して、リモート シェル(rsh)およびリモート コピー(rcp)プロトコルの着信要求を受け取ることができます。

  • 不要なトラフィックまたはユーザーをブロックする:アクセス リストを使用すると、インターフェイス上の着信パケットまたは発信パケットをフィルタできるため、送信元アドレス、宛先アドレス、またはユーザー認証に基づいてネットワークへのアクセスを制御できます。また、アクセス リストを使用して、デバイス インターフェイスで転送またはブロックするトラフィックの種類を決定することもできます。たとえば、電子メール トラフィックはネットワークでルーティングすることを許可し、すべての Telnet トラフィックはネットワークに入ることをブロックするようにアクセス リストを使用できます。

  • vty へのアクセスを制御する:インバウンド vty(Telnet)でのアクセス リストは、デバイスへの回線にアクセスできるユーザーを制御できます。アウトバウンド vty でのアクセス リストは、デバイスからの回線が到達可能な宛先を制御できます。

  • QoS 機能のトラフィックを特定または分類する:アクセス リストは、Weighted Random Early Detection(WRED)および専用アクセス レート(CAR)の IP プレシデンスを設定することで、輻輳回避を提供します。また、クラスベース均等化キューイング(CBWFQ)、プライオリティ キューイング、カスタム キューイングのために輻輳管理を提供します。

  • debug コマンド出力を制限する:アクセス リストは、IP アドレスやプロトコルに基づいて debug 出力を制限できます。

  • 帯域幅制御を提供する:低速リンクでのアクセス リストはネットワークでの過剰なトラフィックを防止できます。

  • NAT 制御を提供する:アクセス リストによって、ネットワーク アドレス変換(NAT)が変換するアドレスを制御できます。

  • DoS 攻撃の可能性を低減する:アクセス リストは、サービス妨害(DoS)攻撃の可能性を低減させます。ホストからのトラフィック、ネットワーク、またはネットワークにアクセスするユーザーを制御するように IP 発信元アドレスを指定します。TCP インターセプト機能を設定することで、接続に関する要求でサーバーにフラッディングが発生しないようにすることができます。

  • ルーティング アップデートの内容を制限する:アクセス リストによって、ネットワーク内で送信、受信、または再配布されるルーティング アップデートを制御できます。

  • ダイヤルオンデマンド コールをトリガーする:アクセス リストによって、ダイヤルおよび切断条件を適用できます。

アクセス リストのルール

アクセス リストには、次のルールが適用されます。

  • 1 つのインターフェイス、1 つのプロトコル、1 つの方向につき、許可されるアクセス リストは 1 つだけです。

  • アクセス リストには少なくとも 1 つの permit ステートメントが含まれる必要があります。そうしないと、ネットワークに入るすべてのパケットが拒否されます。

  • アクセス リスト条件または一致基準の構成順序は重要です。パケットを転送するかブロックするかを決定するときに、シスコソフトウェアは、それぞれの条件ステートメントに対してステートメントの作成順にパケットをテストします。一致が見つかると、条件ステートメントはそれ以上チェックされません。同じ permit ステートメントまたは deny ステートメントでも、順序が異なる場合、ある状況では通過し、別の状況では拒否されるパケットが生じる可能性があります。

  • アクセス リストを名前によって参照したときに、そのアクセス リストが存在しない場合は、すべてのパケットが通過します。インターフェイスまたはコマンドに空のアクセス リストを適用すると、ネットワークに対するすべてのトラフィックが許可されます。

  • 標準のアクセス リストと拡張のアクセス リストの名前は同じにできません。

  • パケットが発信インターフェイスにルーティングされる前に、着信アクセス リストがパケットを処理します。ネットワークへのパケット アクセスを拒否するフィルタ条件がある着信アクセス リストは、ルーティング ルックアップ時のオーバーヘッドを削減します。構成されたフィルタ基準に基づいてネットワークへのアクセスを許可されたパケットはルーティング処理されます。インバウンド アクセス リストの場合、permit ステートメントを構成するとパケットは受信後に処理され、deny ステートメントを構成するとパケットは破棄されます。

  • アウトバウンド アクセス リストの場合、パケットの処理後にデバイスから送信されます。着信パケットはアウトバウンド インターフェイスにルーティングされてから、アウトバウンド アクセス リストで処理されます。アウトバウンド アクセス リストの場合、permit ステートメントを構成するとパケットは出力バッファに送信され、deny ステートメントを構成するとパケットは破棄されます。

  • アクセス リストで、デバイスに到達するトラフィック、またはデバイス経由で送信されるトラフィックは制御できますが、デバイスが送信元のトラフィックは制御できません。

IP アクセス リストを作成する際に役立つヒント

意図しない結果を回避し、より効率的で有効なアクセス リストを作成するために役立つヒントを紹介します。

  • アクセス リストを作成してから、インターフェイス(または別の対象)に適用します。その理由は、存在しないアクセス リストをインターフェイスに適用してから、アクセス リストを設定すると、最初のステートメントが有効になり、それに続く暗黙的な deny ステートメントによってアクセスに緊急の問題が発生するおそれがあるためです。

  • アクセス リストを設定してから適用するもう 1 つの理由は、空のアクセス リストが適用されたインターフェイスはすべてのトラフィックを許可するためです。

  • すべてのアクセス リストには、少なくとも 1 つの permit ステートメントが必要です。permit がないと、すべてのパケットは拒否され、トラフィックはまったく通過しません。

  • 最初に(permit または deny ステートメントに対する)一致が見つかった後は条件のテストが終了するため、パケットが一致する可能性の高いステートメントをアクセス リストの先頭に配置すると処理にかかる時間とリソースが削減されます。最も頻繁に発生する条件を発生頻度の低い条件より前に配置します。

  • ネットワークまたはサブネットのより具体的な参照が、より全般的な参照よりも前に出現するように、アクセス リストを構成します。

  • まだ拒否されていないその他のパケットすべてを許可する場合、ステートメント permit any any を使用します。ステートメント permit any any を使用すると、実質的に、アクセス リストの末尾にある暗黙的な deny ステートメントでその他すべてのパケットが拒否されることを防ぎます。最初のアクセス リスト エントリは permit any any にしないでください。すべてのトラフィックが通過し、以降のテストに到達するパケットがなくなります。permit any any を指定すると、まだ拒否されていないすべてのトラフィックが通過します。

  • すべてのアクセス リストは暗黙的な deny ステートメントで終了しますが、明示的な deny ステートメント(たとえば deny ip any any )の使用を推奨します。ほとんどのプラットフォームでは、show access-list コマンドを発行して拒否されるパケット数を表示し、アクセス リストが許可していないパケットに関する詳細情報を調査できます。明示的な deny ステートメントで拒否されたパケットのみがカウントされます。これは、明示的な deny ステートメントによって、より詳細なデータが生成されるためです。

  • アクセス リストの作成中、または作成後に、エントリを削除する場合があります。
    • 番号付きアクセス リストからはエントリを削除できません。削除しようとすると、アクセス リスト全体が削除されます。エントリを削除する必要がある場合、アクセス リスト全体を削除してから最初から作り直す必要があります。
    • 名前付きアクセス リストからはエントリを削除できます。no permit または no deny コマンドを使用すると、適切なエントリが削除されます。
  • 個々のステートメントの用途をひと目で確認および理解しやすくするために、remark コマンドを使用して、ステートメントの前後に役立つ注記を書き込むことができます。

  • 特定のホストまたはネットワークに対するアクセスを拒否し、そのネットワークまたはホストの誰かがアクセスしようとしたかどうかを検出する場合、対応する deny ステートメントを指定した log キーワードを含めます。それによって、その送信元からの拒否されたパケットがログに記録されます

  • このヒントは、アクセス リストの配置に適用されます。リソースを保存しようとすると、インバウンドアクセスリストでは常にフィルタ条件を適用した後に、ルーティング テーブルの検索を行います。アウトバウンド アクセス リストではフィルタ条件を適用する前に、ルーティング テーブルの検索を行います。

  • 新しい ACL ステートメントを追加する前に、パーサーが削除をクリーンアップする時間を確保します。

アクセス リストを適用する場所

アクセス リストは、デバイスの着信または発信インターフェイスに適用できます。アクセス リストを着信インターフェイスに適用すると、インターフェイスで着信するトラフィックが制御され、アクセス リストを発信インターフェイスに適用すると、インターフェイスから発信されるトラフィックが制御されます。

ソフトウェアは、着信インターフェイスでパケットを受信すると、アクセス リストで設定されているステートメントに対してパケットを検査します。アクセス リストがアドレスを許可している場合は、ソフトウェアはパケットを処理します。着信パケットをフィルタリングするためにアクセス リストを適用すると、フィルタリングされたパケットはデバイスに到達する前に廃棄されるため、デバイスのリソースを節約できます。

発信インターフェイスでは、アクセス リストはインターフェイスから転送(送信)されたパケットをフィルタリングします。発信インターフェイスで Rate-Based Satellite Control Protocol(RBSCP)の TCP アクセス コントロール リスト(ACL)を使用して、発信インターフェイスで TCP 確認応答(ACK)を受けるパケットの種類を制御できます。

debug コマンドを使用してアクセス リストを参照し、デバッグ ログの量を制限できます。たとえば、アクセス リストのフィルタリング基準または一致基準に基づいて、デバッグ ログを送信元または宛先のアドレスまたはプロトコルに制限できます。

アクセス リストを使用して、ルーティング アップデート、ダイヤルオンデマンド(DDR)、および Quality of Service(QoS)機能を制御することができます。

IP 名前付きアクセス コントロール リストの設定方法

IP 名前付きアクセス リストの作成

IP 名前付きアクセス リストを作成すると、発信元アドレスと宛先アドレス、またはアドレスと他の IP フィールドの組み合わせをフィルタリングすることができます。名前付きアクセス リストにより、分かりやすい名前の付いたアクセス リストを特定できます。

手順の概要

  1. enable
  2. configure terminal
  3. ip access-list extended name
  4. remark remark
  5. deny protocol [source source-wildcard] {any | host {address | name} {destination [destination-wildcard] {any | host {address | name} [log]
  6. remark remark
  7. permit protocol [source source-wildcard] {any | host {address | name} {destination [destination-wildcard] {any | host {address | name} [log]
  8. アクセス リストにステートメントをさらに指定するには、ステップ 4 ~ 7 を繰り返します。
  9. end
  10. show ip access-lists

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:

Device> enable
特権 EXEC モードを有効にします。
  • パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:

Device# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

ip access-list extended name

例:

Device(config)# ip access-list extended acl1

名前を使用して拡張 IP アクセス リストを定義し、拡張名前付きアクセス リストのコンフィギュレーション モードを開始します。

ステップ 4

remark remark

例:

Device(config-ext-nacl)# remark protect server by denying sales access to the acl1 network 
(任意)アクセス リスト ステートメントに説明を追加します。
  • 注釈は IP アクセス リスト エントリの前または後に指定できます。

  • この例では、remark コマンドによって、ステップ 5 で設定した deny コマンドがインターフェイスに対する Sales ネットワーク アクセスを拒否することをネットワーク管理者に示します。

ステップ 5

deny protocol [source source-wildcard] {any | host {address | name} {destination [destination-wildcard] {any | host {address | name} [log]

例:

Device(config-ext-nacl)# deny ip 192.0.2.0 0.0.255.255 host 192.0.2.10 log

(任意)注釈で指定されたすべての条件に一致するパケットをすべて拒否します。

ステップ 6

remark remark

例:

Device(config-ext-nacl)# remark allow TCP from any source to any destination
(任意)アクセス リスト ステートメントに説明を追加します。
  • 注釈は IP アクセス リスト エントリの前または後に指定できます。

ステップ 7

permit protocol [source source-wildcard] {any | host {address | name} {destination [destination-wildcard] {any | host {address | name} [log]

例:

Device(config-ext-nacl)# permit tcp any any

ステートメントで指定されたすべての条件に一致するパケットをすべて許可します。

ステップ 8

アクセス リストにステートメントをさらに指定するには、ステップ 4 ~ 7 を繰り返します。

(注)  

 

ステートメントによって明示的に許可されていないすべての送信元アドレスは、アクセス リストの末尾にある暗黙的な deny ステートメントで拒否されます。

ステップ 9

end

例:

Device(config-ext-nacl)# end

拡張名前付きアクセス リストのコンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。

ステップ 10

show ip access-lists

例:

Device# show ip access-lists

現在のすべての IP アクセス リストの内容を表示します。

例:

次に、 show ip access-lists コマンドの出力例を示します。

Device# show ip access-lists acl1

Extended IP access list acl1
   permit tcp any 192.0.2.0 255.255.255.255 eq telnet
   deny tcp any any
   deny udp any 192.0.2.0 255.255.255.255 lt 1024
   deny ip any any log

物理インターフェイスへのアクセスリストの適用

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface type number
  4. ip access-group {access-list-number | access-list-name } {in | out }
  5. ip access-list extended acl-name acl-number
  6. end

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Device> enable

特権 EXEC モードを有効にします。

  • パスワードを入力します(要求された場合)。

Step 2

configure terminal

Example:

Device# configure terminal

グローバル コンフィギュレーション モードを開始します。

Step 3

interface type number

Example:

インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

Step 4

ip access-group {access-list-number | access-list-name } {in | out }

Example:

Device(config-if)# ip access-group acl1 in

指定したアクセス リストをインバウンド インターフェイスに適用します。

  • 送信元アドレスをフィルタリングするには、インバウンド インターフェイスにアクセス リストを適用します。

Step 5

ip access-list extended acl-name acl-number

Example:

拡張 ACL コンフィギュレーション モードを有効にします。CLI は拡張 ACL コンフィギュレーション モードを開始します。このモードでは、後続のすべてのコマンドが現在の拡張アクセスリストに適用されます。

拡張 ACL コンフィギュレーション モードを有効にします。CLI は拡張 ACL コンフィギュレーション モードを開始します。このモードでは、後続のすべてのコマンドが現在の拡張アクセスリストに適用されます。

  • ACL コンフィギュレーション モードから入力されたすべてのコマンドが適用されるアクセスリスト。英字で始まる最大 30 文字の英数字文字列を使用します。

  • アクセス リスト コンフィギュレーション モードから入力されたすべてのコマンドが適用されるアクセスリスト。数字の識別子を使用します。拡張アクセスリストでは、有効範囲は 100 ~ 199 です。

Step 6

end

Example:

Device(config-if)# end

インターフェイス コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。

IP 名前付きアクセス コントロール リストの設定例

例:IP 名前付きアクセス コントロール リストの作成

Device# configure terminal
Device(config)# ip access-list extended acl1
Device(config-ext-nacl)# remark protect server by denying sales access to the acl1 network
Device(config-ext-nacl)# deny ip 192.0.2.0 0.0.255.255 host 192.0.2.10 log
Device(config-ext-nacl)# remark allow TCP from any source to any destination
Device(config-ext-nacl)# permit tcp any any 

例:インターフェイスへのアクセス リストの適用

Device# configure terminal

Device(config-if)# ip access-group acl1 in 

IP 名前付きアクセス コントロール リストの追加情報

関連資料

関連項目

マニュアル タイトル

セキュリティ コマンド

シスコのテクニカル サポート

説明

リンク

右の URL にアクセスして、シスコのテクニカル サポートを最大限に活用してください。これらのリソースは、ソフトウェアをインストールして設定したり、シスコの製品やテクノロジーに関する技術的問題を解決したりするために使用してください。この Web サイト上のツールにアクセスする際は、Cisco.com のログイン ID およびパスワードが必要です。

http://www.cisco.com/cisco/web/support/index.html

IP 名前付きアクセス コントロール リストに関する機能情報

次の表に、このモジュールで説明した機能に関するリリース情報を示します。この表は、ソフトウェア リリース トレインで各機能のサポートが導入されたときのソフトウェアリリースだけを示しています。その機能は、特に断りがない限り、それ以降の一連のソフトウェアリリースでもサポートされます。

プラットフォームのサポートおよびシスコ ソフトウェアイメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。Cisco Feature Navigator にアクセスするには、www.cisco.com/go/cfn に移動します。Cisco.com のアカウントは必要ありません。
Table 1. IP 名前付きアクセス コントロール リストに関する機能情報

機能名

リリース

機能情報

IP 名前付きアクセス コントロール リスト

アクセス コントロール リスト(ACL)は、ネットワークを通過するパケットの動きを制御するためにパケット フィルタリングを実行します。パケット フィルタリングは、ネットワークへのトラフィックを限定し、ユーザーおよびデバイスのネットワークに対するアクセスを制限し、トラフィックがネットワークから流出するのを防ぐことで、セキュリティを提供します。IP アクセス リストによって、スプーフィングやサービス妨害攻撃の可能性を軽減し、ファイアウォールを介した動的で一時的なユーザー アクセスが可能になります。