このページで
ネットワーク DoS 攻撃
ネットワーク攻撃は、3 つの主要な段階で構成されています。最初の段階では、攻撃者はターゲット ネットワークに対して偵察を行います。この偵察は、さまざまな種類のネットワーク プローブで構成されている場合があります。詳細については、以下のトピックを参照してください。
ネットワーク DoS 攻撃の概要
1つ以上のネットワークリソースに向けられたサービス拒否(DoS)攻撃は、圧倒的な数のSYN、ICMP、またはUDPパケット、または圧倒的な数のSYNフラグメントでターゲットをあふれさせます。
攻撃者の目的や、これまでの情報収集の範囲や成功に応じて、攻撃者はデバイスやサーバーなどの特定のホストを単独で特定したり、ターゲットとなるネットワーク上のランダムなホストを目指したりする可能性があります。どちらのアプローチも、被害者がネットワークの残りの部分にどの程度重要であるかに応じて、単一のホストやネットワーク全体にサービスを混乱させる可能性があります。
SYNフラッド攻撃について
SYNフラッドは、不完全な接続要求を開始するSYNセグメントによってホストが過負荷状態になり、正規の接続リクエストを処理できなくなった場合に発生します。
2 つのホストが、 スリーウェイ ハンドシェイクと呼ばれるパケットの 3 つの交換で TCP 接続を確立します。A は SYN セグメントを B に送信します。B は SYN/ACK セグメントで応答します。A は ACK セグメントで応答します。SYNフラッド攻撃は、存在しないアドレスまたは到達不能なアドレスを持つ偽造(スプーフィングされた)IPソースアドレスを含むSYNセグメントを持つサイトを攻撃します。B はこれらのアドレスに SYN/ACK セグメントを返し、その後 ACK セグメントの応答を待ちます。SYN/ACK セグメントは存在しない IP アドレスまたは到達不能な IP アドレスに送信されるため、応答を引き出すことはありません。最終的にはタイムアウトします。 図 1 を参照してください。

TCP 接続が不完全なホストをフラッディングすることで、攻撃者は最終的に被害者のメモリ バッファを満たします。このバッファーがフルになると、ホストは新しい TCP 接続要求を処理できなくなります。フラッドは犠牲者のオペレーティングシステムに損害を与える可能性さえあります。いずれにしても、攻撃対象とその通常の動作が無効になります。
このトピックには、以下のセクションが含まれています。
SYNフラッドプロテクション
Junos OS は、1 秒あたりにファイアウォールの通過を許可する SYN セグメントの数に制限を付けることができます。攻撃のしきい値は、宛先アドレスとイングレス インターフェイス ポート、宛先アドレスのみ、または送信元アドレスのみに基づいて設定できます。1秒あたりのSYNセグメント数が設定されたしきい値を超えた場合、Junos OSは受信SYNセグメントのプロキシ化を開始し、SYN/ACKセグメントと返信し、不完全な接続リクエストを接続キューに格納するか、パケットをドロップします。
SYN プロキシは、宛先アドレスとイングレス インターフェイス ポート攻撃のしきい値を超えた場合にのみ発生します。宛先アドレスまたは送信元アドレスのしきい値を超えた場合、追加のパケットは破棄されます。
図 2 では、宛先アドレスとイングレス インターフェイス ポートの SYN 攻撃のしきい値を超え、Junos OS が受信 SYN セグメントのプロキシ化を開始しました。不完全な接続要求は、接続が完了するか、要求がタイムアウトするまでキューに残ります。

