Cisco IOS と NX-OS ソフトウェア : Cisco IOS ?????? ???? 12.2 ??????

Dos 攻撃時の CAR の使用

2004 年 1 月 27 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2008 年 3 月 6 日) | フィードバック

目次

概要
はじめに
     表記法
     前提条件
     使用するコンポーネント
ICMP/Smurf のレート制限
TCP Syn パケットのレート制限
     11.1(X)CC
     12.0(X)[S/T/M]
CAR に関する FAQ
     SYN パケットをレート制限する CAR ルールに使用する数値を決めるにはどうすればいいですか。
     Syn パケットを過剰に制限していることは、どうすればわかりますか。
     ギガビット スイッチ ルータ(GSR)での CAR のイネーブルは可能ですか。
     Cisco 7500 ルータでの分散 CAR(dCAR)のイネーブルは可能ですか。
     Cisco 7200 での CAR のイネーブルは可能ですか。
その他の機能と代替機能
     IP 受信 ACL
     IP Source Tracker
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

レート制限はネットワークの機能性を低下させますが、Denial of Service(Dos; サービス妨害)攻撃パケットのストリームを受信したときでも、実際のネットワーク トラフィックの場合と同様にネットワークがダウンしないようにするメカニズムです。 Cisco IOS(R) ソフトウェアでは、さまざまな方法でレート制限を実現できます。 つまり、Committed Access Rate(CAR; 専用アクセス レート)、トラフィック シェーピング、モジュラ Quality of Service Command Line Interface(QoS CLI; QoS コマンドライン インターフェイス)によるシェーピングとポリシングが、その方法です。 この文書では、Dos 攻撃時に使用する CAR について説明します。これは、他のスキームはこの基本概念のバリエーションに過ぎないためです。

はじめに

表記法

文書表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

前提条件

この文書に適用される特定の前提条件はありません。

使用するコンポーネント

この文書の情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

  • CAR は、Cisco IOS ソフトウェア リリース 11.1CC および 12.0 メインラインで初めてサポートされました。

  • トラフィック シェーピングは、Cisco IOS ソフトウェア リリース 11.2 で初めて導入されました。

  • モジュラ QoS CLI は、Cisco IOS ソフトウェア リリース 12.0XE, 12.1E, 12.1T で初めて導入されました。

ICMP/Smurf のレート制限

次のアクセス リストを設定します。

access-list 102 permit icmp any any echo
 access-list 102 permit icmp any any echo-reply
 interface <interface> <interface #>
   rate-limit input access-group 102 256000 8000 8000 conform-action transmit 
   exceed-action drop

CAR をイネーブルにするには、Cisco Express Forwarding(CEF)をボックス上でイネーブルにし、CAR 用に設定されたインターフェイスを CEF 交換インターフェイスにする必要があります。

上記の例で使用している帯域幅の値は、DS3 タイプの帯域幅に対するものです。 値は、インターフェイスの帯域幅と、トラフィック タイプを制限するレートに基づいて選択します。 入力インターフェイスが小さい場合は、より低いレートを設定できます。

TCP Syn パケットのレート制限

11.1(X)CC

どのホストが攻撃を受けているかわかっている場合は、次のアクセス リストを設定します。

access-list 103 deny tcp any host 10.0.0.1 established
 
 !--- まず確立済みセッションが稼働するようにします。
 
 access-list 103 permit tcp any host 10.0.0.1
 
 !--- 次に初期 tcp SYN パケットのレート制限だけを実行します。
 !-- TCP セッションの他のパケットは、ACL の先のエントリにヒットしているからです。
 
 interface <interface> <interface #>
 rate-limit input access-group 103 8000 8000 8000 conform-action transmit 
 exceed-action drop

注:上記例は、攻撃を受けているホストが 10.0.0.1 であることを前提としています。 

どのホストが攻撃を受けているかわからず、ネットワークを保護する場合は、次のアクセス リストを設定します。

