この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、Cisco Traffic Anomaly Detector Module(Detector モジュール)を設定してトラフィックの異常を検出する方法と、Guard をアクティブにしてゾーンを保護する方法について説明します。
ゾーン異常検出とは、Detector モジュールがゾーンのトラフィックのコピーを積極的に監視し、ゾーンでの Distributed Denial of Service(DDoS; 分散型サービス拒絶)攻撃の兆候がないかを調べることです。ポリシーしきい値を超える(攻撃を示す)ことによってトラフィック異常がポリシー アクションをトリガーすると、Detector モジュールは、次のいずれかのタスクを実行します。
• Detector モジュールと関連付けている Guard をアクティブにする。Guard が攻撃を軽減します。
ゾーン異常検出をアクティブにする前に、Detector モジュールにラーニング プロセスを使用してゾーンのトラフィック パターンを学習させる必要があります。ラーニング プロセスを使用すると、Detector モジュールはゾーンのトラフィック パターンをラーニングして、ゾーン トラフィックの統計分析に従い一連の推奨しきい値を作成できます。
ゾーンが攻撃されていない場合は、 learning policy-construction コマンドを使用して Detector モジュールにゾーンのポリシーを構築させてから、検出およびラーニング機能をイネーブルにすることをお勧めします。Detector モジュールは、ゾーン トラフィックをラーニングすると同時に、最後に受け入れられたポリシーしきい値を監視してトラフィック異常がないか調べます。Detector モジュールは、ゾーンで攻撃を検出すると、しきい値調整フェーズを停止しますが、悪意あるトラフィックのしきい値のラーニングを回避するためにゾーン トラフィックの異常検出は継続します。詳細については、「ゾーンのポリシーのしきい値調整とゾーン異常検出のイネーブル化の同時実行」を参照してください。
Guard モジュールをアクティブにしてゾーンを保護する前に、Detector モジュール上のゾーン設定と Guard モジュール上のゾーン設定を同期させることができます。詳細については、「Detector モジュールの Guard とのゾーン設定の同期」および「ゾーンを保護するためのリモート Guard のアクティブ化」を参照してください。
ゾーン異常検出をアクティブにする前に、ゾーンに送信されるトラフィックをキャプチャし、そのコピーを Detector モジュールに渡すようにスイッチを設定する必要があります。詳細については、「トラフィックをキャプチャするためのトラフィックの送信元の設定」を参照してください。
ヒント ポリシー構築フェーズを開始してから少なくとも 10 秒待ってから、show rates コマンドを入力して、Detector モジュールがゾーンのトラフィックのコピーを受信していることを確認します。Received traffic レートの値がゼロより大きいことを確認します。値がゼロの場合は、Detector モジュールがゾーンのトラフィックのコピーを受信していないことを示します。トラフィックの送信元が、トラフィックのキャプチャについて設定されていることを確認します。詳細については、「トラフィックをキャプチャするためのトラフィックの送信元の設定」を参照してください。
• 動作モード:Detector モジュールがゾーン異常検出を実行する方法を定義します(Detector モジュールによってゾーン トラフィックの異常を自動的に検出するか、またはインタラクティブ方式で検出するか)。
• Guard 保護アクティベーション方式:Detector モジュールがゾーンを保護するためにリモート Guard をアクティブにする方法を定義します。Detector モジュールは、リモート Guard をアクティブにしてゾーン全体の一部である特定のゾーン(たとえば、保護されたネットワーク環境の一部である特定のサーバ)を保護することも、リモート Guard をアクティブにしてゾーン全体を保護することもできます。
動作モードによって、ゾーン異常検出がイネーブルな場合に Detector モジュールがどのように動的フィルタをアクティブにするかが決まります。
ゾーン異常検出は、次の 2 つの動作モードにおいてアクティブにできます。
• 自動検出モード:動的フィルタはユーザの操作なしでアクティブになります。この動作モードがデフォルトです。
• インタラクティブ検出モード:動的フィルタは、インタラクティブ モードにおいて手動でアクティブになります。Detector モジュールは、動的フィルタを、ユーザの決定を待つ推奨事項としてグループ化します。ユーザは、推奨事項を確認して、どの推奨事項を受け入れるか、無視するか、自動アクティベーションに切り替えるかを決定できます。
詳細については、 第 10 章「インタラクティブ検出モードの使用方法」 を参照してください。
Guard 保護のアクティベーション方式は、リモート Guard として定義されている Guard がゾーン保護をアクティブにする方法を定義します。この方式は、ゾーンの保護要件に焦点を当て、Guard モジュールのリソースを節約することを目的としたものです。
Detector モジュールは、次の Guard 保護のアクティベーション方式をサポートします。
• entire-zone :Guard モジュールをアクティブにし、ゾーン トラフィックに異常が検出されるとゾーン全体を保護します。この方式では、Guard モジュールが保護するアクティブなゾーンの数が減るため、Guard モジュールのリソースが節約されます。ゾーンが関連性のあるサブゾーンで構成されている場合にこの方式を使用します。
• dst-ip-by-name :Guard モジュールをアクティブにし、特定の IP アドレス宛てのゾーン トラフィックに異常が検出された場合に、その IP アドレスを保護します。Guard モジュールをアクティブにし、攻撃対象の IP アドレスを保護しながら、ゾーン全体のトラフィックが Guard モジュールに宛先変更されるのを回避できます。Detector モジュールは、トラフィック異常を特定の IP アドレスに関連付けることができない場合、Guard モジュールをアクティブにしないため、ゾーンが保護されません。ゾーンが関連性のないサブゾーンで構成されている場合にこの方式を使用します。
• dst-ip-by-ip :Guard モジュールをアクティブにし、特定の IP アドレス宛てのゾーン トラフィックに異常が検出された場合に、その IP アドレスを保護します。IP アドレスは、Guard モジュールに定義されているいずれかのゾーンのアドレス範囲内である必要があります。ただし、Detector モジュール上のゾーン名が、Guard モジュール上のゾーン名と一致する必要はありません。 dst-ip-by-ip Guard 保護アクティベーション方式は、Guard モジュール上で protect ip-address コマンドを使用した場合と同じ結果になります。Detector モジュール上のゾーン名が Guard モジュール上のゾーン名と一致しない場合、またはゾーン全体が関連性のないサブゾーンで構成されている場合にこの方式を使用します。
(注) 確実に Guard モジュールが攻撃対象の IP アドレスに対してだけゾーン保護をアクティブにし、ゾーン全体のトラフィックがそれ自身に宛先変更されるのを回避するには、アクティベーション範囲が ip-address-only になるように Guard モジュール上でゾーンを定義します。
• policy-type :Guard モジュールをアクティブにし、Detector モジュールが Guard モジュールをアクティブにする原因となったポリシーに応じて、ゾーン全体を保護するか、またはゾーン内の特定の IP アドレスを保護します。特定の IP アドレス宛てのゾーン トラフィックで異常が検出された場合(たとえば、リモート アクティベーションの原因となったポリシーのトラフィック特性が dst_ip である場合)、Detector モジュールは Guard モジュールをアクティブにしてその IP アドレスを保護します。トラフィック異常を特定の IP アドレスと関連付けることができない場合(たとえば、リモート アクティベーションの原因となったポリシーのトラフィック特性が global である場合)、Detector モジュールは Guard モジュールをアクティブにしてゾーン全体を保護します。
ゾーンが関連するサブゾーンから構成されており、攻撃対象のサブゾーンの状況によってゾーン全体がダメージを受けるのを防止できる場合に、この方式を使用します。
Guard 保護アクティベーション方式をアクティブにするには、ゾーンの設定モードで次のコマンドを入力します。
protect-ip-state { entire-zone | dst-ip-by-name | dst-ip-by-ip | policy-type }
次の例は、Guard 保護アクティベーション方式を設定する方法を示しています。
ゾーン異常検出をアクティブにするには、ゾーン設定モードで次のコマンドを入力します。
オプションの learning キーワードでは、ゾーン トラフィック内の異常を検出すると同時に、ゾーン ポリシーのしきい値を調整するように Detector モジュールが設定されます。詳細については、「ゾーンのポリシーのしきい値調整とゾーン異常検出のイネーブル化の同時実行」を参照してください。
次の例は、ゾーン scannet の異常検出を非アクティブにする方法を示しています。
ゾーン異常検出を非アクティブにするには、ゾーン設定モードで次のコマンドのいずれかを使用します。
• no detect :ゾーン異常検出を終了します。Detector モジュールは、ゾーン トラフィックの異常検出とラーニングの実行中である場合には、ゾーン ポリシーのしきい値のラーニングを継続します。
Detector モジュールは、ゾーン トラフィックの異常を検出すると、動的フィルタを作成します。このフィルタは、ゾーンを保護するために Guard をアクティブにするか、またはリモート Guard が定義されていない場合はイベントを記録します。
リモート Guard は、次の方法のいずれかでアクティブにできます。
• リモート Guard リストの使用:Secure Sockets Layer(SSL)を使用してリモート アクティベーションとゾーン同期をイネーブルにするか、または SSH を使用してリモート アクティベーションだけをイネーブルにします。
• オフラインでのアクティブ化:ゾーンで攻撃が発生したときに通知を発行するように Detector モジュールを設定します。
• 手動でのアクティブ化:リモート Guard をアクティブにするための動的フィルタを作成します。
Detector モジュールは Guard のダウンストリームに配置されます。進行中の攻撃がない場合、Detector モジュールは、保護されたゾーン宛てのすべてのインバウンド トラフィックを監視します。攻撃を受けている間に、Guard が被害を軽減するために攻撃対象のゾーンからのトラフィックを宛先変更した場合は、Detector モジュールは Guard からそのゾーンに転送された正当なトラフィックを監視します。
• リモート Guard リストを使用したリモート Guard のアクティブ化
Detector モジュールは、ゾーンを保護するためにアクティブにされる Guard のリスト(リモート Guard リストとも呼ばれる)を保持しています。複数のリモート Guard リストに Guard モジュールを設定できます。Detector モジュールは、次の 2 つのタイプのリモート Guard リストを保持します。
• ゾーン固有のリモート Guard リスト:Detector モジュールは Guard をアクティブにし、ゾーンを保護します。場合によっては、ゾーン設定を Guard と同期します。
• デフォルトのリモート Guard リスト:ゾーンのリモート Guard リストが空であるか、またはどちらの通信方式も含まれていない場合にだけ、Detector モジュールがデフォルト リストを検索します。
(注) リモート Guard リストに Guard を追加する場合は、リモート Guard との通信チャネルを確立する必要があります。詳細については、「Guard との通信の確立」を参照してください。
各リモート Guard リストは 2 つの通信方式をサポートしています。
• SSL:Detector モジュールは、SSL を使用して Guard と通信します。Detector モジュールは、リモート Guard をアクティブにして、ゾーンを保護し、ゾーン設定とリモート Guard を同期できます。
Detector モジュールは、Guard をアクティブにしてゾーンを保護する前に、ゾーン設定をリモート Guard リストの Guard と同期できます。詳細については、「Detector モジュールの Guard とのゾーン設定の同期」を参照してください。
• Secure Shell(SSH):Detector モジュールは、SSH を使用して Guard モジュールと通信します。Detector モジュールは、リモート Guard をアクティブにしてゾーンを保護できますが、ゾーン設定をリモート Guard と同期できません。
Detector モジュールは、同じ通信方式の Guard モジュールがゾーンのリモート Guard リストに定義されていない場合にだけ、デフォルトのリモート Guard リストの Guard モジュールをアクティブにします。
Detector モジュールのリモート Guard リストのいずれか(デフォルトのリモート Guard リスト、またはゾーンのリモート Guard リスト)に少なくとも 1 つは Guard が定義されていることを確認してください。どのリモート Guard リストにもリモート Guard が定義されていない場合、Detector モジュールはログ ファイルにイベントを記録します。
リモート Guard をアクティブにしゾーン設定を同期するには、次の手順を実行します。
ステップ 1 Guard ゾーン テンプレートのいずれかを使用して、新しいゾーンを作成および設定します。
「新しいゾーンの作成」を参照してください。
ステップ 2 リモート Guard IP アドレスを次のいずれかのリストに追加します。
• ゾーンのリモート Guard リスト:そのゾーンの保護用に Detector モジュールによってアクティブにされるリモート Guard のリスト。
詳細については、「ゾーンのリモート Guard リストの設定」を参照してください。
• Detector のデフォルト リモート Guard リスト:リモート Guard のデフォルト リスト。ゾーンのリモート Guard リストが空の場合、Detector モジュールはこれらのリモート Guard をアクティブにします。
詳細については、「デフォルトのリモート Guard リストの設定」を参照してください。
ステップ 3 リモート Guard との通信チャネルを設定します。
詳細については、「Guard との通信の確立」を参照してください。
ステップ 4 ゾーン Guard 保護形態( protect-ip-state )を設定し、Detector モジュールがリモート Guard をアクティブにするために使用する方式を決定します。
詳細については、「Guard 保護のアクティベーション方式の設定」を参照してください。
ステップ 5 次のいずれかの方法で、リモート Guard 上に新しいゾーンを作成します。
• SSL を使用して、Detector モジュールのゾーン設定を Guard モジュールに同期させる。
詳細については、「Detector モジュールの Guard とのゾーン設定の同期」を参照してください。
• リモート Guard 上に新しいゾーンを作成する。 protect-ip-state dst-ip-by-ip コマンドを使用して、攻撃対象の IP アドレスのみに基づいて Guard モジュール上の保護をアクティブにするように Detector モジュールを設定していない限り、Guard モジュール上のゾーン名は Detector モジュール上のゾーン名と一致している必要があります。
protect-ip-state コマンドの詳細については、「Guard 保護のアクティベーション方式の設定」を参照してください。
ステップ 6 リモート Guard 内で protection-end-timer コマンドを使用して、リモート Guard がゾーン保護を終了するために使用するタイマーを設定します。
protection-end-timer の値が forever の場合、リモート Guard は攻撃が終了してもゾーン保護を終了しません。
Detector モジュールは、次の両方の条件が当てはまる場合に、デフォルトのリモート Guard リスト内のリモート Guard をアクティブにします。
• ゾーン固有のリモート Guard リストが空であるか、または SSL および SSH の両方の通信方式を持つ Guard モジュールが含まれていない。
• デフォルトのリストのリモート Guard に、ゾーン固有のリモート Guard リストに定義されていない通信方式が設定されている。
Detector モジュールは、同じ通信方式のすべてのリモート Guard をアクティブにします。
デフォルトのリモート Guard リストに Guard を追加するには、設定モードで次のコマンドを入力します。
remote-guard [ ssh | ssl ] remote-guard-address [ description ]
表9-1 に、 remote-guard コマンドの引数とキーワードを示します。
|
|
---|---|
次の例は、SSL 通信方式を使用してデフォルトのリモート Guard リストにリモート Guard を追加する方法を示しています。
リモート Guard のデフォルトのリストを表示するには、グローバル モードまたは設定モードで show remote-guards コマンドを使用します。
Detector モジュールは、ゾーンのリモート Guard リストに記載されているすべてのリモート Guard をアクティブにします。
ゾーンのリモート Guard リストに Guard を追加するには、ゾーン設定モードで次のコマンドを入力します。
remote-guard [ ssh | ssl ] remote-guard-address [ description ]
表9-2 に、remote-guard コマンドの引数とキーワードを示します。
|
|
---|---|
次の例は、SSL 通信方式を使用してゾーンのリモート Guard リストに Guard を追加する方法を示しています。
ゾーンのリモート Guard リストを表示するには、ゾーン設定モードで show remote-guards コマンドを使用します。
Detector モジュールは、ゾーン トラフィックに異常を検出すると、イベントをログに記録し、場合によって Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)トラップを生成します。その後、手動で Guard をアクティブにし、ゾーンを保護することができます。詳細については、「SNMP トラップのイネーブル化」を参照してください。
Guard をオフラインでアクティブにするには、次の手順を実行します。
ステップ 1 Detector モジュールと Guard の両方にゾーンを設定するか、またはゾーン設定をオフラインで同期します。
詳細については、「同期用のゾーンの設定」を参照してください。
ステップ 2 (オプション)リモート Guard 内で protection-end-timer コマンドを使用して、リモート Guard がゾーン保護を終了するために使用するタイマーを設定します。protection-end-timer の値を forever に設定すると、リモート Guard は攻撃が終了してもゾーン保護を終了しません。
ステップ 3 protect コマンドを使用して、Cisco Anomaly Guard Module上のゾーンをアクティブにします。
Detector モジュールがゾーン トラフィックに異常を検出する前であっても、リモート Guard を手動でアクティブにしてゾーンを保護することができます。
リモート Guard を手動でアクティブにするには、次の手順を実行します。
ステップ 1 ゾーン リモート Guard リストまたはデフォルトのリモート Guard リストにリモート Guard を追加します。
詳細については、「リモート Guard リストを使用したリモート Guard のアクティブ化」を参照してください。
ステップ 2 dynamic-filter remote-activate コマンドを入力して動的フィルタを作成します。
詳細については、「動的フィルタの追加」を参照してください。