SYNフラッドオプション
未記入の TCP 接続要求をプロキシーするために、以下のパラメーターを設定できます。
攻撃のしきい値 —このオプションにより、SYN プロキシ メカニズムのアクティブ化に必要な 1 秒あたりの同じ宛先アドレスに SYN セグメントの数(つまり、SYN フラグが設定された TCP セグメント)を設定できます。しきい値は任意の数に設定できますが、サイトで正常なトラフィック パターンを把握して、それに適したしきい値を設定する必要があります。たとえば、通常 20,000 SYN セグメント/秒を取得する e ビジネス サイトの場合、しきい値を 30,000/秒に設定できます。小規模なサイトが通常、1 秒あたり 20 の SYN セグメントを取得する場合は、しきい値を 40 に設定することを検討してください。
アラームしきい値—このオプションにより、プロキシされた、1 秒あたりの半分完全な TCP 接続要求の数を設定し、その後 Junos OS がイベント ログにアラームを入力できます。アラームしきい値に設定した値は、プロキシされた半完了の同じ宛先アドレスへの接続要求の数がその値を超えた場合にアラームをトリガーします。たとえば、SYN 攻撃のしきい値を 2000 SYN セグメント/秒、アラームを 1000 に設定した場合、ログ内のアラーム エントリーをトリガーするには、1 秒あたり同じ宛先アドレスに合計 3,000 の SYN セグメントが必要です。
アラームしきい値を超える同じ宛先アドレスへの SYN セグメントごとに、攻撃検知モジュールがメッセージを生成します。2 番目の終わりに、ロギング モジュールは、同様のすべてのメッセージを 1 つのログ エントリに圧縮します。これは、同じ宛先アドレスに対する SYN セグメントの数と、アラームしきい値を超えた後に受信したポート番号を示します。攻撃が 1 秒間を超えて持続する場合、イベント ログは攻撃が停止するまで 1 秒ごとにアラームに入ります。
送信元閾値—このオプションでは、Junos OSがそのソースからの接続要求のドロップを開始する前に、宛先IPアドレスに関係なく、1秒に1秒に受信するSYNセグメントの数を指定できます。
送信元アドレス別の SYN フラッドの追跡では、宛先アドレス別の SYN フラッドの追跡とは異なる検出パラメーターを使用します。SYN 攻撃のしきい値とソースのしきい値を設定すると、基本的な SYN フラッド保護メカニズムとソースベースの SYN フラッド追跡メカニズムの両方が有効になります。
宛先閾値—このオプションでは、Junos OSがその宛先への接続要求のドロップを開始する前に、単一の宛先IPアドレスに対して1秒に受信するSYNセグメントの数を指定できます。保護されたホストが複数のサービスを実行する場合、宛先ポート番号に関係なく、宛先 IP アドレスのみに基づいてしきい値を設定することができます。
SYN 攻撃のしきい値と宛先のしきい値を設定すると、基本的な SYN フラッド保護メカニズムと宛先ベースの SYN フラッド追跡メカニズムの両方が有効になります。
Junos OSに、同じIPアドレスへのFTPリクエストとHTTPリクエストを許可するポリシーがある場合を考えてみましょう。SYNフラッド攻撃の閾値が1000パケット/秒(pps)で、攻撃者が999個のFTPパケットと999個のHTTP ppsを送信した場合、Junos OSは、同じ宛先アドレスを持つFTPパケットとHTTPパケットの両方を単一セットのメンバーとして処理し、1001番目のパケットであるFTPまたはHTTPをその宛先に拒否します。
タイムアウト—このオプションを使用すると、半分完了した接続をキューからドロップするまでの最大時間を設定できます。デフォルトは20秒で、タイムアウトは1~50秒に設定できます。正常なトラフィック状態中に接続が切断されたのを確認し始めるまで、タイムアウト値をより短い長さに減らすことを試みることができます。20 秒は、3 方向のハンドシェイク ACK 応答の非常に控えめなタイムアウトです。
Junos OSは、IPv4とIPv6の両方のトラフィックに対してSYNフラッド保護をサポートしています。
SYNフラッド防御を有効にすることで、SYNフラッド攻撃からネットワークを保護
この例では、SYNフラッド保護を有効にすることで、ネットワークをSYNフラッド攻撃から保護する方法を示します。
要件
この機能を設定する前に、デバイス初期化以外の特別な設定は必要ありません。
概要
この例では、ゾーンシンフラッド保護画面オプションを有効にし、タイムアウト値を20に設定します。また、フラッドの発生元となるゾーンも指定します。
構成
手順
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルの [edit]
CLI にコピー アンド ペーストして、設定モードから を入力 commit
します。
set security screen ids-option zone-syn-flood tcp syn-flood source-threshold 10000 set security screen ids-option zone-syn-flood tcp syn-flood destination-threshold 10000 set security zones security-zone untrust screen zone-syn-flood
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。SYNフラッド保護を有効にするには:
画面オブジェクト名を指定します。
[edit] user@host# set security screen ids-option zone-syn-flood tcp syn-flood source-threshold 10000 user@host# set security screen ids-option zone-syn-flood tcp syn-flood destination-threshold 10000
ゾーン画面のセキュリティゾーンを設定します。
[edit] user@host# set security zones security-zone untrust screen zone-syn-flood
結果
設定モードから、 および show security zones
コマンドを入力して設定をshow security screen
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] user@host# show security screen ids-option zone-syn-flood { tcp { syn-flood { source-threshold 10000; destination-threshold 10000; timeout 20; } } }
[edit] user@host# show security zones security-zone untrust { screen zone-syn-flood; interfaces { ge-0/0/1.0; } }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
SYNフラッド防御の検証
目的
SYNフラッド保護を検証します。
アクション
動作モードから と show security zones
コマンドをshow security screen ids-option zone-syn-flood
入力します。
user@host> show security screen ids-option zone-syn-flood node0: -------------------------------------------------------------------------- Screen object status: Name Value TCP SYN flood attack threshold 200 TCP SYN flood alarm threshold 512 TCP SYN flood source threshold 10000 TCP SYN flood destination threshold 10000 TCP SYN flood timeout 20 user@host> show security zones Security zone: untrust Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: zone-syn-flood Interfaces bound: 1 Interfaces: ge-0/0/1.0
意味
サンプル出力では、SYNフラッド保護が送信元と宛先の閾値で有効になっていることを示しています。
例:DMZ 内の Web サーバーに対する SYN フラッド保護の有効化
この例では、DMZ 内の Web サーバーに対して SYN フラッド保護を有効にする方法を示します。
要件
この機能を設定する前に、デバイス初期化以外の特別な設定は必要ありません。
概要
この例では、外部ゾーンの SYN フラッド保護画面オプションを有効にすることで、外部ゾーンから発生する SYN フラッド攻撃から DMZ 内の 4 つの Web サーバーを保護する方法を示します。 図 3 を参照してください。
Junos OSが各Webサーバー上でデバイスレベルのSYNフラッド保護を提供するSYNフラッド保護を強化することをお勧めします。この例では、WebサーバーがUNIXを実行しています。これは、接続リクエストキューの長さの調整や、不完全な接続リクエストのタイムアウト期間の変更など、SYNフラッド防御も提供します。