access-list 104 deny tcp any any established
 
 !--- まず確立済みセッションが稼働するようにします。
 
 access-list 104 permit tcp any any
 
 !--- 次に初期 tcp SYN パケットのレート制限だけを実行します。
 !---TCP セッションの他のパケットは、ACL の先のエントリにヒットしているからです。
 
 interface <interface> <interface #>
   rate-limit input access-group 104 64000 8000 8000 conform-action transmit 
   exceed-action drop

注:すべての TCP Syn パケットを、64000 bps にレート制限します。 

12.0(X)[S/T/M]

どのホストが攻撃を受けているかわかっている場合は、次のアクセス リストを設定します。

access-list 105 permit tcp any host 10.0.0.1 syn
 
 !--- Syn パケットだけを対象とします。
 
 interface <interface> <interface #>
   rate-limit input access-group 105 8000 8000 8000 conform-action transmit 
   exceed-action drop

注:ここでは、攻撃を受けているホストが 10.0.0.1 であることを前提としています。 

どのホストが攻撃を受けているかわからず、ネットワークを保護する場合は、次のアクセス リストを設定します。

access-list 106 permit tcp any any syn
 
 !--- Syn パケットだけを対象とします。
 
 interface <interface> <interface #>
   rate-limit input access-group 106 64000 8000 8000 conform-action transmit 
   exceed-action drop

注:すべての TCP Syn パケットを、64000 bps にレート制限します。 

CAR に関する FAQ

SYN パケットをレート制限する CAR ルールに使用する数値を決めるにはどうすればいいですか。

運用しているネットワークについて理解してください。 一定量のデータに対して確立される TCP セッションの数は、トラフィック タイプによって異なります。

  • WWW トラフィックでは、FTP サーバ ファーム トラフィックでよりも TCP Syn パケットの比率がはるかに高くなっています。

  • PC クライアント スタックは、少なくとも 1 つおきの TCP パケットに応答することになります。 他のスタックの応答頻度は多い場合も少ない場合もあります。

  • これらの CAR ルールを適用しようとしているのは、自宅ユーザ エッジですか、あるいはお客様のネットワーク エッジですか。

users ---- { ISP } --- web farm 

WWW でのトラフィック比率は次のようになります。

Web ファームから 5 K のファイルをダウンロードするたび、560 バイトが Web ファームに送信されます。

  • 80 バイト [SYN、ACK]

  • 400 バイト [320 バイトの HTTP 構造、2 ACK]

  • 80 バイト [FIN、ACK]

したがって、Web ファームからの出トラフィック対 Web ファームからの入トラフィックの比率を 10:1 とすると、Syn パケットを構成しているトラフィック量では 120:1 になります。

OC3 リンクが存在するとする場合、TCP Syn パケット レートを 155 Mbps/120 = 1.3 Mbps に制限する必要があります。

Web ファーム ルータの入力インターフェイスでは、次のように設定します。

rate-limit input access-group 105 1300000 256000 256000 conform-action transmit 
 exceed-action drop

TCP セッションの長さが長くなるほど、TCP Syn パケット レートは小さくなります。

users ---- { ISP } --- MP3/FTP Farm 

平均サイズの MP3 ファイルでは 4 〜 5 Mbps になります。 平均的なファイルのダウンロードを 4 Mbps とすると、次のような入トラフィックが生成されます。

  • 80 バイト [SYN、ACK]

  • 3000 バイト [ACK + FTP get]

  • 80 バイト [FIN、ACK]

出トラフィックに対する TCP SYN のレートは、155 Mbps / 120000 == 1.3 Kbps です。 設定:

 rate-limit input access-group 105 1300 1200 1200 conform-action transmit 
 exceed-action drop

Syn パケットを過剰に制限していることは、どうすればわかりますか。

サーバ上での通常の接続レートがわかっている場合は、CAR を有効にする前と有効にした後の値を比較して、接続レートが低下したかどうかを判断できます。 接続レートが低下している場合、CAR パラメータを増分して、許容セッション数を増やす必要があることがあります。

CAR の制限が高すぎるかどうかを判断するもう 1 つの方法は、ユーザが TCP セッションを確立する際に何回試行しているかを確認することです。

