コントロールプレーンDDoS保護フロー検出の概要
フロー検出は、DDoS ポリサー階層を補完するコントロール プレーン DDoS 保護の強化です。これは、完全なコントロールプレーンDDoS保護ソリューションの一部です。フロー検出は、限られた量のハードウェアリソースを使用して、制御トラフィックのホストバウンドフローの到着率を監視します。フロー検出は、フィルター ポリサーに基づくソリューションよりもはるかにスケーラブルです。フィルター ポリサーはすべてのフローを追跡するため、かなりの量のリソースが消費されます。対照的に、フロー検出は疑わしいと判断されたフローのみを追跡し、そのために使用するリソースははるかに少なくなります。
フロー検出アプリケーションには、検出と追跡という 2 つの相互に関連するコンポーネントがあります。検出とは、不適切が疑われるフローを特定し、その後制御するプロセスです。トラッキングとは、フローを追跡して、本当に敵対的かどうか、およびフローが許容範囲内に回復するタイミングを判断するプロセスです。
フローの検出と制御
フロー検出はデフォルトで無効になっています。 [edit system ddos-protection global]
階層レベルで有効にすると、ほぼすべてのプロトコルグループとパケットタイプでコントロールプレーンDDoS保護ポリサーに違反したときに、本製品は制御トラフィックフローの監視を開始します。フロー検出をグローバルに有効にすることに加えて、その動作モード、つまり、DDoS 保護ポリサーの違反によって自動的にトリガーされるか(デフォルト)、常にオンにするかを、ほぼすべてのプロトコル グループとパケット タイプに対して構成できます。個々のプロトコル グループおよびパケット タイプのグローバル構成設定を上書きできます。イベント レポート レートを除き、フロー検出の他のすべての特性は、個々のパケット タイプのレベルでのみ設定できます。
拡張加入者管理は、Junos OS リリース 17.3R1 以降、コントロール プレーン DDoS 保護のフロー検出をサポートします。
以下のグループおよびパケットタイプについては、典型的なイーサネット、IP、または IPv6 ヘッダーを持たないため、フロー検出をグローバルに有効にすることはできません。
プロトコル グループ:
fab-probe
、frame-relay
、inline-ka
、isis
、jfm
、mlp
、pfe-alive
、pos
、services
。パケット タイプ:
ip-options
プロトコル グループでunclassified
。
制御フローは 3 つのレベルで集約されます。 加入者レベル は 3 つの中で最も細かく粒度が高く、個々の加入者セッションのフローで構成されています。 論理インターフェイスレベル は複数の加入者フローを集約するため、粒度が粗くなり、個々の加入者フローを区別しません。 物理インターフェイスレベルで は、複数の論理インターフェイスフローが集約されるため、トラフィックフローを最も粗く把握することができます。
フロー検出は、3 つの制御フロー レベルのいずれでもオンまたはオフを切り替えることができます。フロー検出が DDoS 保護ポリサー違反によって自動的にトリガーされるように設定するか、常にオンのままにするかを選択できます。自動モードでは、フロー検出は DDoS 保護ポリサー違反が発生した後にのみアクティブになります。フロー検出は、検出が on
または automatic
に設定されている最も詳細なレベルで開始されます。
フローが到着すると、フロー検出は、そのフローが 疑わしい フローのテーブルに既にリストされているかどうかを確認します。疑わしいフローとは、デフォルトまたは設定で許可された帯域幅を超えるフローです。フローがテーブルになく、集約レベルのフロー検出モードが on
の場合、フロー検出はテーブル内のフローをリストします。フローがテーブルになく、フロー検出モードが automatic
の場合、フロー検出はこのフローに不審なものがないかどうかを確認します。
フローが疑わしい場合は、フローテーブルに入れられます。フローが疑わしいものでない場合は、フロー検出が on
に設定されている次に粗い集約レベルで同じように処理されます。上位レベルのいずれも検出されていない場合、フローはアクションのために DDoS 保護パケット ポリサーに続行され、そこで通過またはドロップできます。
最初のチェックでテーブル内のフローが検出されると、その集約レベルの制御モード設定に応じて、フローがドロップ、ポリシング、または維持されます。ドロップされたフロー内のパケットはすべてドロップされます。ポリシングされたフローでは、フローがアグリゲーション レベルの許容帯域幅内に収まるまでパケットが廃棄されます。保持されたフローは、処理のために次の集約レベルに渡されます。
詳細については、 フロー検出のグローバルな動作の設定を参照してください。
フロートラッキング
フロー検出アプリケーションは、疑わしいフローテーブルにリストされているフローを追跡します。テーブル内の各エントリを定期的にチェックして、リストされたフローにまだ疑わしい(帯域幅に違反している)かどうかを判断します。疑わしいフローが、設定可能なフロー検出期間よりも長い期間テーブルに挿入されてから継続的に帯域幅に違反している場合、それは単に疑わしいフローではなく、 原因 フローと見なされます。ただし、検出期間未満の時間帯に帯域違反が発生した場合、その違反は誤検知として扱われます。フロー検出は、フローが安全であると見なし、追跡を停止します(テーブルから削除します)。
設定可能なタイムアウト期間中、原因フローを抑制するタイムアウト機能を有効にし、その間、フローはフロー テーブルに保持されます。(抑制はデフォルトの動作ですが、フロー検出アクションはフローレベル制御設定によって変更できます)。リストされたフローのチェックで、タイムアウトが有効になっていて、タイムアウト期間が経過しているフローが見つかった場合、そのフローはタイムアウトしており、フロー テーブルから削除されます。
タイムアウトの期限が切れていない場合、またはタイムアウト機能が有効になっていない場合、本製品はリカバリーチェックを実行します。フローが最後に帯域幅に違反してからの時間が、設定可能な回復期間よりも長い場合、フローは回復しており、フロー テーブルから削除されます。最後の違反からの時間が回復期間よりも短い場合、フローはフロー テーブルに保持されます。
通知
デフォルトでは、フロー検出は、フロー検出中に発生するさまざまなイベントのシステム ログを自動的に生成します。ログは、フロー検出 CLI では レポート と呼ばれます。すべてのプロトコルグループとパケットタイプがデフォルトでカバーされていますが、個々のパケットタイプの自動ロギングを無効にすることができます。また、レポートの送信レートを設定することもできますが、これはすべてのパケットタイプにグローバルに適用されます。
各レポートは、次の 2 つのタイプのいずれかに属します。
フローレポート—これらのレポートは、原因となるフローの特定と追跡に関連するイベントによって生成されます。各レポートには、イベントを経験したフローの識別情報が含まれます。この情報は、フローテーブルを正確に維持するために使用されます。フローは、レポート内の情報に基づいてテーブルで削除または保持されます。 表 1 では、各フロー レポートをトリガーするイベントについて説明します。
表 1:フロー検出レポートのトリガー イベント 名前
形容
DDOS_SCFD_FLOW_FOUND
不審なフローが検出されました。
DDOS_SCFD_FLOW_TIMEOUT
原因フローのタイムアウト期間が切れます。フロー検出は、フローの抑制(またはモニタリング)を停止します。
DDOS_SCFD_FLOW_RETURN_NORMAL
原因フローが帯域幅制限内に戻ります。
DDOS_SCFD_FLOW_CLEARED
原因フローは、
clear
コマンドで手動でクリアされるか、疑わしいフロー監視が別の集約レベルに移行した結果として自動的にクリアされます。DDOS_SCFD_FLOW_AGGREGATED
制御フローは、より粗いレベルに集約されます。このイベントは、フローテーブルが容量に近づいた場合、または特定のフローレベルでフローが見つからず、次の粗いレベルを検索する必要がある場合に発生します。
DDOS_SCFD_FLOW_DEAGGREGATED
制御フローは、より細かいレベルに細分化されます。このイベントは、フロー テーブルがあまりいっぱいでない場合、またはフロー制御が有効で、パケット タイプのポリサーでのフローの合計到着レートが、固定された内部期間にわたって帯域幅を下回っている場合に発生します。
帯域幅違反レポート—不審なフローの発見に関連するイベントによって生成されるレポートです。各レポートには、イベントを経験したフローの識別情報が含まれます。この情報は、疑わしいフローを追跡し、フロー テーブルに配置されたフローを識別するために使用されます。 表 2 は、各違反レポートをトリガーするイベントを示しています。
表 2:帯域幅違反レポートのトリガー イベント 名前
形容
DDOS_PROTOCOL_VIOLATION_SET
制御プロトコルの受信トラフィックが、設定された帯域幅を超えました。
DDOS_PROTOCOL_VIOLATION_CLEAR
違反した制御プロトコルの受信トラフィックが正常に戻りました。
レポートは、イベントによってトリガーされたときにのみ送信されます。つまり、NULL または空のレポートはありません。レポートは定期的に作成されるため、関心のあるイベントは、最後のレポート以降の間隔中に発生したイベントのみです。
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。