この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、Cisco Anomaly Guard Module(Guard モジュール)の概要、コンポーネント、および動作のしくみについて説明します。この章は、次の項で構成されています。
• Cisco Anomaly Guard Module について
• ゾーンについて
Guard モジュール は、有効な Distributed Denial of Service(DDoS; 分散型サービス拒絶)攻撃軽減デバイスで、疑わしいトラフィックを宛先変更して処理し、攻撃パケットをドロップし、正当なトランザクションを転送します。
Guard モジュールは、次の製品のどちらかに設置できます。
Guard モジュールは、ネットワーク要素であるゾーンを DDoS 攻撃から保護します。Guard モジュールは、攻撃対象から宛先変更されたトラフィックを受信し、特定の攻撃パケットを識別して削除し、正当なトラフィックを元の宛先に転送します。詳細については、「ゾーンについて」を参照してください。
通常 Guard モジュールは、分散型のアップストリーム構成にバックボーン レベルで導入します。Guard モジュールは攻撃を検出すると、攻撃されたゾーンのトラフィックのみを自分宛に宛先変更します。他のゾーンのトラフィックは、遅れることなくそのまま流されます。Guard モジュールはパケットを分析して DDoS コンポーネントを除去し、クリーンなトラフィック パケットが目的のゾーンに流れるようにします。
Guard モジュールは常にトラフィックをフィルタリングし、新たに発生する攻撃に対する警戒を続けます。
• トラフィックの宛先変更メカニズム。このメカニズムにより、ゾーンのトラフィックがラーニング システムと保護システムに宛先変更され、その後正当なトラフィック フローがゾーンに戻されます。この機能がネットワーク トラフィックに支障をきたすことはありません。
• アルゴリズムに基づいたラーニング システム。このラーニング システムは、ゾーンのトラフィックをラーニングし、それ自体を特定の特性に適合させ、しきい値とポリシーという形で参考値と保護のための指示を与えることにより、保護プロセスをサポートします。また、Guard モジュールには、Guard モジュールがラーニング プロセスを完了しておらず、ゾーン トラフィックに合せて調整を完了していない場合でも、ゾーンが攻撃されている状況に対応できるよう、オンデマンドの保護も用意されています。
• 保護プロセス。このプロセスでは、正当なトラフィックと疑わしいトラフックが区別され、悪意のあるトラフィックがフィルタリングされ、正当なトラフィックのみがゾーンに渡されます。
Guard モジュールは、これらのコンポーネントを統合することにより、攻撃時には保護の役割を果たしますが、それ以外のときにはバックグラウンドに控えた状態を保つことができます。
DDoS 攻撃は、正当なユーザが特定のコンピュータまたはネットワーク リソースにアクセスするのを拒否します。このような攻撃は、個人が悪意のある要求をターゲットに送信してネットワーク サービスの質を低下させ、サーバやネットワーク デバイスのネットワーク サービスを妨害し、不要なトラフィックでネットワーク リンクを飽和状態にすることで発生します。
DDoS 攻撃は、悪意のあるユーザがインターネット上で数百、数千台ものホスト(ゾンビ)を操作し、トロイの木馬を仕掛けることにより発生します。トロイの木馬とは、無害なアプリケーションを装った複製しないプログラムで、ユーザが予想もしない有害なアクションを起こすものです。トロイの木馬は、攻撃者によりマスター サーバ コントローラから、いつ、どのように組織的攻撃を開始するかの指示を受けます。ゾンビは、保護されたサーバのネットワーク リソースを偽のサービス要求によって使用不能にする自動化スクリプトを実行します。このような攻撃には、Web サーバに偽のホームページ要求を大量に送信して正当なユーザがアクセスできないようにしたり、Domain Name System(DNS; ドメイン ネーム システム)サーバのアベイラビリティと正確性を低下させようとしたりするものなどがあります。多くの場合、ゾンビは個人によって開始されますが、実際に攻撃用コードを実行しているコンピュータは、複数の組織によって管理される複数の自律システム上に分散しており、その数は何十万にも及ぶ可能性があります。このような分散攻撃は、一般的なゾーンで使用される低い帯域幅では処理できない大量のトラフィックを発生させます。ゾーンの詳細については、「ゾーンについて」を参照してください。
• ネットワーク リンクまたはサブネット、またはネットワーク全体
Guard モジュール は、ゾーンのネットワーク アドレスの範囲が重なっていなければ、複数のゾーンを同時に保護できます。
ゾーンを定義する場合は、Guard モジュールがゾーンの保護に使用するネットワーク アドレスとポリシーを設定します。ゾーンに名前を割り当てて、この名前を使用してゾーンを参照します。
ターゲット ホスト(ゾーン)を保護するため、Guard モジュールはゾーン トラフィックを自分自身に宛先変更します。外部(Cisco Traffic Anomaly Detector Moduleなど)から攻撃の兆候が示されてから Guard モジュールを設定してゾーンを保護することも、ゾーンの設定完了後すぐにゾーンを保護するように Guard モジュールに指示することもできます。Guard モジュールはデータ フローを分析し、すべての DDoS 要素をブロックし、宛先変更されたストリームから悪意のあるパケットを除去し、クリーンなトラフィックが目的のゾーンに流れるようメインのデータ パスに戻します。図 1-1 に、保護動作を示します。
宛先変更は、Guard モジュールのルーティング設定を使用してグローバルに設定されます。詳細については、 第 5 章「トラフィックの宛先変更の設定」 を参照してください。
図 1-1 Cisco Anomaly Guard Moduleの動作
Guard モジュールは、ゾーン トラフィックの特性をラーニングすることにより、ゾーン トラフィックを比較し、悪意のあるトラフィックになる可能性がある異常トラフィックすべてをトレースします。
通常のトラフィック状態の分析時には、Guard モジュールのラーニング プロセスにより、異常の存在を検出するための参照ポイントとして使用する通常トラフィック パターンのベースラインが作成されます。これらの参照ポイントをポリシーといいます。
ラーニング プロセスは、次の 2 つのフェーズで構成されています。
• ポリシー構築フェーズ:Guard モジュールがゾーン ポリシーを作成します。ポリシー テンプレートは、Guard モジュールがゾーン ポリシーの構築に使用する規則を提供します。トラフィックが透過的に Guard モジュールを通過することにより、Guard モジュールはゾーンが使用する主なサービスを検出できます。
• しきい値調整フェーズ:Guard モジュールは、ゾーン サービスのトラフィック レートに合せてゾーン ポリシーを調整します。トラフィックが透過的に Guard モジュールを通過することにより、Guard モジュールはポリシー構築フェーズ中に検出されたサービスのしきい値を調整できます。
ゾーン ポリシーは Guard モジュールの構成要素で、悪意のあるものになりうる異常をトレースするために、Guard モジュールがゾーン トラフィックを比較する基準になります。トラフィック フローがポリシーしきい値を超えると、Guard モジュールはこれを異常または悪意のあるトラフィックとして認識し、フィルタ セット(動的フィルタ)を動的に設定し、攻撃の重大度に応じて適切な保護レベルをこのトラフィック フローに適用します。
トラフィックのラーニングの詳細については、 第 6 章「ゾーンの設定」 を参照してください。ゾーン ポリシーの詳細については、 第 8 章「ポリシー テンプレートとポリシーの設定」 を参照してください。
Guard モジュールの保護は、次の方法でアクティブにできます。
• 自動保護モード:Guard モジュールは、攻撃時に作成する動的フィルタを自動的にアクティブにします。
• インタラクティブ保護モード:Guard モジュールは、攻撃時に動的フィルタを作成しますが、アクティブにしません。代わりに Guard モジュールは、推奨されるアクションを受け入れるか、無視するか、または自動アクティベーションに切り替えるかどうかをユーザが確認および決定できるように、推奨されるアクションとして動的フィルタをグループ化します。
詳細については、 第 11 章「インタラクティブ保護モードの使用方法」 を参照してください。
しきい値調整フェーズとゾーン保護を同時にアクティブにして(保護およびラーニング機能)、Guard モジュールがゾーン ポリシーのしきい値をラーニングすると同時に、ゾーン ポリシーのしきい値でトラフィックの異常がないかを監視するようにできます。Guard モジュールは、攻撃を検出するとラーニング プロセスを停止しますが、ゾーン保護は継続します。このプロセスにより、Guard モジュールでは悪意のあるトラフィックのしきい値がラーニングされなくなります。攻撃が終了すると、Guard モジュールはラーニング プロセスを再開します。詳細については、「ゾーンのポリシーのしきい値調整とゾーン保護のイネーブル化の同時実行」を参照してください。
デフォルトのゾーン テンプレートを使用すると、Guard モジュールによるゾーン トラフィック特性のラーニングをイネーブルにしなくても、ゾーンを保護することができます。ゾーン テンプレートのデフォルトポリシーとフィルタにより、Guard モジュールにとって未知のトラフィック特性を持つゾーンを保護できます。詳細については、「オンデマンド保護のアクティブ化」を参照してください。
Guard モジュールはゾーンごとの攻撃レポートを提供し、ゾーン ステータスが表示できるようになっています。攻撃レポートでは、最初の動的フィルタの生成から保護の終了まで、攻撃の詳細な情報が提供されます。詳細については、 第 12 章「攻撃レポートの使用方法」 を参照してください。
Guard モジュールは、ゾーンのトラフィックを必要な保護レベルに誘導するために、4 種類のフィルタを使用します。これらのフィルタは、トラフィック フローをカスタマイズし、DDoS 保護防止操作を制御するように設定できます。
Guard モジュールでは、次のタイプのフィルタが使用されます。
• ユーザ フィルタ:指定されたトラフィック フローに必要な保護レベルを適用します。
• バイパス フィルタ:Guard モジュールが特定のトラフィック フローを処理しないようにします。
• フレックスコンテンツ フィルタ:指定されたトラフィック フローをカウントまたはドロップします。フレックスコンテンツ フィルタには非常に柔軟なフィルタリング機能があり、IP ヘッダーと TCP ヘッダー内のフィールドに応じたフィルタリングや、コンテンツ バイト数に応じたフィルタリングが可能です。
• 動的フィルタ:指定されたトラフィック フローに必要な保護レベルを適用します。Guard モジュールは、トラフィック フロー分析に基づいて動的フィルタを作成します。Guard モジュールは、ゾーン トラフィックと DDoS 攻撃のタイプにこのフィルタ セットを継続的に適合させます。動的フィルタは有効期間が限定されており、攻撃が終了すると消去されます。
Guard モジュールには次の 3 つの保護レベルがあり、各レベルでさまざまなプロセスをトラフィック フローに適用しています。
• 分析保護レベル:Guard モジュールはトラフィックを監視状態で流します。ただし、保護中に異常がトレースされていない場合、トラフィックは影響を受けません。Guard モジュールが異常をトレースすると、そのトラフィックを適切な保護レベルに誘導します。
• 基本保護レベル:Guard モジュールはスプーフィング防止機能やゾンビ防止機能をアクティブにし、疑わしいトラフィック フローを調べてトラフィックを認証し、その送信元を確認します。
• 強化保護レベル:Guard モジュールは、強力なスプーフィング防止機能をアクティブにします。この機能により、トラフィック フローのパケットが調べられ、その正当性が確認されます。
Guard モジュールはトラフィックを分析し、ゾーン トラフィックの異常を監視するゾーン ポリシーとゾーン フィルタを調整します。また、ゾーンに注入するトラフィックのレートを制限し、トラフィック フローが一杯にならないようにします。
Guard モジュールの保護サイクルは、ゾーン フィルタ、ゾーン ポリシー、および Guard の保護レベルをトラフィック フローに適用し、ゾーンをクリーンにして正当なトラフィックのみをゾーンに戻します。図 1-2 に Guard モジュールの保護サイクルを示します。
ゾーン保護がアクティブになると、ゾーン ポリシーによりゾーンのトラフィック フローが監視されます。ポリシーは、特定のトラフィック フローがポリシーのしきい値を超過すると、そのフローに対してアクションを実行します。実行するアクションは、通知の発行から、新しいフィルタ(動的フィルタ)の作成にまで及びます。このフィルタは、宛先変更されたトラフィックを関連する保護レベルに誘導するものです。Guard モジュールは、いくつかの認証方式を使用してトラフィックを認証します。Guard モジュールはトラフィック フローを分析し、ゾーンで対応可能な定義済みのレートを超えたトラフィックをドロップし、正当なトラフィックをゾーンに戻します。
Guard モジュールは、クローズド ループのフィードバック サイクルを制御して、動的に変化するゾーン トラフィック特性に合せて Guard モジュールの保護処置を調整します。Guard モジュールは適切な保護戦略を採用し、次々に変化する DDoS 攻撃のタイプやトラフィック フローに対応します。事前定義された期間中に、使用されている動的フィルタがなく、ゾーンへのトラフィックがドロップされず、新しい動的フィルタが追加されなかった場合、Guard モジュールはゾーン保護を停止します。
Guard モジュールは、1 Gbps(ギガビット/秒)または 3 Gbps の 2 つの帯域幅パフォーマンスレベルで動作可能です。Guard モジュールにロードされたソフトウェア イメージにより、モジュールとスーパーバイザ エンジンの間にある 3 つの物理インターフェイスの使用が制御され、動作帯域幅が決まります。インストールされたソフトウェア イメージにより、次の方法でインターフェイスが制御されます。
• 6.0 ソフトウェア イメージ:このソフトウェア エンジンのスループットは 1 Gbps で、データ トラフィックは 1 つのインターフェイス ポートを経由してスーパーバイザ エンジンと Guard モジュールの間を移動できます。2 番目のインターフェイス ポートは、アウトオブバンド管理トラフィックのみを転送します。3 番目のインターフェイス ポートは使用されません。
• 6.0-XG ソフトウェア イメージ:このソフトウェア イメージのスループットは 3 Gbps で、3 つのインターフェイス ポートすべてがデータ トラフィックとインバンド管理トラフィックを転送できます。各ポートの最大帯域幅は 1 Gbps で、動作の合計帯域幅は 3 Gbps になります。XG ソフトウェア イメージを使用して動作するには、Guard モジュールでソフトウェア ライセンスが必要になります。
(注) ソフトウェア イメージがインストールされた Guard モジュールを注文するか、6.0 ソフトウェア イメージ(1 Gbps 動作)を 6.0-XG ソフトウェア イメージ(3 Gbps 動作)にアップグレードできます。6.0-XG ソフトウェア イメージがプレインストールされた Guard モジュールを注文する場合は、Guard モジュールのセットアップ時にライセンスをインストールする必要があります(「1 Gbps から 3 Gbps への帯域幅のアップグレード」を参照)。
表1-1 に、Guard モジュールの物理インターフェイスとスーパーバイザ エンジン ポート間の相関を示します。表には、3 Gpbs 動作対応のソフトウェア イメージをインストールした後に、インターフェイス eth1(管理トラフィックのみ)の CLI 指定子が giga1(データおよび管理トラフィック)に変更されるしくみも示しています。
|
1 Gbps 動作 |
3 Gbps 動作 |
||
---|---|---|---|---|
|
タイプ |
|
タイプ |
|
|
||||
|
||||
|
次の項目は、1 Gbps 動作と 3 Gbps 動作とのインターフェイス設定の違いを説明しています。
• Guard モジュールの物理インターフェイスへの IP アドレスの割り当て:
–1 Gbps 動作:IP アドレスを giga2 にのみ割り当てます。
–3 Gbps 動作:固有の IP アドレスを各インターフェイスに割り当てます(アドレスは同じサブネット上に存在する必要があります)。
• Guard モジュールの物理インターフェイス上でのプロキシの設定:
–1 Gbps 動作:1 つ以上のプロキシを giga1 でのみ設定します。
–3 Gbps 動作:1 つ以上のプロキシを各インターフェイスで設定します。
• スーパーバイザ エンジンでのデータ トラフィック VLAN の設定:
–1 Gbps 動作:データ トラフィック VLAN をポート 2 でのみ定義します。
–3 Gbps 動作:データ トラフィック VLAN をスーパーバイザ エンジンの 3 つのポートすべてで定義します。
• Guard モジュールでのデータ トラフィック VLAN の設定:
–1 Gbps 動作:VLAN を giga2 物理インターフェイスでのみ定義します。
–3 Gbps 動作:VLAN を Guard モジュールの 3 つの物理インターフェイスすべてで定義します。
• スーパーバイザ エンジンでの管理トラフィック VLAN の設定:
–1 Gbps 動作:アウトオブバンド管理トラフィックの VLAN をポート 1 でのみ定義します。
–3 Gbps 動作:アウトオブバンド管理トラフィックの VLAN を 1 つ以上のポートで定義します。
• Guard モジュールでの管理トラフィック VLAN の設定:
–1 Gbps 動作:アウトオブバンド管理トラフィックの VLAN をインターフェイス eth1 でのみ定義します。
–3 Gbps 動作:インバンド管理トラフィックの VLAN を 1 つ以上の物理インターフェイスで定義します。
3 Gbps ソフトウェア イメージで動作させる場合、Guard モジュールは、ユーザがゾーン保護をアクティブにするときにインターフェイス設定を確認します。3 つのインターフェイスがトラフィックの宛先変更を行うように適正に設定されていない場合、Guard モジュールはゾーン保護をアクティブにしません。Guard モジュールはまた、インターフェイス設定モードに入る場合、プロキシ IP アドレスを削除する場合、またはトラフィックの宛先変更パラメータを設定する場合に、確認プロセスを手動でアクティブにすることを要求します。確認プロセスの詳細については、「Guard モジュールのネットワーク設定の検証」を参照してください。