例:コントロール プレーン DDoS 防御の設定
この例では、ルーターが攻撃を迅速に識別し、悪意のある制御パケットの洪水がシステムリソースを使い果たすのを防ぐことを可能にするコントロールプレーンDDoS保護を設定する方法を示しています。
必要条件
コントロールプレーンのDDoS攻撃防御には、以下のハードウェアとソフトウェアが必要です。
MPCのみがインストールされているMXシリーズルーター、FPC5のみがインストールされているT4000コアルーター、EX9200スイッチ。
手記:ルーターにMPCまたはFPC5以外のカードがある場合、CLIは設定を受け入れますが、他のカードは保護されないため、ルーターは保護されません。
Junos OS リリース 11.2 以降
この機能を設定する前に、デバイスの初期化以上の特別な設定を行う必要はありません。
概要
分散型サービス拒否攻撃は、複数のソースを使用して、ネットワークまたはルーターにプロトコル制御パケットをフラッディングさせます。この悪意のあるトラフィックは、ネットワーク内で多数の例外をトリガーし、システムリソースを使い果たして、ネットワークまたはサーバーへの有効なユーザーのアクセスを拒否しようとします。
この例では、過剰な制御トラフィックを特定し、ルーターが悪影響を受ける前にパケットをドロップするレート制限ポリサーを設定する方法を説明します。サンプル タスクには、プロトコル グループ内の特定の制御パケット タイプに対するポリサーの設定、プロトコル グループに対する集約ポリサーの設定と特定の制御パケット タイプに対するそのポリサーのバイパス、DDoS 操作のトレース オプションの指定などがあります。
この例では、考えられるすべての設定の選択肢が示されているわけではありません。
位相幾何学
構成
プロシージャ
CLIクイック構成
プロトコル グループと特定の制御パケット タイプのコントロール プレーン DDoS 攻撃防御をすばやく構成するには、次のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除してから、コマンドをコピーして CLI に貼り付けます。
[edit] edit system set ddos-protection protocols dhcpv4 aggregate bandwidth 669 set ddos-protection protocols dhcpv4 aggregate burst 6000 set ddos-protection protocols dhcpv4 discover bandwidth 100 set ddos-protection protocols dhcpv4 discover recover-time 200 set ddos-protection protocols dhcpv4 discover burst 300 set ddos-protection protocols dhcpv4 offer priority medium set ddos-protection protocols dhcpv4 offer bypass-aggregate set ddos-protection protocols dhcpv4 offer fpc 1 bandwidth-scale 80 set ddos-protection protocols dhcpv4 offer fpc 1 burst-scale 75 set ddos-protection protocols pppoe aggregate bandwidth 800 set ddos-protection traceoptions file ddos-trace size 10m set ddos-protection traceoptions flag all top
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、 設定モードでのCLIエディターの使用を参照してください。
DDoS 防御を構成するには:
プロトコル グループを指定します。
[edit system ddos-protection protocols] user@host# edit dhcpv4
DHCPv4 集約ポリサーの最大トラフィックレート(パケット/秒 [pps]) を設定します。つまり、すべての DHCPv4 パケットの組み合わせが対象です。
手記:bandwidthオプションを使用してトラフィック レートを変更します。帯域幅という用語は通常、ビット/秒(bps)を指しますが、この機能のbandwidthオプションはパケット/秒(pps)値を表します。[edit system ddos-protection protocols dhcpv4] user@host# set aggregate bandwidth 669
DHCPv4 集約ポリサーの最大バースト サイズ(パケット数)を設定します。
[edit system ddos-protection protocols dhcpv4] user@host# set aggregate burst 6000
検出パケットの DHCPv4 ポリサーの最大トラフィック レート(pps)を構成します。
[edit system ddos-protection protocols dhcpv4] user@host# set discover bandwidth 100
DHCPv4 ディスカバリー ポリサー違反の回復時間を短縮します。
[edit system ddos-protection protocols dhcpv4] user@host# set discover recover-time 200
DHCPv4 ディスカバー ポリサーの最大バースト サイズ(パケット数)を設定します。
[edit system ddos-protection protocols dhcpv4] user@host# set discover burst 300
DHCPv4オファーパケットの優先度を上げます。
[edit system ddos-protection protocols dhcpv4] user@host# set offer priority medium
オファーパケットが集約帯域幅(pps)に含まれないようにする。つまり、オファーパケットは、集約帯域幅(pps)を超えているかどうかを判断するためのDHCPv4トラフィックの組み合わせには寄与しません。ただし、オファーパケットは引き続きトラフィックレート統計に含まれます。
[edit system ddos-protection protocols dhcpv4] user@host# set offer bypass-aggregate
スロット 1 の MPC または FPC5 の DHCPv4 オファー ポリサーで違反が宣言される前に許容される帯域幅(pps)とバースト サイズ(パケット)を減らします。
[edit system ddos-protection protocols dhcpv4] user@host# set offer fpc 1 bandwidth-scale 80 user@host# set offer fpc 1 burst-scale 75
PPPoE 集合型ポリサーの最大トラフィック レート、つまりすべての PPPoE パケットの組み合わせを構成します。
[edit system ddos-protection protocols dhcpv4] user@host# up [edit system ddos-protection protocols] user@host# set pppoe aggregate bandwidth 800
すべての DDoS プロトコル処理イベントのトレースを設定します。
[edit system ddos-protection traceoptions] user@host# set file ddos-log user@host# set file size 10m user@host# set flag all
業績
設定モードから、 show ddos-protection コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit system]
user@host# show ddos-protection
traceoptions {
file ddos-trace size 10m;
flag all;
}
protocols {
pppoe {
aggregate {
bandwidth 800;
}
}
dhcpv4 {
aggregate {
bandwidth 669;
burst 6000;
}
discover {
bandwidth 100;
burst 300;
recover-time 200;
}
offer {
priority medium;
fpc 1 {
bandwidth-scale 80;
burst-scale 75;
}
bypass-aggregate;
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
DDoS 保護設定が正しく機能していることを確認するには、次のタスクを実行します。
DHCPv4 DDoS 攻撃防御の構成と運用の検証
目的
DHCPv4 集約値とプロトコル ポリサー値がデフォルトから変更されていることを確認します。DHCPv4 および PPPoE トラフィック フローを使用して、ポリサーが正しく機能していることを確認します。ここに示すように、コマンドを入力して関心のある個々のポリサーを表示するか、 show ddos-protection protocols dhcpv4 コマンドを入力してすべての DHCPv4 パケット タイプのこの情報を表示することができます。
アクション
動作モードから、 show ddos-protection protocols dhcpv4 aggregate コマンドを入力します。
user@host> show ddos-protection protocols dhcpv4 aggregate
Protocol Group: DHCPv4
Packet type: aggregate (aggregate for all DHCPv4 traffic)
Aggregate policer configuration:
Bandwidth: 669 pps
Burst: 6000 packets
Priority: medium
Recover time: 300 seconds
Enabled: Yes
System-wide information:
Aggregate bandwidth is no longer being violated
No. of FPCs currently receiving excess traffic: 0
No. of FPCs that have received excess traffic: 1
Violation first detected at: 2011-03-10 06:27:47 PST
Violation last seen at: 2011-03-10 06:28:57 PST
Duration of violation: 00:01:10 Number of violations: 1
Received: 71064 Arrival rate: 0 pps
Dropped: 23115 Max arrival rate: 1000 pps
Routing Engine information:
Bandwidth: 669 pps, Burst: 6000 packets, enabled
Aggregate policer is never violated
Received: 36130 Arrival rate: 0 pps
Dropped: 0 Max arrival rate: 671 pps
Dropped by aggregate policer: 0
FPC slot 1 information:
Bandwidth: 100% (669 pps), Burst: 100% (5000 packets), enabled
Aggregate policer is no longer being violated
Violation first detected at: 2011-03-10 06:27:48 PST
Violation last seen at: 2011-03-10 06:28:58 PST
Duration of violation: 00:01:10 Number of violations: 1
Received: 71064 Arrival rate: 0 pps
Dropped: 34934 Max arrival rate: 1000 pps
Dropped by individual policers: 11819
Dropped by aggregate policer: 23115
動作モードから、 show ddos-protection protocols dhcpv4 discover コマンドを入力します。
user@host> show ddos-protection protocols dhcpv4 discover
Protocol Group: DHCPv4
Packet type: discover (DHCPv4 DHCPDISCOVER)
Individual policer configuration:
Bandwidth: 100 pps
Burst: 300 packets
Priority: low
Recover time: 200 seconds
Enabled: Yes
Bypass aggregate: No
System-wide information:
Bandwidth is no longer being violated
No. of FPCs currently receiving excess traffic: 0
No. of FPCs that have received excess traffic: 1
Violation first detected at: 2011-03-10 06:28:34 PST
Violation last seen at: 2011-03-10 06:28:55 PST
Duration of violation: 00:00:21 Number of violations: 1
Received: 47949 Arrival rate: 0 pps
Dropped: 11819 Max arrival rate: 671 pps
Routing Engine information:
Bandwidth: 100 pps, Burst: 300 packets, enabled
Policer is never violated
Received: 36130 Arrival rate: 0 pps
Dropped: 0 Max arrival rate: 0 pps
Dropped by aggregate policer: 0
FPC slot 1 information:
Bandwidth: 100% (100 pps), Burst: 100% (300 packets), enabled
Policer is no longer being violated
Violation first detected at: 2011-03-10 06:28:35 PST
Violation last seen at: 2011-03-10 06:28:55 PST
Duration of violation: 00:00:20 Number of violations: 1
Received: 47949 Arrival rate: 0 pps
Dropped: 11819 Max arrival rate: 671 pps
Dropped by this policer: 11819
Dropped by aggregate policer: 0
動作モードから、 show ddos-protection protocols dhcpv4 offer コマンドを入力します。
user@host> show ddos-protection protocols dhcpv4 offer
Protocol Group: DHCPv4
Packet type: offer (DHCPv4 DHCPOFFER)
Individual policer configuration:
Bandwidth: 1000 pps
Burst: 1000 packets
Priority: medium
Recover time: 300 seconds
Enabled: Yes
Bypass aggregate: Yes
System-wide information:
Bandwidth is never violated
Received: 0 Arrival rate: 0 pps
Dropped: 0 Max arrival rate: 0 pps
Routing Engine information:
Policer is never violated
Received: 0 Arrival rate: 0 pps
Dropped: 0 Max arrival rate: 0 pps
Dropped by aggregate policer: 0
FPC slot 1 information:
Bandwidth: 80% (800 pps), Burst: 75% (750 packets), enabled
Policer is never violated
Received: 0 Arrival rate: 0 pps
Dropped: 0 Max arrival rate: 0 pps
Dropped by aggregate policer: 0
意味
これらのコマンドの出力には、DHCPv4 アグリゲート、ディスカバリー、オファー ポリサーのポリサー設定とトラフィック統計情報がそれぞれ一覧表示されます。
最初の出力例の Aggregate policer configuration セクションと、2番目と3番目の出力例の Individual policer configuration セクションには、帯域幅、バースト、優先度、回復時間、バイパスアグリゲートの設定値が一覧表示されています。
System-wide information セクションには、すべてのライン カードとルーティング エンジンで記録されたポリサーのすべての DHCPv4 トラフィック統計情報と違反の合計が表示されます。Routing engine informationセクションには、ルーティング エンジンで記録されたポリサーのトラフィック統計情報と違反が表示されます。FPC slot 1 information セクションには、スロット 1 のラインカードでのみ記録されたポリサーのトラフィック統計情報と違反が表示されます。
この例の集約ポリサーの出力は、以下の情報を示しています。
System-wide informationセクションでは、すべてのライン カードとルーティング エンジンで、すべてのタイプの 71,064 DHCPv4 パケットが受信されたことがわかります。このセクションには、タイムスタンプ付きの単一の違反と、ラインカードの集約ポリサーがこれらのパケットのうち23,115をドロップしたことが示されています。FPC slot 1 informationセクションでは、このラインカードは 71,064 個の DHCPv4 パケットすべてを受信したものの、集約ポリサーで違反が発生し、他のセクションに示されている 23,115 個のパケットをドロップしたことが示されています。ラインカードの個々のポリサーは、さらに 11,819 パケットをドロップしました。Routing Engine informationセクションでは、残りの 36,130 パケットがすべてルーティング エンジンに到達し、その集約ポリサーが追加のパケットをドロップしなかったことを示しています。ラインカード[71,064 - (23,115 + 11,819]で受信されたDHCPv4パケットの数とドロップされたDHCPv4パケットの数の差は、ルーティングエンジンで受信された数と一致します。パケットは複数のラインカードで受信およびドロップされる可能性があるため、常にそうであるとは限りません。この例では、スロット1のラインカードのみがDHCPv4パケットを受信しました。
この例の DHCPv4 ディスカバー パケット ポリサーの出力には、次の情報が表示されます。
System-wide informationセクションでは、すべてのライン カードとルーティング エンジンで 47,949 件の DHCPv4 Discover パケットを受信したことがわかります。このセクションには、タイムスタンプ付きの単一の違反と、ラインカードの集約ポリサーがこれらのパケットのうち 11,819 をドロップしたことが示されています。FPC slot 1 informationセクションでは、このラインカードは 47,949 個の DHCPv4 Discover パケットをすべて受信したものの、個々のポリサーで違反が発生し、他のセクションに示されている 11,819 個のパケットをドロップしたことが示されています。Routing Engine informationセクションでは、ルーティング エンジンに到達した DHCPv4 検出パケットは 36,130 個のみであり、追加のパケットはドロップされなかったことを示しています。ラインカードで受信されたDHCPv4 Discoverパケットの数とドロップされたDHCPv4検出パケットの数の差(47,949 - 11,819)は、ルーティングエンジンで受信した数と一致しています。パケットは複数のラインカードで受信およびドロップされる可能性があるため、常にそうであるとは限りません。この例では、スロット1のラインカードのみがDHCPv4ディスカバリーパケットを受信しました。
この例の DHCPv4 オファー パケット ポリサーの出力には、次の情報が表示されます。
この個々のポリサーは、どの場所でも違反されたことはありません。
DHCPv4オファーパケットはどの場所でも受信されていません。
PPPoE DDoS設定の検証
目的
PPPoE ポリサーの値がデフォルトから変更されていることを確認します。
アクション
動作モードから、 show ddos-protection protocols pppoe parameters brief コマンドを入力します。
user@host> show ddos-protection protocols pppoe parameters brief Number of policers modified: 1 Protocol Packet Bandwidth Burst Priority Recover Policer Bypass FPC group type (pps) (pkts) time(sec) enabled aggr. mod pppoe aggregate 800* 2000 medium 300 yes -- no pppoe padi 500 500 low 300 yes no no pppoe pado 0 0 low 300 yes no no pppoe padr 500 500 medium 300 yes no no pppoe pads 0 0 low 300 yes no no pppoe padt 1000 1000 high 300 yes no no pppoe padm 0 0 low 300 yes no no pppoe padn 0 0 low 300 yes no no
動作モードから show ddos-protection protocols pppoe padi コマンドを入力し、 padr 用の コマンドも入力します。
user@host> show ddos-protection protocols pppoe padi
Protocol Group: PPPoE
Packet type: padi (PPPoE PADI)
Individual policer configuration:
Bandwidth: 500 pps
Burst: 500 packets
Priority: low
Recover time: 300 seconds
Enabled: Yes
Bypass aggregate: No
System-wide information:
Bandwidth for this packet type is being violated!
Number of slots currently receiving excess traffic: 1
Number of slots that have received excess traffic: 1
Violation first detected at: 2011-03-09 11:26:33 PST
Violation last seen at: 2011-03-10 12:03:44 PST
Duration of violation: 1d 00:37 Number of violations: 1
Received: 704832908 Arrival rate: 8000 pps
Dropped: 660788548 Max arrival rate: 8008 pps
Routing Engine information:
Bandwidth: 500 pps, Burst: 500 packets, enabled
Policer is never violated
Received: 39950330 Arrival rate: 298 pps
Dropped: 0 Max arrival rate: 503 pps
Dropped by aggregate policer: 0
FPC slot 3 information:
Bandwidth: 100% (500 pps), Burst: 100% (500 packets), enabled
Policer is currently being violated!
Violation first detected at: 2011-03-09 11:26:35 PST
Violation last seen at: 2011-03-10 12:03:44 PST
Duration of violation: 1d 00:37 Number of violations: 1
Received: 704832908 Arrival rate: 8000 pps
Dropped: 664882578 Max arrival rate: 8008 pps
Dropped by this policer: 660788548
Dropped by aggregate policer: 4094030
user@host> show ddos-protection protocols pppoe padr
Protocol Group: PPPoE
Packet type: padr (PPPoE PADR)
Individual policer configuration:
Bandwidth: 500 pps
Burst: 500 packets
Priority: medium
Recover time: 300 seconds
Enabled: Yes
Bypass aggregate: No
System-wide information:
Bandwidth for this packet type is being violated!
Number of slots currently receiving excess traffic: 1
Number of slots that have received excess traffic: 1
Violation first detected at: 2011-03-10 06:21:17 PST
Violation last seen at: 2011-03-10 12:04:14 PST
Duration of violation: 05:42:57 Number of violations: 1
Received: 494663595 Arrival rate: 24038 pps
Dropped: 484375900 Max arrival rate: 24062 pps
Routing Engine information:
Bandwidth: 500 pps, Burst: 500 packets, enabled
Policer is never violated
Received: 10287695 Arrival rate: 500 pps
Dropped: 0 Max arrival rate: 502 pps
Dropped by aggregate policer: 0
FPC slot 1 information:
Bandwidth: 100% (500 pps), Burst: 100% (500 packets), enabled
Policer is currently being violated!
Violation first detected at: 2011-03-10 06:21:18 PST
Violation last seen at: 2011-03-10 12:04:14 PST
Duration of violation: 05:42:56 Number of violations: 1
Received: 494663595 Arrival rate: 24038 pps
Dropped: 484375900 Max arrival rate: 24062 pps
Dropped by this policer: 484375900
Dropped by aggregate policer: 0
意味
show ddos-protection protocols pppoe parameters brief コマンドの出力には、個々の PPPoE パケット ポリサーと PPPoE 集合型ポリサーの現在の構成が一覧表示されます。デフォルト値からの変更は、変更された値の横にあるアスタリスクで示されます。設定手順で PPPoE ポリサーに加えられた唯一の変更は、集約ポリサー帯域幅制限(pps)に対する変更でした。この変更は出力で確認されます。設定値に加えて、コマンド出力は、ポリサーが無効になっているかどうか、ポリサーが集約ポリサーをバイパスするかどうか(つまり、そのパケットタイプのトラフィックが集約ポリサーによる評価に含まれていない)、およびポリサーが1つ以上のラインカード用に変更されたかどうかも報告します。
この例の show ddos-protection protocols pppoe padi コマンドの出力には、次の情報が表示されます。
System-wide informationセクションでは、すべてのライン カードとルーティング エンジンで 704,832,908 PPPoE PADI パケットが受信されたことがわかります。このセクションには、進行中のラインカードでの違反が 1 つあり、ラインカードの集約ポリサーが 660,788,548 個の PADI パケットをドロップしたことが示されています。FPC slot 3 informationセクションでは、このラインカードが 704,832,908 個の PADI パケットをすべて受信したことがわかります。個々のポリサーはこれらのパケットのうち 660,788,548 個をドロップし、集約ポリサーは残りの 4,094,030 パケットをドロップしました。違反は進行中であり、1日以上続いています。Routing Engine informationセクションでは、ルーティング エンジンに到達した PADI パケットは 39,950,330 パケットのみであり、追加のパケットはドロップされなかったことが示されています。ラインカード[704,832,908 - (660,788,548 + 4,094030)]で受信されたPADIパケット数とドロップされたPADIパケット数の差は、ルーティングエンジンで受信した数と一致します。パケットは複数のラインカードで受信およびドロップされる可能性があるため、常にそうであるとは限りません。この例では、スロット3のラインカードのみがPADIパケットを受信しました。
この例の show ddos-protection protocols pppoe padr コマンドの出力には、次の情報が表示されます。
System-wide informationセクションでは、すべてのライン カードとルーティング エンジンで 494,663,595 個の PPPoE PADR パケットを受信したことがわかります。このセクションには、進行中のラインカードでの違反が 1 つあり、ラインカードのポリサーが 484,375,900 個の PADR パケットをドロップしたことが表示されます。FPC slot 1 informationセクションでは、このラインカードが 494,663,595 個の PADR パケットをすべて受信したことがわかります。その個々のポリサーは、これらのパケットのうち484,375,900をドロップしました。違反は進行中であり、5時間以上続いています。Routing Engine informationセクションでは、ルーティング エンジンに到達した PADR パケットは 10,287,695 個のみで、それ以上のパケットはドロップされなかったことがわかります。ラインカードで受信されたPADRパケット数とラインカードでドロップされたPADRパケット数の差(494,663,595 - 484,375,900)は、ルーティングエンジンで受信した数と一致します。パケットは複数のラインカードで受信およびドロップされる可能性があるため、常にそうであるとは限りません。この例では、スロット1のラインカードのみがPADRパケットを受信しました。
このシナリオは、1 つのラインカードで受信したすべての PADI パケットと、別のラインカードで受信したすべての PADR パケットを表示するという点で非現実的です。このシナリオの目的は、個々のラインカードについてポリサー違反がどのように報告されるかを示すことです。