SYNフラッド防御パラメーターをネットワークに適切な値で設定するには、まず典型的なトラフィックフローのベースラインを確立する必要があります。たとえば、1 週間、zone_externalにバインドされたインターフェイスである Ethernet3 でスニッファーを実行し、DMZ 内の 4 つの Web サーバーに対して 1 秒ごとに受信する新しい TCP 接続リクエストの数を監視します。1 週間の監視から累積したデータの分析結果は、以下の統計データを生成します。
サーバー当たりの新しい接続要求の平均数:1 秒あたり 250
サーバー当たりの新しい接続要求の平均ピーク数:1 秒あたり 500
Snifferとは、接続するネットワークセグメントでパケットをキャプチャするネットワーク分析デバイスです。ほとんどのスニッファーでは、関心のあるトラフィックのタイプのみを収集するフィルターを定義できます。その後、蓄積された情報を表示および評価できます。この例では、SYNフラグセットがイーサネット3に到着し、DMZ内の4つのWebサーバーのいずれか宛てにすべてのTCPパケットを収集する必要があります。スニッファーを一定の間隔で実行し続けて、時刻、曜日、月の時間、または年のシーズンに基づいてトラフィックパターンがあるかどうかを確認することができます。たとえば、重要なイベント中にトラフィックが大幅に増加する場合があります。大きな変更では、さまざまなしきい値を調整する必要があります。
この情報に基づいて、 表1に示すように、zone_externalに対して以下のSYNフラッド保護パラメーターを設定します。
パラメーター |
値 |
各値の理由 |
---|---|---|
攻撃のしきい値 |
625 pps |
これは、サーバー当たり 1 秒あたりの新しい接続要求の平均ピーク数よりも 25% 高く、このネットワーク環境では珍しいものです。4 つの Web サーバーのいずれか 1 台の 1 秒あたりの SYN パケット数がこの数を超えると、デバイスはそのサーバーへの新しい接続要求のプロキシを開始します。(つまり、同じ宛先アドレスへの 626 番目の SYN パケットから 1 秒間で開始すると、デバイスはそのアドレスへの接続要求のプロキシを開始します)。 |
アラームしきい値 |
250 pps |
デバイスが1秒間に251件の新しい接続要求をプロキシすると、イベントログにアラームエントリが作成されます。アラームのしきい値を攻撃のしきい値よりもやや高く設定することで、攻撃のしきい値をわずかに超えるトラフィック スパイクのアラーム エントリを回避できます。 |
送信元のしきい値 |
25 pps |
送信元のしきい値を設定すると、デバイスは宛先アドレスに関係なく、SYNパケットの送信元IPアドレスを追跡します。(このソースベースの追跡は、基本的な SYN フラッド保護メカニズムを構成する宛先アドレスに基づく SYN パケットの追跡とは異なる点に注意してください。 監視アクティビティの 1 週間で、すべてのサーバーの新しい接続要求が 1 秒間に 1/25 以内のソースから送信されるのを観察しました。そのため、このしきい値を超える接続要求は異常であり、デバイスがそのプロキシ メカニズムを実行するのに十分な原因となります。(25 pps は攻撃のしきい値の 1/25 であり、これは 625 pps であることに注意してください)。 デバイスが同じソースIPアドレスから25のSYNパケットを追跡した場合、26番目のパケットから始まり、その2番目の残りの部分と次の1秒の間、そのソースからのすべてのSYNパケットを拒否します。 |
宛先のしきい値 |
4,000 pps |
宛先のしきい値を設定すると、デバイスは宛先ポート番号に関係なく、宛先 IP アドレスのみの個別の追跡を実行します。4つのWebサーバーはHTTPトラフィック(宛先ポート80)のみを受信するため、他の宛先ポート番号へのトラフィックが到達することはありません。別の宛先しきい値を設定しても、これ以上メリットはありません。 |
タイムアウト |
20 秒 |
デフォルト値の 20 秒は、不完全な接続要求を保持するための妥当な長さです。 |
トポロジ
構成
手順
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルの [edit]
CLI にコピー アンド ペーストして、設定モードから を入力 commit
します。
set interfaces ge-0/0/0 unit 0 family inet address 10.2.2.1/24 set interfaces fe-1/0/0 unit 0 family inet address 10.1.1.1/24 set security zones security-zone zone_dmz interfaces ge-0/0/0.0 set security zones security-zone zone_external interfaces fe-1/0/0.0 set security zones security-zone zone_dmz address-book address ws1 10.2.2.10/32 set security zones security-zone zone_dmz address-book address ws2 10.2.2.20/32 set security zones security-zone zone_dmz address-book address ws3 10.2.2.30/32 set security zones security-zone zone_dmz address-book address ws4 10.2.2.40/32 set security zones security-zone zone_dmz address-book address-set web_servers address ws1 set security zones security-zone zone_dmz address-book address-set web_servers address ws2 set security zones security-zone zone_dmz address-book address-set web_servers address ws3 set security zones security-zone zone_dmz address-book address-set web_servers address ws4 set security policies from-zone zone_external to-zone zone_dmz policy id_1 match source-address any destination-address web_servers application junos-http set security policies from-zone zone_external to-zone zone_dmz policy id_1 then permit set security screen ids-option zone_external-syn-flood tcp syn-flood alarm-threshold 250 attack-threshold 625 source-threshold 25 timeout 20 set security zones security-zone zone_external screen zone_external-syn-flood
手順
SYNフラッド保護パラメータを設定するには:
インターフェイスを設定します。
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.2.2.1/24 user@host# set interfaces fe-1/0/0 unit 0 family inet address 10.1.1.1/24 user@host# set security zones security-zone zone_dmz interfaces ge-0/0/0.0 user@host# set security zones security-zone zone_external interfaces fe-1/0/0.0
アドレスを定義します。
[edit] user@host# set security zones security-zone zone_dmz address-book address ws1 10.2.2.10/32 user@host# set security zones security-zone zone_dmz address-book address ws2 10.2.2.20/32 user@host# set security zones security-zone zone_dmz address-book address ws3 10.2.2.30/32 user@host# set security zones security-zone zone_dmz address-book address ws4 10.2.2.40/32 user@host# set security zones security-zone zone_dmz address-book address-set web_servers address ws1 user@host# set security zones security-zone zone_dmz address-book address-set web_servers address ws2 user@host# set security zones security-zone zone_dmz address-book address-set web_servers address ws3 user@host# set security zones security-zone zone_dmz address-book address-set web_servers address ws4
ポリシーを設定します。
[edit] user@host# set security policies from-zone zone_external to-zone zone_dmz policy id_1 match source-address any user@host# set security policies from-zone zone_external to-zone zone_dmz policy id_1 match destination-address web_servers user@host# set security policies from-zone zone_external to-zone zone_dmz policy id_1 match application junos-http user@host# set security policies from-zone zone_external to-zone zone_dmz policy id_1 then permit
画面オプションを設定します。
[edit] user@host# set security screen ids-option zone_external-syn-flood tcp syn-flood alarm-threshold 250 user@host# set security screen ids-option zone_external-syn-flood tcp syn-flood attack-threshold 625 user@host# set security screen ids-option zone_external-syn-flood tcp syn-flood source-threshold 25 user@host# set security screen ids-option zone_external-syn-flood tcp syn-flood timeout 20 user@host# set security zones security-zone zone_external screen zone_external-syn-flood
結果
設定モードから、 、show security policies
show security zones
および のコマンドをshow interfaces
入力して設定をshow security screen
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
簡潔にするために、この show
コマンド出力には、この例に関連する設定のみが含まれています。システム上の他の設定はすべて省略記号(...)で置き換えられました。
[edit] user@host# show interfaces ge-0/0/0 { unit 0 { family inet { address 10.2.2.1/24; } } } fe-1/0/0 { unit 0 { family inet { address 10.1.1.1/24; } } } ... [edit] user@host# show security zones ... security-zone zone_dmz { address-book { address ws1 10.2.2.10/32; address ws2 10.2.2.20/32; address ws3 10.2.2.30/32; address ws4 10.2.2.40/32; address-set web_servers { address ws1; address ws2; address ws3; address ws4; } } interfaces { ge-0/0/0.0; } } security-zone zone_external { screen zone_external-syn-flood; interfaces { fe-1/0/0.0; } } [edit] user@host# show security policies from-zone zone_external to-zone zone_dmz { policy id_1 { match { source-address any; destination-address web_servers; application junos-http; } then { permit; } } } [edit] user@host# show security screen ... ids-option zone_external-syn-flood { tcp { syn-flood { alarm-threshold 250; attack-threshold 625; source-threshold 25; timeout 20; } } }
デバイスの設定が完了したら、設定モードから を入力します commit
。
SYNフラッドスクリーンの許可リストについて
Junos OSは、SYNフラッド画面がSYN/ACKに応答しない信頼できるIPアドレスの許可リストを設定する管理オプションを提供します。代わりに、ソースアドレスまたはリスト内の宛先アドレスからのSYNパケットは、SYN CookieとSYNプロキシメカニズムをバイパスすることができます。この機能は、ネットワーク内にプロキシされた SYN/ACK の返信を許容できないサービス(SYN フラッド イベントを含む)がある場合に必要です。
IPバージョン4(IPv4)とIPバージョン6(IPv6)の両方の許可リストがサポートされています。許可リストのアドレスは、すべて IPv4 またはすべての IPv6 である必要があります。各許可リストには、最大32個のIPアドレスプレフィックスを含めることができます。複数のアドレスまたはアドレスプレフィックスを、スペースで区切られ、角括弧で囲まれたアドレスのシーケンスとして指定できます。
許可リストを使用すると、トラフィック レベルに応じて中央ポイントで CPU 使用率が高くなる可能性があります。たとえば、画面が有効になっていない場合、1 秒あたりの接続数(cps)は 492K です。画面が有効で許可リストが無効になっている場合、cpsは373Kになります。画面と許可リストの両方が有効になっている場合、cpsは194Kになります。許可リストを有効にすると、cpsは40%低下します。
例: SYN フラッドスクリーンの許可リストの設定
この例では、SYNフラッドスクリーン保護プロセス中に発生するSYN CookieおよびSYNプロキシメカニズムから免除されるIPアドレスの許可リストを設定する方法を示しています。
要件
開始する前に、セキュリティ画面を設定し、セキュリティゾーンの画面を有効にします。 例: DMZ 内の Web サーバーの SYN フラッド保護の有効化を参照してください。
概要
この例では、 と という名前 wlipv4
の許可リストを設定します wlipv6
。すべてのアドレスは、 の IP バージョン 4(IPv4) wlipv4
で、すべてのアドレスは の wlipv6
IP バージョン 6(IPv6)です。両方の許可リストには、宛先 IP アドレスと送信元 IP アドレスが含まれます。
の宛先アドレスの設定に示すように、複数のアドレスまたはアドレスプレフィックスは、スペースで区切られ、角括弧で囲まれたアドレス wlipv4
のシーケンスとして設定できます。
構成
手順
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルの [edit]
CLI にコピー アンド ペーストして、設定モードから を入力 commit
します。
set security screen ids-option js1 tcp syn-flood white-list wlipv4 source-address 1.1.1.0/24 set security screen ids-option js1 tcp syn-flood white-list wlipv4 destination-address 2.2.2.2/32 set security screen ids-option js1 tcp syn-flood white-list wlipv4 destination-address 3.3.3.3/32 set security screen ids-option js1 tcp syn-flood white-list wlipv4 destination-address 4.4.4.4/32 set security screen ids-option js1 tcp syn-flood white-list wlipv6 source-address 2001::1/64 set security screen ids-option js1 tcp syn-flood white-list wlipv6 destination-address 2002::1/64
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、ドロッププロファイルの設定モードでのCLIエディターの使用を参照してください。
許可リストを設定するには:
許可リストの名前と SYN/ACK から免除される IP アドレスを指定します。
[edit security screen ids-option js1 tcp syn-flood] user@host# set white-list wlipv4 source-address 1.1.1.0/24 user@host# set white-list wlipv4 destination-address [2.2.2.2 3.3.3.3 4.4.4.4] user@host# set white-list wlipv6 source-address 2001::1/64 user@host# set white-list wlipv6 destination-address 2002::1/64
結果
設定モードから、 コマンドを入力して設定を show security screen
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] user@host# show security screen ids-option js1 { tcp { syn-flood { white-list wlipv4 { source-address 1.1.1.0/24; destination-address [2.2.2.2/32 3.3.3.3/32 4.4.4.4/32]; } white-list wlipv6 { source-address 2001::1/64; destination-address 2002::1/64; } } } }
デバイスの設定が完了したら、設定モードから を入力します commit
。
UDP フラッドスクリーンの許可リストについて
Junos OSは、UDPフラッドで信頼できるIPアドレスの許可リストを設定する管理オプションを提供します。UDPフラッドが有効になっている場合、閾値を超えるUDPパケットはすべて破棄されます。これらのパケットの一部は有効であり、トラフィックからドロップする必要はありません。UDP フラッド画面で allowlist を設定すると、リスト内の送信元アドレスのみが UDP フラッド検出のバイパスを許可されます。この機能は、許可リスト グループ内のアドレスからのすべてのトラフィックが UDP フラッド チェックをバイパスする必要がある場合に必要です。
IPv4とIPv6の両方の許可リストがサポートされています。許可リストのアドレスは、すべて IPv4 またはすべての IPv6 である必要があります。各許可リストには、最大32個のIPアドレスプレフィックスを含めることができます。複数のアドレスまたはアドレスプレフィックスを、スペースで区切られ、角括弧で囲まれたアドレスのシーケンスとして指定できます。単一アドレスまたはサブネットアドレスを設定できます。
UDP フラッド画面の許可リストは、SRX5400、SRX5600、SRX5800 のデバイスではサポートされていません。
例:UDP フラッドスクリーンの許可リストの設定
この例では、UDP フラッドスクリーン保護プロセス中に発生する UDP フラッド検出から免除される IP アドレスの許可リストを設定する方法を示します。
要件
開始する前に、セキュリティ画面を設定し、セキュリティゾーンの画面を有効にします。
概要
この例では、 と という名前 wlipv4
の許可リストを設定します wlipv6
。すべてのアドレスは、 の wlipv4
IPv4 で、すべてのアドレスは の IPv6 です wlipv6
。両方の許可リストには、宛先 IP アドレスと送信元 IP アドレスが含まれます。
と の宛先アドレスの設定に示すように、複数のアドレスまたはアドレスプレフィックスは、スペースで区切られ、角括弧で囲まれたアドレスwlipv4
wlipv6
のシーケンスとして設定できます。
構成
手順
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルの [edit]
CLI にコピー アンド ペーストして、設定モードから を入力 commit
します。
set security screen white-list wlipv4 address 198.51.100.10/24 set security screen white-list wlipv4 address 198.51.100.11/24 set security screen white-list wlipv4 address 198.51.100.12/24 set security screen white-list wlipv4 address 198.51.100.13/24 set security screen white-list wlipv6 address 2001:db8::1/32 set security screen white-list wlipv6 address 2001:db8::2/32 set security screen white-list wlipv6 address [2001:db8::3/32] set security screen white-list wlipv6 address [2001:db8::4/32] set security screen ids-options jscreen udp flood white-list wlipv4 set security screen ids-options jscreen udp flood white-list wlipv6
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。
許可リストを設定するには:
UDPフラッド検出をバイパスする許可リストとIPv4アドレスの名前を指定します。
[edit security screen] user@host# set white-list wlipv4 address 198.51.100.10/32 user@host# set white-list wlipv4 address 198.51.100.11/32 user@host# set white-list wlipv4 address 198.51.100.12/32 user@host# set white-list wlipv4 address 198.51.100.13/32
UDPフラッド検出をバイパスする許可リストとIPv6アドレスの名前を指定します。
[edit security screen] user@host# set white-list wlipv6 address 2001:db8::1/32 user@host# set white-list wlipv6 address 2001:db8::2/32 user@host# set white-list wlipv6 address 2001:db8::3/32 user@host# set white-list wlipv6 address 2001:db8::4/32
UDP フラッド許可リスト オプションを設定します。
[edit security screen] user@host# set ids-option jscreen udp flood white-list wlipv4 user@host# set ids-option jscreen udp flood white-list wlipv6
結果
設定モードから、 コマンドを入力して設定を show security screen
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] user@host# show security screen ids-option jscreen { udp { flood { white-list [ wlipv4 wlipv6 ]; } } } white-list wlipv4 { address [ 198.51.100.11/32 198.51.100.12/32 198.51.100.13/32 198.51.100.14/32 ]; } white-list wlipv6 { address [ 2001:db8::1/32 2001:db8::2/32 2001:db8::3/32 2001:db8::4/32 ]; }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
ホワイトリストの設定の確認
目的
許可リストが正しく設定されていることを確認します。
アクション
動作モードから、 および show security screen ids-option jscreen
コマンドをshow security screen white-list wlipv4
入力します。
user@host> show security screen white-list wlipv4 Screen white list: 198.51.100.10/32 198.51.100.11/32 198.51.100.12/32 198.51.100.13/32 user@host> show security screen ids-option jscreen Name Value …… UDP flood threshold ## UDP flood white-list wlipv4 UDP flood white-list wlipv6
SYN Cookie保護について
SYN Cookieは、SYNフラッド攻撃に対する他の防御と組み合わせて使用できるステートレスSYNプロキシメカニズムです。
従来のSYNプロキシと同様に、SYNフラッド攻撃のしきい値を超えた場合、SYN Cookieが有効になります。ただし、SYN Cookie はステートレスであるため、SYN セグメントの受信時にセッションまたはポリシーの設定やルート ルックアップを行うことはなく、接続要求キューも保持されません。これにより、CPUとメモリの使用量が大幅に削減され、従来のSYNプロキシメカニズムよりもSYN Cookieを使用する主な利点があります。
Junos OSでSYN Cookieが有効になっており、宛先サーバーのTCPネゴシエートプロキシになると、受信する各SYNセグメントに対して、暗号化されたCookieをISN(初期シーケンス番号)として含むSYN/ACKで返信します。この Cookie は、元の送信元アドレスとポート番号、宛先アドレスとポート番号、元の SYN パケットからの ISN の MD5 ハッシュです。Cookieを送信した後、Junos OSは元のSYNパケットをドロップし、計算されたCookieをメモリから削除します。Cookieを含むパケットに応答がない場合、攻撃はアクティブなSYN攻撃と見なされ、効果的に停止されます。
開始側ホストが、TCP ACK フィールドに Cookie +1 を含む TCP パケットで応答した場合、Junos OS は Cookie を抽出し、値から 1 を引いて Cookie を再計算して、正規の ACK であることを検証します。正規の場合、Junos OS はセッションを設定し、元の SYN からのソース情報を含む SYN をサーバーに送信することで、TCP プロキシ プロセスを開始します。Junos OSは、サーバーからSYN/ACKを受信すると、ACKをサーバーと初期化ホストに送信します。この時点で接続が確立され、ホストとサーバーは直接通信することができます。
SYN Cookie または SYN プロキシーを使用することで、SRX シリーズ デバイスは、その背後にある TCP サーバーを IPv6 フローの SYN フラッド攻撃から保護できます。
図 4 は、Syn Cookie が Junos OS でアクティブな場合に、開始ホストとサーバー間の接続がどのように確立されるかを示しています。

