この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、Cisco Anomaly Guard Module(Guard モジュール)のラーニング プロセスを使用してゾーン トラフィックの特性を分析し、Guard モジュールがゾーン保護に使用するポリシーを作成および微調整する方法について説明します。
この章には、Guard モジュールの関連製品である Cisco Detector(Detector)についての記述があります。Detector は、DDoS攻撃(分散型サービス拒絶攻撃)を検出するデバイスです。Detectorは、ゾーン トラフィックのコピーを分析します。Detector は、ゾーンが攻撃を受けていると判断したときに、Guard モジュールの攻撃軽減サービスをアクティブにできます。また、Detector は Guard モジュールとゾーン設定を同期させることができます。Detector の詳細については、『 Cisco Traffic Anomaly Detector Module Configuration Guide 』および『 Cisco Traffic Anomaly Detector Configuration Guide 』を参照してください。
Guard モジュールは、ラーニング プロセスで、通常のゾーン トラフィック状態を分析し、ベースラインを確立します。このベースラインにより、正常なトラフィックと、ゾーンへの攻撃を示す異常が含まれているトラフィックが判別されます。ラーニング プロセス中、Guard モジュールは、通常のトラフィック パターンに基づき、新しいゾーン ポリシーを作成してポリシーしきい値を変更し、参照ベースラインを作成します。
ゾーンのトラフィック特性をラーニングするために、Guard モジュールは、通常のネットワーク パスから Guard モジュールに宛先変更されたゾーン トラフィックを分析します。Guard モジュールは、トラフィックを分析すると、そのトラフィックをネットワークに戻します。外部デバイスを使用して、ラーニング プロセスを開始する前にトラフィックの宛先変更を設定するか、ゾーンのトラフィックを Guard モジュールに手動で宛先変更する必要があります。Guard モジュールのルーティング設定を使用して、ゾーンのトラフィック宛先変更を設定します。詳細については、「トラフィックの宛先変更の設定」を参照してください。
(注) ラーニング プロセス中に Guard モジュールがパケットをドロップするのは、パケットに含まれている、送信元 IP アドレス、プロトコル番号、UDP 送信元ポートまたは宛先ポート、TCP 送信元ポートまたは宛先ポートのいずれかのフィールドが 0 である場合です。
ラーニング プロセスが完了する前にゾーンに対する攻撃があった場合、次の条件のいずれかに該当するときは、オンデマンド保護を使用してゾーンを保護します。
• Guard モジュールがゾーン トラフィック ラーニングの実行中である。
• 保護およびラーニング機能がイネーブルになっているが、Guard モジュールは、ゾーンのトラフィック特性をラーニングしていない(「保護およびラーニング機能について」を参照)。
• ゾーンのトラフィックを表していないポリシーのしきい値を受け入れている。
オンデマンド保護の詳細については、「オンデマンド保護のアクティブ化」を参照してください。
複数のゾーンに対して同時にラーニング関連のコマンドを入力できます。これには、グローバル モードで、ワイルドカードにアスタリスク(*)を使用してコマンドを入力します。たとえば、すべてのゾーンについてポリシー構築フェーズを開始する場合は、グローバル モードで learning policy-construction * コマンドを入力します。scan で始まる名前を持つ Guard モジュールのすべてのゾーン(scannet や scanserver など)のポリシー構築フェーズの結果を受け入れるには、グローバル モードで no learning scan * accept コマンドを入力します。
• ゾーンのラーニング プロセスの結果の Detector との同期
ラーニング プロセスは、次の 2 つのフェーズで構成されています。
• ポリシー構築:Guard モジュールは、ゾーン設定のポリシー テンプレートを使用して、ゾーン トラフィックで検出するサービスの新しいポリシーを作成します。既存のポリシーが新しいポリシーで上書きされます。
ポリシー テンプレートは、Guard モジュールが作成するゾーン ポリシーのタイプ、Guard モジュールが厳密に監視するサービスの最大数、および Guard モジュールによる新しいポリシーの作成をトリガーする最小しきい値を定義します。ゾーン ポリシーを構築するための規則を変更するには、ポリシー テンプレート パラメータを変更してから、ポリシー構築フェーズを開始する必要があります。詳細については、「ポリシー テンプレートとポリシーの設定」を参照してください。
(注) GUARD_LINK ゾーン テンプレートを使用して作成されたゾーンに対しては、ポリシー構築フェーズを実行できません。
ポリシー構築フェーズを使用する方法の詳細については、「ポリシー構築フェーズのアクティブ化」を参照してください。
• しきい値調整:Guard モジュールは、ゾーン サービスのトラフィック レートに合せてゾーン ポリシーのしきい値を調整します。既存のしきい値が新しいしきい値で上書きされます。
しきい値調整フェーズとゾーン保護を同時にアクティブにすると(保護およびラーニング機能)、Guard モジュールで悪意のあるトラフィックのしきい値をラーニングすることを防止できます。Guard モジュールが常にゾーン ポリシーを調整できるようにし、Guard モジュールがポリシーのしきい値をアップデートするときの間隔を定義することができます。
(注) 保護およびラーニング機能をアクティブにすると、ゾーンのトラフィックが常に Guard モジュールに誘導されます。
しきい値調整フェーズを使用する方法については、「しきい値調整フェーズのアクティブ化」を参照してください。
ラーニング プロセスのどちらのフェーズでも、Guard モジュールは、ラーニング フェーズの結果が次の方法で受け入れられるまで、現在のゾーン ポリシーを変更しません。
• 自動:ラーニング フェーズの結果を自動的に受け入れるように Guard モジュールを設定します。
ポリシーが作成された後は、ポリシーを追加または削除できます。また、しきい値、サービス、タイムアウト、アクションなどのポリシー パラメータを変更することもできます。
ラーニング プロセス中のどの段階でも、任意のラーニング フェーズの現在の結果を保存して、後で snapshot コマンドを使用して確認できます。ラーニング プロセスのスナップショットを保存することで、スナップショットのポイントまでに Guard モジュールが作成したポリシー情報を表示し、ラーニング プロセスの結果を受け入れるかどうかを判断できます。ラーニング フェーズの結果をスナップショットに保存しても、ゾーン設定には影響しません。スナップショット内のポリシー情報を使用してゾーン設定をアップデートできます。
snapshot コマンドを使用する方法の詳細については、「スナップショットの作成」を参照してください。
Guard モジュールがポリシー構築フェーズを実行した後、保護およびラーニング機能を使用して、ラーニング プロセスのしきい値調整フェーズのアクティブ化とゾーン保護のイネーブル化を同時に行うことができます。Guard モジュールは、最後に保存されたポリシーしきい値を使用してトラフィックの異常を監視しながら、ポリシーしきい値を調整します。保護およびラーニング機能により、ポリシーのしきい値をゾーンのトラフィック特性に基づいて常にアップデートしながら、Guard モジュールでゾーンを保護できるようになるため、Guard モジュールが悪意のあるトラフィックのしきい値をラーニングすることがなくなります。
保護およびラーニング機能をアクティブにする前に、ラーニング パラメータを設定することで、Guard モジュールがしきい値調整フェーズの結果をいつ、どのように受け入れるかを設定できます。
詳細については、「保護およびラーニング機能のイネーブル化」を参照してください。
Detector がしきい値調整を実行し、ゾーン同期と呼ばれるプロセスを使用して Guard モジュール上の対応するゾーン設定をアップデートするように設定できます。たとえば、Detector で検出およびラーニング機能をイネーブルにした場合、Detector は異常を検出すると、ラーニング プロセスを停止し、ゾーン同期を使用して最新のゾーン設定で Guard モジュールをアップデートし、その後 Guard モジュールの攻撃軽減サービスをアクティブにします。ゾーン同期では、Detector を使用して、Detector と Guard モジュールの両方でトラフィックの変化に合せてゾーンのポリシーしきい値を継続的に調整できます。Detector がゾーン トラフィックのコピーを分析するため、ラーニング プロセスのためにゾーン トラフィックを常に Guard モジュールに宛先変更する必要はありません。
(注) ゾーン同期は、Detector だけで設定します。詳細については、『Cisco Traffic Anomaly Detector Module Configuration Guide』または『Cisco Traffic Anomaly Detector Configuration Guide』を参照してください。
Detector のラーニング プロセスの結果を Guard モジュールと同期させるには、次の作業を実施する必要があります。
1. Guard モジュールを Detector 上のリモート Guard リストに追加して、通信方法を Secure Socket Layer(SSL)として定義します。
2. Detector モジュールとの SSL 通信チャネルを確立します。「SSL 通信チャネル パラメータの設定」を参照してください。
Detector 上で、Guard ゾーン テンプレートを使用してゾーンを作成します。ゾーンの設定を Detector モジュールと手動で同期させたり、Detector を設定して、ゾーンの設定を Guard モジュールと自動的に同期させることができます。詳細については、「Guard モジュールの Detector とのゾーン設定の同期」を参照してください。
ラーニング プロセスのポリシー構築フェーズは、新しいゾーンを作成した後や、新しいサービス ポリシーでゾーン設定をアップデートする必要があるときに使用します。ポリシー構築フェーズをイネーブルにすると、Guard モジュールは、ゾーン トラフィックを通常のネットワーク パスから宛先変更し、ゾーン トラフィックが Guard モジュールを通過するようにします。この処理により、ゾーンによって使用される主なサービス(ポートとプロトコル)を Guard が検出できるようになります。Guard モジュールは、ポリシー テンプレートによって設定された規則を使用して、ゾーン ポリシーを作成します。
(注) ポリシー構築フェーズの開始前にポリシー テンプレートを変更することで、ポリシー構築規則を再設定できます。たとえば、Guard モジュールで特定のタイプのポリシーが作成されないようにするには、関連するポリシー テンプレートをディセーブルにします。ポリシー パラメータ(タイムアウト、アクション、およびしきい値)のデフォルト値を変更することもできます。詳細については、「ポリシー テンプレートとポリシーの設定」を参照してください。
ポリシー構築フェーズの結果を受け入れると、既存のポリシーが、ポリシー構築フェーズ中に Guard モジュールによって作成された新しいポリシーに置き換えられます。
(注) 帯域幅限定リンクのゾーン テンプレート GUARD_LINK_128K、GUARD_LINK_1M、GUARD_LINK_4M、および GUARD_LINK_512K に基づくゾーンに対しては、ラーニング プロセスのポリシー構築フェーズを実行できません。
ラーニング プロセスのポリシー構築フェーズをイネーブルにして、ゾーン ポリシーを構築するには、次の手順を実行します。
ステップ 1 ゾーン設定モードで次のコマンドを入力することで、ポリシー構築フェーズをアクティブにできます。
ステップ 2 Guard モジュールがゾーンのトラフィックの宛先変更を実行していることを確認してください。ポリシー構築またはしきい値調整を開始してから少なくとも 10 秒待ってから、 show rates details コマンドを実行します。Received traffic レートの値がゼロより大きいことを確認します。値がゼロの場合は、トラフィックの宛先変更に問題があることを示しています。
ステップ 3 (オプション)Guard モジュールが構築中のポリシーを表示します。
ポリシー構築フェーズの任意の段階で snapshot コマンドを使用して、ラーニング パラメータ(サービス、しきい値、およびポリシー関連のその他のデータ)のスナップショットを保存しておいて、後で確認することができます。単一のスナップショットを保存するか、定期的なスナップショットを(指定した間隔で)保存することができます。詳細については、「ポリシー設定のバックアップ」を参照してください。
ステップ 4 (オプション)Guard モジュールによるネットワーク トラフィックの詳細なサンプル分析に十分な時間だけ、ポリシー構築フェーズを実行した後、ポリシー構築フェーズを停止せずに、Guard モジュールによって提案されたポリシーを受け入れることができます。ポリシーを 1 回受け入れるか、提案されたポリシーを Guard モジュールが指定された間隔で自動的に受け入れるように定義できます。これらの操作を行うと、ゾーンが最新のポリシーを持つだけでなく、引き続きゾーンのトラフィックをラーニングすることを保証できます。
Guard モジュール によって提案されたポリシーを受け入れ、ポリシー構築フェーズを継続するには、次のコマンドを使用します。
Guard モジュール によって提案されたポリシーを指定した間隔で自動的に受け入れるには、次のコマンドを使用します。
詳細については、「ラーニング パラメータの設定」を参照してください。
定期的なアクションを終了するには、 no learning-params periodic-action コマンドを使用します。
ステップ 5 Guard モジュールがネットワーク トラフィックの詳細なサンプルを分析できるように十分な時間をおいてから、ポリシー構築フェーズを終了し、現在提案されているポリシーを受け入れるか拒否します。
(注) ゾーンが使用する主なサービス(ポートおよびプロトコル)を Guard モジュールが検出するための十分な時間を確保するには、ポリシー構築フェーズを少なくとも 2 時間継続してから終了することをお勧めします。
• 提案されたポリシーの受け入れ:ポリシー構築フェーズを終了し、Guard モジュールによって提案されたポリシーを受け入れるには、ゾーン設定モードで次のコマンドを入力します。
Guard モジュールは、以前にラーニングしたポリシーとしきい値をすべて消去して、デフォルトのしきい値を設定した新しいポリシーに置き換えます。
新しく構築されたポリシーを受け入れた後は、手動でポリシーを追加または削除できます。詳細については、「ポリシー テンプレートとポリシーの設定」を参照してください。
• 提案されたポリシーの拒否:ポリシー構築フェーズを終了し、Guard モジュールによって提案されたポリシーを拒否するには、ゾーン設定モードで次のコマンドを入力します。
Guard モジュールは、ポリシー構築フェーズを停止し、現在のポリシーに変更を加えません。ゾーンのポリシーは、Guard モジュールがラーニング プロセスを開始する前か、ポリシー構築フェーズの結果を最後に受け入れる前のポリシーになります。
ポリシー構築フェーズを実行した後、しきい値調整フェーズをイネーブルにして各ポリシーのしきい値を調整します(「しきい値調整フェーズのアクティブ化」を参照)。
次の例は、ポリシー構築フェーズを開始し、提案されたポリシーを 12 時間間隔で受け入れる方法を示しています。さらに、ポリシー構築フェーズを停止し、提案されたポリシーを受け入れる方法も示しています。
user@GUARD
-conf-zone-scannet# learning policy-construction
user@GUARD
-conf-zone-scannet# learning-params periodic-action auto-accept 0 12 0
user@GUARD
-conf-zone-scannet# no learning accept
Guard モジュールがゾーン トラフィックを分析し、ゾーン ポリシーのしきい値を定義できるようにするには、しきい値調整フェーズを使用します。しきい値調整フェーズをトラフィックのピーク時(1 日で最も忙しい部分)に、少なくとも 24 時間実行して、Guard モジュールがポリシーしきい値を正しく調整するために十分な時間を確保することをお勧めします。ただし、Guard モジュールがゾーンのトラフィックを常に宛先変更している場合は、保護およびラーニング機能をアクティブのままにして、しきい値調整フェーズを終了しないことをお勧めします。
(注) 次の手順には、保護およびラーニング機能をイネーブルにするためのコマンドが含まれています。保護およびラーニング機能では、Guard モジュールがしきい値調整とゾーン保護を同時に実行できます。しきい値調整フェーズを実行する必要がある場合は、保護およびラーニング機能をイネーブルにすることをお勧めします(「保護およびラーニング機能について」を参照)。
ラーニング プロセスのしきい値調整フェーズをアクティブにするには、次の手順を実行します。
ステップ 1 ゾーン設定モードで次のいずれかのコマンドを入力することで、しきい値調整フェーズを実行できます。
• learning threshold-tuning :しきい値調整フェーズだけをイネーブルにします。
• protect learning :保護およびラーニング機能をイネーブルにします。この機能では、しきい値調整フェーズとゾーン保護が同時に実行されます。 learning threshold-tuning コマンドと protect コマンドを順番に入力することにより(順序は問いません)、保護およびラーニング機能をアクティブにすることもできます。
(注) ゾーン宛てのトラフィックが通常の量のときに、保護およびラーニング機能をアクティブにした場合、Guard モジュールは、ピーク時のトラフィックを攻撃と見なす可能性があります。このような場合は、次のいずれかを行うことができます。
• ゾーン設定モードで no learning-params threshold-tuned コマンドを入力することで、ゾーン ポリシーしきい値の状態を未調整に設定できます。詳細については、「ポリシーに対する調整済みのマーク付け」を参照してください。
• ゾーン設定モードで no protect コマンドを入力して、ゾーン保護を無効にし、ゾーン ポリシーしきい値を継続してラーニングします。
ステップ 2 Guard モジュールがゾーンのトラフィックの宛先変更を実行していることを確認します。しきい値調整フェーズを開始してから少なくとも 10 秒待ってから、 show rates details コマンドを実行します。Received traffic レートの値がゼロより大きいことを確認します。値がゼロの場合は、宛先変更に問題があることを示しています。
ステップ 3 (オプション) snapshot コマンドを使用して、Guard モジュールが調整中のゾーン ポリシーを表示します(「スナップショットを使用したラーニング プロセスの結果の確認」を参照)。
ステップ 4 提案されたしきい値を受け入れます。Guard モジュールによって提案されたしきい値を受け入れ、しきい値調整フェーズを継続できます。また、提案されたしきい値を、指定した間隔で Guard モジュールが自動的に受け入れるように設定できます。これらの操作を行うと、ゾーンが最新のしきい値を持つだけでなく、引き続きゾーン トラフィックをラーニングすることを保証できます。
Guard モジュールによって現在提案されているしきい値を受け入れ、しきい値調整フェーズを継続するには、次のコマンドを使用します。
threshold-selection の引数とキーワードについては、 表9-2 を参照してください。
Guard モジュールによって提案されたしきい値を指定した間隔で自動的に受け入れるには、次のコマンドを使用します。
詳細については、「ラーニング パラメータの設定」を参照してください。
定期的なアクションを終了するには、 no learning-params periodic-action コマンドを使用します。
ステップ 5 Guard モジュールがポリシーしきい値を正しく調整できるように十分な時間をおいてから、しきい値調整フェーズを終了し、現在提案されているしきい値を受け入れるか拒否します。
(注) 保護およびラーニング機能をイネーブルにしている場合は、しきい値調整フェーズを終了しないことをお勧めします。
• 現在提案されているしきい値の受け入れ:ラーニング プロセスを終了し、Guard モジュールによって提案されたポリシーしきい値を受け入れるには、ゾーン設定モードで次のコマンドを入力します。
threshold-selection の引数とキーワードについては、 表9-2 を参照してください。
Guard モジュールは、以前にラーニングしたしきい値を新しいしきい値で置き換えます。新しく調整されたポリシーを受け入れた後は、手動でポリシーのパラメータを変更することができます。詳細については、「ポリシー テンプレートとポリシーの設定」を参照してください。
• 現在提案されているしきい値の拒否:ラーニング プロセスを終了し、Guard モジュールによって提案されたポリシーしきい値を拒否するには、ゾーン設定モードで次のいずれかのコマンドを入力します。
Guard モジュールは、しきい値の調整を停止し、現在のしきい値に変更を加えません。そのプロセスの結果、新しく構築されたゾーン ポリシーには、以前のトラフィック特性に基づいて取得したしきい値が使用される場合があります。後でしきい値調整フェーズを有効にするか、またはそのしきい値を手動で設定することをお勧めします。
保護およびラーニング機能をイネーブルにしている場合は、 deactivate コマンドを使用して、現在提案されているしきい値を保存せずに、ゾーン保護およびしきい値調整フェーズを終了します。
次の例は、しきい値調整フェーズを開始し、提案されたポリシーを 1 時間間隔で受け入れる方法を示しています。Guard モジュールは、次に、しきい値調整フェーズを停止し、しきい値が現在の値よりも大きい場合に、提案されたポリシーを受け入れます(max-thresholds 方式)。
user@GUARD
-conf-zone-scannet# learning threshold-tuning
user@GUARD
-conf-zone-scannet# learning-params periodic-action auto-accept 0 1 0
user@GUARD
-conf-zone-scannet# no learning accept threshold-selection max-thresholds
• ラーニング プロセスの結果を表示する: show policies statistics コマンドを使用して、しきい値調整フェーズの結果を表示します。「ポリシーの表示」を参照してください。
• ラーニング プロセスの結果を変更する:通常のトラフィック特性を正確に表していない可能性のあるポリシー パラメータ値を変更します。詳細については、「ポリシー パラメータの設定」を参照してください。
• ポリシーしきい値を固定値として設定する:次回しきい値調整フェーズをイネーブルにしたときに、Guard モジュールは新しいしきい値を無視し、現在のしきい値を保持します。詳細については、「固定値としてのしきい値の設定」を参照してください。
• ポリシーの固定乗数を設定する:次回しきい値調整フェーズをイネーブルにしたときに、Guard モジュールは、ラーニングしたしきい値に指定の乗数を掛け、その結果にしきい値選択方式を適用することで、新しいポリシーしきい値を計算します。詳細については、「しきい値の乗数の設定」を参照してください。
この項では、ラーニング パラメータを設定して、すべてのゾーン ポリシーに影響する次の機能を管理する方法について説明します。
• Guard モジュールの定期的なアクション:Guard モジュールが自動的にゾーン ポリシーを受け入れ、指定した間隔でゾーン ポリシーのスナップショットを保存するように Guard モジュールを設定します。
• しきい値選択方式:Guard モジュールがしきい値調整フェーズの結果を受け入れて新しいポリシーのしきい値を生成するときに使用される、デフォルトの方式を設定します。
• ゾーン ポリシーの調整状態:現在のゾーン ポリシーの状態を調整済みまたは未調整に設定します。
ラーニング パラメータの現在の設定を表示するには、ゾーン設定モードで show learning-params コマンドを使用します。
指定した間隔で次のいずれかのアクションを実行するように Guard モジュールを設定します。
• ゾーン ポリシーを自動的に受け入れ、ポリシーのスナップショットを保存する
スナップショットの詳細については、「ラーニング プロセスの結果の確認」を参照してください。
Guard モジュールが実行する定期的なアクションを設定するには、ゾーン設定モードで次のコマンドを入力します。
learning-params periodic-action {auto-accept | snapshot-only} learn_params_days learn_params_hours learn_params_minutes
表9-1 に、 learning-params periodic-action コマンドの引数とキーワードを示します。
|
|
---|---|
Guard モジュールによって提案されたポリシーを、指定された間隔で受け入れます。Guard モジュールは新しく提案されたゾーン ポリシーを受け入れた後で、ゾーン ポリシーのスナップショットを保存します。 |
|
指定された間隔でポリシーのスナップショットを保存します。Guard モジュールは新しいポリシーを受け入れず、ポリシーのしきい値を変更しません。 |
|
間隔の値は、 learn_params_days 値 、learn_params_hours 値、および learn_params_minutes 値の合計となります。
ゾーンに設定されている現在の定期的なアクションを表示するには、ゾーン設定モードで show learning-params コマンドを使用します。
次の例は、Guard モジュールがポリシーを 1 時間間隔で受け入れるように設定する方法を示しています。
user@GUARD
-conf-zone-scannet# learning-params periodic-action auto-accept 0 1 0
しきい値調整フェーズ中に、Guard モジュールが新しいしきい値の生成に使用するデフォルトの方式を定義できます。しきい値調整フェーズの結果を手動で受け入れることも、しきい値調整フェーズの結果を特定の間隔で Guard モジュールが自動的に受け入れるように設定することもできます。
しきい値選択方式を設定するには、ゾーン設定モードで次のコマンドを使用します。
learning-params threshold-selection {new-thresholds | max-thresholds | weighted weight }
表9-2 に、 learning-params threshold-selection コマンドの引数とキーワードを示します。
|
|
---|---|
現在のポリシーのしきい値をラーニングされたしきい値と比較し、値の大きい方をゾーン設定に保存します。この方式がデフォルトです。 |
|
ゾーンに設定されている現在のしきい値選択方式を表示するには、ゾーン設定モードで show learning-params コマンドを使用します。
次の例は、ラーニングされたしきい値が現在のポリシーのしきい値よりも大きい場合に、提案されたポリシーを Guard モジュールが受け入れるように設定する方法を示しています。
user@GUARD
-conf-zone-scannet# learning-params threshold-selection max-thresholds
ゾーン ポリシーの調整状態は、ポリシーが調整済みとしてマークされているか、未調整としてマークされているかを表します。Guard モジュールは、次のいずれかのアクションが実行された後、ゾーンのポリシーを未調整としてマークします。これは、ポリシーしきい値が、そのゾーン トラフィックの固有の状況に合うように調整されていない可能性があるからです。
• ゾーン テンプレートによる新しいゾーンの作成:ゾーン テンプレートは、ゾーンにデフォルトのポリシーおよびポリシーしきい値を設定します。デフォルトのポリシーおよびポリシーしきい値は、Guard モジュールがゾーン トラフィックでトラフィック異常を識別したらスプーフィング防止機能をすぐにアクティブにできる値が設定されています。
• 既存のゾーンのコピーによる新しいゾーンの作成:新しいゾーンには、コピー元のゾーンと同じポリシーおよびポリシーしきい値が含まれます。
• 既存のゾーンでのポリシー構築フェーズのイネーブル化:新しいポリシーを作成するポリシー テンプレートは、ポリシーにデフォルトのしきい値を設定します。
保護およびラーニング機能をイネーブルにした場合(「保護およびラーニング機能について」を参照)、ゾーン ポリシーの調整状態は、次のように Guard モジュールのゾーン保護機能に影響を及ぼします。
• 調整済みのポリシー:Guard モジュールは、しきい値調整フェーズを実行しながら、ゾーンに対する攻撃をすぐに検出できます。
• 未調整のポリシー:しきい値調整フェーズの結果を 1 回受け入れるまで、Guard モジュールはゾーンに対する攻撃を検出できません。1 回受け入れた時点で、Guard モジュールはポリシーを調整済みとしてマークします。このような動作により、通常のトラフィック量に対してデフォルトのしきい値設定が小さすぎるために、ゾーンが攻撃を受けていると Guard モジュールが判断し、保護およびラーニング機能のラーニング部分を停止してしまうという状況を回避できます。
保護およびラーニング機能をイネーブルにする前にゾーン ポリシーの現在の調整状態を表示するには、ゾーン設定モードで show learning-params コマンドを使用します。
保護およびラーニング機能をイネーブルにしたときにゾーン ポリシーが未調整である場合は、しきい値選択方式が max-threshold または weighted に設定されていても、Guard モジュールはしきい値選択方式 accept-new をアクティブにします。ラーニング フェーズの結果を 1 回受け入れた後は、Guard モジュールは、設定されているしきい値選択方式を使用します。しきい値の選択方式の詳細については、「しきい値選択方式の設定」を参照してください。
ゾーン ポリシーの調整状態は、手動で変更できます。次のいずれかの場合は、ゾーン ポリシーのステータスを調整済みに変更することがあります。
• 新しいゾーンが既存のゾーンまたはスナップショットから複製されており、両方のゾーンのトラフィック特性が似ている場合。
次のいずれかの場合は、ゾーン ポリシーのステータスを未調整に変更することがあります。
• ゾーンの IP アドレスまたはサブネットを変更した場合。
• トラフィックのピーク時の間、保護およびラーニング機能を開始していない場合。ゾーン ポリシーのステータスを未調整に変更し、Guard モジュールがピーク時のトラフィックを攻撃として識別しないようにします。
ゾーン ポリシーに調整済みのマークを付けるには、ゾーン設定モードで次のコマンドを使用します。
learning-params threshold-tuned
ゾーン ポリシーに未調整のマークを付けるには、このコマンドの no 形式を使用します。
次の例は、ゾーン ポリシーのステータスに調整済みのマークを付ける方法を示しています。
保護およびラーニング機能を使用することで、ラーニング プロセスのしきい値調整フェーズとゾーン保護を同時にイネーブルにできます。Guard モジュールは、ポリシーしきい値を継続的に調整すると同時に、最後に保存されたポリシーしきい値を使用してトラフィックの異常を監視します。Guard モジュールは、ゾーンに対する攻撃を検出すると、ラーニング プロセスを停止して悪意のあるトラフィックのしきい値をラーニングしないようにし、攻撃の軽減を開始します。攻撃終了後、Guard モジュールはゾーン保護とともにしきい値調整フェーズを再開します。
保護およびラーニング機能をアクティブにする前に、次のアクションを実行します。
• ラーニング プロセスのポリシー構築フェーズをアクティブにして、ゾーン固有のポリシーを構築する(「ポリシー構築フェーズのアクティブ化」を参照)。
• ゾーン設定モードで show learning-params コマンドを使用して、ゾーン ポリシーの現在の調整状態を表示する。ポリシーが調整済みである場合、Guard モジュールは保護およびラーニング動作を実行できます。
ポリシーが未調整である場合に保護およびラーニング機能をイネーブルにすると、Guard モジュールは次のように動作します。
–ラーニング プロセスのしきい値調整フェーズだけを実行する。Guard モジュールは、トラフィックのポリシーしきい値違反を監視しないため、ゾーン保護を行いません。しきい値調整フェーズの結果を 1 回受け入れた後、Guard モジュールはポリシーを調整済みとしてマークして、ゾーン保護を行います。
–しきい値選択方式が max-threshold または weighted に設定されていても、しきい値選択方式 accept-new をアクティブにする(「しきい値選択方式の設定」を参照)。しきい値調整フェーズの結果を 1 回受け入れた後、Guard モジュールは、設定されているしきい値選択方式を使用します。
詳細については、「ポリシーに対する調整済みのマーク付け」を参照してください。
しきい値調整フェーズの結果を手動で受け入れることも、Guard モジュールが結果を自動的に受け入れるように設定することもできます。Guard モジュールがラーニング プロセスの結果をいつ、どのように受け入れるかを設定することもできます(「ラーニング パラメータの設定」を参照)。
ラーニング プロセスとゾーン保護を同時にアクティブにするには、 protect learning コマンドを使用するか、 learning threshold-tuning コマンドと protect コマンドを順番に入力します(順序は問いません)。
しきい値調整フェーズの詳細については、「しきい値調整フェーズのアクティブ化」を参照してください。ゾーン保護の詳細については、「ゾーンの保護」を参照してください。
スナップショット機能では、ラーニング プロセスの任意の段階でラーニング パラメータ(サービス、しきい値、その他のポリシー関連のデータ)のコピーを保存できます。スナップショットを使用して、次のタスクを実行できます。
• 2 つのゾーン スナップショットを比較して、ラーニング プロセスの結果を確認し、ポリシー、サービス、およびしきい値の違いをトレースする。
• ラーニング プロセス中に攻撃が発生した場合、トラフィックが通常状態のときに取得されたスナップショットのポリシーを使用して、ゾーン保護を行う。
• スナップショットからゾーン ポリシーをコピーすることで、以前のラーニング結果に基づいてゾーンを設定する。
ラーニング プロセス中、数時間ごとにスナップショットを保存することをお勧めします。スナップショットは、手動で撮ることも、指定した間隔で Guard モジュールが自動的に撮るように設定することもできます。Guard モジュールは、スナップショットをゾーンごとに 100 個まで保存できます。以前のスナップショットは新しいスナップショットに置き換えられます。
ゾーンのラーニング パラメータの単一スナップショットを保存することができます。または、指定した間隔で Guard モジュールが自動的にスナップショットを撮るように設定できます。Guard モジュールは、スナップショットの取得中も、ラーニング プロセスを続行します。
Guard モジュールが指定した間隔で自動的にスナップショットを取得するように設定する方法の詳細については、「定期的なアクションの設定」を参照してください。
ゾーンのラーニング パラメータのスナップショットを 1 つ保存するには、ゾーン設定モードで次のコマンドを使用します。
snapshot [threshold-selection {cur-thresholds | max-thresholds | new-thresholds | weighted calc-weight }]
表9-3 に、 snapshot コマンドの引数とキーワードを示します。
次の例は、ポリシーの現在のしきい値とラーニング プロセスの新しいしきい値のうちで最も大きい値をしきい値として持つスナップショットを作成する方法を示しています。
user@GUARD
-conf-zone-scannet# snapshot threshold-selection max-thresholds
グローバル モードでスナップショットを 1 つ保存するには、次のコマンドを使用します。
snapshot zone-name [ threshold-selection { new-thresholds | max-thresholds | cur-thresholds | weighted weight }]
2 つのスナップショットまたはゾーンのラーニングの結果を比較して、ポリシー、サービス、およびしきい値の違いをトレースできます。
• ゾーンの比較
2 つのスナップショットを比較するには、ゾーン設定モードで次のコマンドを使用します。
diff snapshots snapshot-id1 snapshot-id2 [ percent ]
表9-4 に、 diff コマンドの引数を示します。
次の例は、ゾーンのスナップショットの表示方法と、最新の 2 つのスナップショットを比較する方法を示しています。
グローバル モードでスナップショットを比較するには、次のコマンドを使用します。
diff zone-name snapshots snapshot-id1 snapshot-id2 [ percent ]
2 つのゾーンのラーニング パラメータを比較するには、グローバル モードまたは設定モードで次のコマンドを使用します。
diff zone-name1 zone-name2 [ percent ]
表9-5 に、 diff コマンドの引数を示します。
|
|
---|---|
(オプション)違いの割合。Guard モジュールは、2 つのゾーンを比較して、指定した値よりも大きいポリシーしきい値の違いだけを表示します。デフォルトのパーセンテージは 100% で、Guard モジュールは 2 つのスナップショットにおける相違をすべて表示します。 |
次の例は、2 つのゾーンのラーニング パラメータの比較方法を示しています。
ゾーン設定モードで次のコマンドを入力すると、ゾーンのスナップショットまたはスナップショット パラメータのリストが表示され、ゾーンのラーニングの結果を包括的に把握できます。
show snapshots [ snapshot-id [ policies policy-path ]]
表9-6 に、 show snapshots コマンドの引数とキーワードを示します。
|
|
---|---|
(オプション)表示するスナップショットの ID。スナップショットを指定しない場合、Guard モジュールではゾーンの全スナップショットのリストが表示されます。 |
|
(オプション)表示対象のポリシーのグループを指定します。詳細については、「ゾーン ポリシーについて」を参照してください。 |
グローバル モードでスナップショットを表示するには、次のコマンドを使用します。
show zone zone-name snapshots [ snapshot-id [ policies policy-path ]]
show zone zone-name snapshots snapshot-id policies policy-path コマンドの出力のフィールドは、 show policies コマンドの出力のフィールドと同じです。詳細については、「ポリシーの表示」を参照してください。
表9-7 に、 show snapshots コマンド出力のフィールドを示します。
|
|
---|---|
|
|
|
次の例は、ゾーンのスナップショットのリストを表示する方法と、スナップショット 2 の dns_tcp に関連するポリシーを表示する方法を示しています。
古いスナップショットを削除して空きディスク スペースを得るには、ゾーン設定モードで次のコマンドを入力します。
snapshot-id 引数には、既存のスナップショットの ID を指定します。すべてのゾーンのスナップショットを削除するには、アスタリスク(*)を入力します。スナップショットの詳細を表示するには、show snapshots コマンドを使用します。
次の例では、すべてのゾーンのスナップショットを削除する方法を示しています。
ポリシーの全体の設定または部分的な設定を現在のゾーンにコピーできます。
• サービスのコピー:ソース ゾーンからゾーンにサービスをコピーできます。サービスをコピーすると、サービス検出のためにポリシー構築フェーズを適用しなくても、ゾーン ポリシーを設定できます。サービスをゾーンにコピーするには、まず、そのゾーンが同様のトラフィック パターンを持つことを確認します。
• ポリシー パラメータのコピー:ゾーン ポリシー パラメータをゾーンのスナップショットのポリシー パラメータに置き換えることができます。この設定を行うことにより、以前のラーニングの結果に戻すことができます。Guard モジュールは、既存ポリシーのパラメータだけをコピーします。
ゾーンのポリシーをコピーするには、ゾーン設定モードで次のコマンドを使用します。
c opy-policies { snapshot-id | src-zone-name [service-path]}
表9-8 に、copy-policies コマンドの引数とキーワードを示します。
次の例は、ポリシー テンプレート tcp_connections に関連するすべてのサービスを、ゾーン webnet から現在のゾーン scannet にコピーする方法を示しています。
次の例は、ゾーンのスナップショットのリストを表示し、次に ID が 2 のスナップショットからポリシーをコピーする方法を示しています。
ゾーン設定モードで次のコマンドを使用して、いつでも現在のゾーン ポリシーのバックアップを作成できます。
snapshot threshold-selection cur-thresholds
次の例は、現在のゾーン ポリシーのバックアップ方法を示しています。