ギガビット スイッチ ルータ(GSR)での CAR のイネーブルは可能ですか。

可能です。 CAR は、Engine 0 と Engine 1 ラインカードでサポートされています。 CAR は、Cisco IOS ソフトウェア リリース 11.2(14)GS2 からサポートされています。 CAR のパーフォーマンスへの影響は、適用される CAR ルールの数に依存しています。

パーフォーマンスへの影響についても、Engine 0 ラインカードよりも、Engine 1 ラインカードの方が大きくなります。 Engine 0 ラインカードで CAR をイネーブルにする場合、CSCdp80432 に注意してください。 CAR を有効にしてマルチキャスト トラフィックをレート制限する場合は、CSCdp32913 の影響を受けていないことを確認してください。 CAR を有効にする前に注意する最後の不具合は、CSCdm56071 です。

Cisco 7500 ルータでの分散 CAR(dCAR)のイネーブルは可能ですか。

可能です。dCAR は、Cisco IOS ソフトウェア リリース 11.1(20)CC 以降と、すべての 12.0 ソフトウェア リリースの RSP/VIP プラットフォームでサポートされています。

CAR をイネーブルにすることにより、多少、パーフォーマンス上の影響があります。 CAR の設定によっては、OC3 上の VIP2-50(DCAR を使用)で(インターネット混合トラフィックの)ライン レートを実現できる場合があります。 CSCdm56071 に該当していないことを確認してください。 出力 CAR を使用する場合は、接続性が CSCdp52926 の影響を受ける場合があります。 dCAR をイネーブルにすると、CSCdp58615 の原因による VIP クラッシュが起こることがあります。

Cisco 7200 での CAR のイネーブルは可能ですか。

可能です。 CAR は、Cisco IOS ソフトウェア リリース 11.1(20)CC 以降の NPE、およびすべての 12.0 ソフトウェア リリースでサポートされています。

CAR をイネーブルにすることにより、多少、パーフォーマンス上の影響があります。 これは CAR の設定に依存します。 修正が必要な不具合には、CSCdm85458 と CSCdm56071 が含まれます。

注:ルータは CAR 文に対するリニア検索により一致する「CAR」文を見つける必要があるため、インターフェイス/サブインターフェイスに CAR エントリが多数存在すると、パーフォーマンスが劣化します。 

その他の機能と代替機能

IP 受信 ACL

この機能は、Cisco 12000 シリーズ インターネット ルータの Cisco IOS ソフトウェア リリース 12.0(22)S で導入されました。

IP 受信 ACL 機能により、ルータに着信するトラフィックに対する基本的なフィルタリング機能が提供されます。つまり、入力インターフェイスで入力 Access Control List(ACL; アクセス コントロール リスト)によりフィルタリングが行われるため、ルータは優先度の高いルーティング プロトコルのトラフィックを攻撃から保護できます。 IP 受信 ACL によって、分散ラインカードでトラフィックがフィルタリングされた後、ルータ プロセッサがパケットを受信します。 この機能によりルータへの Denial of Service(Dos)フラッドのフィルタリングができるため、フラッドによるルータ プロセッサのパーフォーマンス低下を防止できます。

詳細については、『IP 受信 APL』文書のページを参照してください。

IP Source Tracker

この機能は、Cisco 12000 シリーズ インターネット ルータの Cisco IOS ソフトウェア リリース 12.0(21)S と、Cisco 7500 シリーズ ルータの Cisco IOS ソフトウェア リリース 12.0(22)S で導入されました。

IP Source Tracker 機能を使うと、攻撃を受けていると思われるホストに着信するトラフィックに関する情報を収集できます。 またこの機能により、攻撃を簡単に追跡して、ネットワークのエントリ ポイントまでたどることができます。 この新機能を使ってネットワークの入力ポイントが特定できたら、ACL または CAR を使って攻撃を効果的にブロックできます。

詳細については、『IP Source Tracker』文書のページを参照してください。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 12764