SYN Cookieオプション
不完全な TCP プロキシー接続要求に対して、以下のパラメーターを設定できます。
攻撃のしきい値 —このオプションにより、SYN プロキシー メカニズムのアクティブ化に必要な同じ宛先アドレスと 1 秒あたりのポート番号に、SYN セグメントの数(つまり、SYN フラグが設定された TCP セグメント)を設定できます。しきい値は任意の数に設定できますが、サイトで正常なトラフィック パターンを把握して、それに適したしきい値を設定する必要があります。たとえば、通常 2,000 SYN セグメント/秒を取得する e ビジネス サイトでは、しきい値を 30,000 SYN セグメント/秒に設定することができます。有効なしきい値の範囲は 1~ 1,000,000 です。通常 1 秒あたり 20 の SYN セグメントを取得する小規模なサイトでは、しきい値を 40 SYN セグメント/秒に設定することを検討してください。
アラームしきい値—このオプションにより、プロキシされた、1 秒あたりの半分完全な TCP 接続要求の数を設定し、その後 Junos OS がイベント ログにアラームを入力できます。設定したアラームしきい値は、プロキシされた半完了の接続要求の数が同じ宛先アドレスと 1 秒あたりのポート数がその値を超えた場合にアラームをトリガーします。例えば、SYN 攻撃のしきい値を 2000 SYN セグメント/秒に設定し、アラームを 1000 に設定した場合、ログ内のアラーム エントリーをトリガーするには、同じ宛先アドレスと 1 秒あたりのポート番号に合計 3,001 の SYN セグメントが必要です。有効なしきい値の範囲は 1~1,000,000、デフォルトのアラームしきい値は 512 です。
送信元閾値—このオプションでは、Junos OSがその送信元からの接続リクエストのドロップを開始する前に、宛先IPアドレスとポート番号に関係なく、1秒に1秒に受信するSYNセグメントの数を指定できます。
SYN 攻撃のしきい値とソースのしきい値を設定すると、基本的な SYN フラッド保護メカニズムとソースベースの SYN フラッド追跡メカニズムの両方が有効になります。有効なしきい値の範囲は 4~ 1,000,000、デフォルトのアラームしきい値は 4000 です。
宛先閾値—このオプションでは、Junos OSがその宛先への接続要求のドロップを開始する前に、単一の宛先IPアドレスに対して1秒に受信するSYNセグメントの数を指定できます。保護されたホストが複数のサービスを実行する場合、宛先ポート番号に関係なく、宛先 IP アドレスのみに基づいてしきい値を設定することができます。有効なしきい値の範囲は 4~ 1,000,000、デフォルトのアラームしきい値は 4000 です。
SYN 攻撃のしきい値と宛先のしきい値を設定すると、基本的な SYN フラッド保護メカニズムと宛先ベースの SYN フラッド追跡メカニズムの両方が有効になります。
タイムアウト—このオプションを使用すると、半分完了した接続をキューからドロップするまでの最大時間を設定できます。デフォルトは20秒で、タイムアウトは0~50秒に設定できます。正常なトラフィック状態中に接続切断が見えなくなるまで、タイムアウト値をより短い長さに減らそうとすることがあります。
送信元または宛先のしきい値のいずれかが設定されていない場合、システムはデフォルトしきい値を使用します。送信元と宛先のデフォルトのしきい値は4000 ppsです。
SYN Cookie保護を有効にすることで、SYNフラッド攻撃からネットワークを検出して保護
この例では、SYN Cookie 保護を有効にすることで、ネットワークを SYN フラッド攻撃から検知して保護する方法を示します。
要件
この機能を設定する前に、デバイス初期化以外の特別な設定は必要ありません。
概要
この例では、外部 syn-flood タイムアウト値を 20 に設定し、外部画面のセキュリティ ゾーンを外部 syn-flood に設定します。また、保護モードを syn-cookie に設定します。
SYN Cookie機能は、スプーフィングされたSYNフラッド攻撃のみを検知して保護し、Junos OSで保護されているホストへの悪影響を最小限に抑えます。攻撃者がスプーフィングされた IP ソースではなく正規の IP 送信元アドレスを使用した場合、SYN Cookie メカニズムは攻撃を阻止しません。
構成
手順
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルの [edit]
CLI にコピー アンド ペーストして、設定モードから を入力 commit
します。
set security screen ids-option external-syn-flood tcp syn-flood timeout 20 set security zones security-zone external screen external-syn-flood set security flow syn-flood-protection-mode syn-cookie
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。SYN Cookie保護を有効にするには:
外部シンフラッドのタイムアウト値を指定します。
[edit] user@host# set security screen ids-option external-syn-flood tcp syn-flood timeout 20
外部画面のセキュリティゾーンを設定します。
[edit] user@host# set security zones security-zone external screen external-syn-flood
保護モードを設定します。
[edit] user@host# set security flow syn-flood-protection-mode syn-cookie
結果
設定モードから、 、 、 show security zones
コマンドを入力して設定をshow security screen
show security flow
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] user@host# show security screen ids-option external-syn-flood { tcp { syn-flood { timeout 20; } } }
[edit] user@host# show security zones security-zone zone { screen external-syn-flood; } [edit] user@host# show security flow syn-flood-protection-mode syn-cookie;
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
SYN Cookie 防御の検証
目的
SYN Cookie 防御の検証
アクション
動作モードから と show security zones
コマンドをshow security screen ids-option external-syn-flood
入力します。
user@host> show security screen ids-option external-syn-flood node0: -------------------------------------------------------------------------- Screen object status: Name Value TCP SYN flood attack threshold 200 TCP SYN flood alarm threshold 512 TCP SYN flood source threshold 4000 TCP SYN flood destination threshold 4000 TCP SYN flood timeout 20 user@host> show security zones Security zone: external Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: external-syn-flood Interfaces bound: 0 Interfaces:
意味
サンプル出力では、SYN Cookie 保護が送信元と宛先のしきい値で有効になっていることを示しています。
ICMP フラッド攻撃について
ICMP フラッドは通常、ICMP エコーが攻撃のターゲットに過負荷をかけ、ターゲットが有効なネットワーク トラフィックを処理できなくなるまで、ターゲットがすべてのリソースを費やすほど多くのリクエストが発生する場合に発生します。
フロー モードで生成される ICMP メッセージは、10 秒ごとに 12 メッセージに制限されます。このレート制限は、CPU単位で計算されます。しきい値に達すると、以降の確認メッセージはデバイスに送信されません。
ICMP フラッド保護機能を有効にすると、一度超過したしきい値を設定して、ICMP フラッド攻撃防御機能を呼び出すことができます。(デフォルトのしきい値は 1000 パケット/秒です)。しきい値を超えた場合、Junos OS は 2 番目の残りの ICMP エコー要求と次の 2 番目のリクエストも無視します。 図 5 を参照してください。
ICMP フラッドは、あらゆるタイプの ICMP メッセージで構成できます。そのため、Junos OS はエコー要求だけでなく、すべての ICMP メッセージ タイプを監視します。

Junos OS は、IPv4 と IPv6 の両方のトラフィックに対する ICMP フラッド保護をサポートしています。
ICMPフラッド保護を有効にすることで、ICMPフラッド攻撃からネットワークを保護
この例では、ICMP フラッド保護を有効にすることで、ICMP フラッド攻撃からネットワークを保護する方法を示します。
要件
ICMP フラッド保護を有効にする前に、デバイス初期化以外の特別な設定は必要ありません。
概要
この例では、ICMP フラッド保護を有効にします。値ユニットは、1 秒あたりの ICMP パケット数(pps)です。デフォルト値は1000 ppsです。フラッドが発生する可能性のあるゾーンを指定します。
構成
手順
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルの [edit]
CLI にコピー アンド ペーストして、設定モードから を入力 commit
します。
set security screen ids-option 1000-icmp-flood icmp flood threshold 1000 set security zones security-zone zone screen 1000-icmp-flood
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。ICMP フラッド保護を有効にするには:
ICMP フラッドしきい値を指定します。
[edit] user@host# set security screen ids-option 1000-icmp-flood icmp flood threshold 1000
ゾーン画面のセキュリティゾーンを設定します。
[edit] user@host# set security zones security-zone zone screen 1000-icmp-flood
結果
設定モードから、 および show security zones
コマンドを入力して設定をshow security screen
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] user@host# show security screen ids-option 1000-icmp-flood { icmp { flood threshold 1000; } }
[edit] user@host# show security zones security-zone zone { screen 1000-icmp-flood; }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
ICMP フラッド保護の検証
目的
ICMP フラッド保護の検証
アクション
動作モードから と show security zones
コマンドをshow security screen ids-option 1000-icmp-flood
入力します。
user@host> show security screen ids-option 1000-icmp-flood node0: -------------------------------------------------------------------------- Screen object status: Name Value ICMP flood threshold 1000 user@host> show security zones Security zone: zone Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: 1000-icmp-flood Interfaces bound: 0 Interfaces:
意味
サンプル出力では、ICMP フラッド保護が有効で、しきい値が設定されていることを示しています。
UDP フラッド攻撃の理解
ICMPフラッドと同様に、攻撃者が被害者を減速させ、被害者が有効な接続を処理できなくなったという目的で、UDPデータグラムを含むIPパケットを送信すると、UDPフラッドが発生します。
UDP フラッド保護機能を有効にした後、一度超過すると UDP フラッド攻撃防御機能を呼び出すしきい値を設定できます。(デフォルトのしきい値は 1000 パケット/秒、または pps です)。1つ以上のソースから単一の宛先へのUDPデータグラムの数がこのしきい値を超えた場合、Junos OSはその宛先へのUDPデータグラムを無視し、残りの2番目のデータグラムと次の2番目のデータグラムも無視します。 図 6 を参照してください。
SRX5400、SRX5600、SRX5800 のデバイスは、次の 2 秒以内にパケットをドロップしません。

Junos OSは、IPV4およびIPv6パケットのUDPフラッド保護をサポートしています。
UDP フラッド保護を有効にすることで、ネットワークを UDP フラッド攻撃から保護
この例では、UDP フラッド保護を有効にすることで、ネットワークを UDP フラッド攻撃から保護する方法を示します。
要件
UDPフラッド保護を有効にする前に、デバイスの初期化以上の特別な設定は必要ありません。
概要
この例では、UDP フラッド保護を有効にします。値ユニットは、1 秒あたりの UDP パケット数(pps)です。デフォルト値は1000 ppsです。フラッドが発生する可能性のあるゾーンを指定します。
構成
手順
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルの [edit]
CLI にコピー アンド ペーストして、設定モードから を入力 commit
します。
set security screen ids-option 1000-udp-flood udp flood threshold 1000 set security zones security-zone external screen 1000-udp-flood
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、ドロッププロファイルの設定モードでのCLIエディターの使用を参照してください。UDPフラッド保護を有効にするには:
UDP フラッドしきい値を指定します。
[edit] user@host# set security screen ids-option 1000-udp-flood udp flood threshold 1000
外部画面のセキュリティゾーンを設定します。
[edit] user@host# set security zones security-zone external screen 1000-udp-flood
結果
設定モードから、 および show security zones
コマンドを入力して設定をshow security screen
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] user@host# show security screen ids-option 1000-udp-flood { udp { flood threshold 1000; } }
[edit] user@host# show security zones security-zone external { screen 1000-udp-flood; }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
UDP フラッド保護の検証
目的
UDP フラッド保護を検証します。
アクション
動作モードから と show security zones
コマンドをshow security screen ids-option 1000-udp-flood
入力します。
user@host> show security screen ids-option 1000-udp-flood node0: -------------------------------------------------------------------------- Screen object status: Name Value UDP flood threshold 1000 user@host> show security zones Security zone: external Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: 1000-udp-flood Interfaces bound: 0 Interfaces:
意味
サンプル出力では、UDP フラッド保護が有効で、しきい値が設定されていることを示しています。
土地攻撃を理解する
SYN攻撃とIPスプーフィングを組み合わせることで、攻撃者が被害者のIPアドレスを含むスプーフィングされたSYNパケットを宛先と送信元IPアドレスの両方として送信すると、土地攻撃が発生します。
受信側のシステムは SYN-ACK パケットをそれ自体に送信して応答し、アイドル タイムアウト値に達するまで続く空の接続を作成します。そのような空の接続でシステムをフラッディングすると、システムが過負荷状態になり、サービス拒否(DoS)が発生する可能性があります。 図 7 を参照してください。

画面オプションを有効にして土地攻撃をブロックすると、Junos OSはSYNフラッド防御とIPスプーフィング防御の要素を組み合わせて、このような試みを検知してブロックします。
Junos OSは、IPv4とIPv6の両方のパケットに対する土地攻撃防御をサポートしています。
土地攻撃の保護を可能にすることで、土地攻撃からネットワークを保護
この例では、土地攻撃の保護を有効にすることで、ネットワークを攻撃から保護する方法を示します。
要件
土地攻撃防御を有効にする前に、デバイスの初期化以外の特別な設定は必要ありません。
概要
この例では、土地攻撃から保護を有効にする方法を示しています。この例では、セキュリティ画面オブジェクト名を land に設定し、セキュリティ ゾーンをゾーンとして設定します。
構成
手順
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルの [edit]
CLI にコピー アンド ペーストして、設定モードから を入力 commit
します。
set security screen ids-option land tcp land set security zones security-zone zone screen land
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。土地攻撃に対する保護を有効にするには:
画面オブジェクト名を指定します。
[edit] user@host# set security screen ids-option land tcp land
セキュリティ ゾーンを設定します。
[edit] user@host# set security zones security-zone zone screen land
結果
設定モードから、 および show security zones
コマンドを入力して設定をshow security screen
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] user@host# show security screen ids-option land { tcp { land; } }
[edit] user@host# show security zones security-zone zone { screen land; }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
土地攻撃からの保護を検証
目的
土地攻撃に対する保護を検証します。
アクション
動作モードから と show security zones
コマンドをshow security screen ids-option land
入力します。
user@host> show security screen ids-option land node0: -------------------------------------------------------------------------- Screen object status: Name Value TCP land attack enabled user@host> show security zones Security zone: zone Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: land Interfaces bound: 0 Interfaces:
意味
サンプル出力では、土地攻撃に対する保護が有効になっていることを示しています。