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

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

SYN フラッド オプション
未完了の TCP 接続要求をプロキシするための次のパラメーターを設定できます。
攻撃しきい値:このオプションを使用すると、SYN セグメント(つまり、SYN フラグが設定された TCP セグメント)の数を、SYN プロキシ メカニズムをアクティブにするために必要な同じ宛先アドレス/秒に設定できます。しきい値は任意の数に設定できますが、適切なしきい値を設定するには、サイトの通常のトラフィック パターンを把握する必要があります。たとえば、通常毎秒 20,000 の SYN セグメントを取得する e ビジネス サイトの場合、しきい値を毎秒 30,000 に設定することができます。小規模なサイトが通常毎秒 20 の SYN セグメントを取得する場合は、しきい値を 40 に設定することを検討してください。
アラームしきい値—このオプションでは、Junos OSがイベントログにアラームを入力するまでの、プロキシされたハーフコンプリートTCP接続リクエストの数を1秒ごとに設定できます。アラームしきい値に設定した値は、同じ宛先アドレスへのプロキシされた、半分完了した接続リクエストの 1 秒あたりの数が、その値を超えた場合にアラームをトリガーします。たとえば、SYN 攻撃のしきい値を 2000 SYN セグメント/秒、アラームを 1000 に設定した場合、ログにアラーム エントリをトリガーするには、同じ宛先アドレスに合計 3000 の SYN セグメントが必要です。
アラーム閾値を超える同じ宛先アドレスへの各SYNセグメントに対して、攻撃検出モジュールは、メッセージを生成する。2 番目の終了時に、ロギング モジュールは、すべての類似メッセージを、アラームしきい値を超えた後に同じ宛先アドレスとポート番号に到達した SYN セグメントの数を示す単一のログ エントリに圧縮します。攻撃が最初の 1 秒以上も続く場合、イベント ログには攻撃が停止するまで毎秒アラームが入力されます。
ソースしきい値—このオプションを使用すると、Junos OS がそのソースからの接続要求のドロップを開始する前に、宛先 IP アドレスに関係なく、単一のソース IP アドレスから 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)を拒否します。
[タイムアウト(Timeout)]:このオプションを使用すると、半分完了した接続がキューからドロップされるまでの最大時間を設定できます。デフォルトは 20 秒で、タイムアウトは 1 から 50 秒の範囲で設定できます。通常のトラフィック状態で切断された接続が見られるようになるまで、タイムアウト値を短い長さに減らしてみてください。20 秒は、3 ウェイ ハンドシェイク ACK 応答の非常に控えめなタイムアウトです。
Junos OSは、IPv4とIPv6の両方のトラフィックに対してSYNフラッド防御をサポートしています。
SYNフラッドプロテクションを有効にすることで、SYNフラッド攻撃からネットワークを保護する
この例では、SYN フラッド保護を有効にすることで、SYN フラッド攻撃からネットワークを保護する方法を示します。
要件
この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、zone-syn-flood protection 画面オプションを有効にし、タイムアウト値を 20 に設定します。また、洪水が発生する可能性のあるゾーンも指定します。
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します 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 screen ids-option zone-syn-flood
動作モードから と show security zones
コマンドを入力します。
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が提供するSYNフラッド防御を、各Webサーバー上のデバイスレベルのSYNフラッド防御で強化することをお勧めします。この例では、WebサーバーはUNIXを実行しており、接続要求キューの長さの調整や不完全な接続要求のタイムアウト期間の変更など、いくつかのSYNフラッド防御も提供します。

ネットワークに適した値を使用して SYN フラッド保護パラメーターを構成するには、まず一般的なトラフィック フローのベースラインを確立する必要があります。たとえば、1 週間、イーサネット3(zone_external にバインドされたインターフェイス)でスニファーを実行して、DMZ 内の 4 つの Web サーバーに対して毎秒到着する新しい TCP 接続要求の数を監視します。1 週間のモニタリングから蓄積されたデータを分析すると、次の統計が生成されます。
サーバーあたりの新規接続要求の平均数: 250/秒
サーバーあたりの新規接続要求の平均ピーク時数: 1 秒あたり 500
スニファーは、接続先のネットワーク セグメント上のパケットをキャプチャするネットワーク分析デバイスです。ほとんどのスニファーでは、関心のあるトラフィックの種類のみを収集するフィルターを定義できます。後で、蓄積された情報を表示および評価できます。この例では、イーサネット3に到着し、DMZ内の4つのWebサーバーのいずれか宛てのSYNフラグが設定されたすべてのTCPパケットをスニファで収集します。定期的にスニファを実行し続けて、時刻、曜日、時刻、または季節に基づくトラフィック パターンがあるかどうかを確認することができます。たとえば、組織によっては、重大なイベントが発生するとトラフィックが劇的に増加する場合があります。大幅な変更には、おそらくさまざまなしきい値を調整する必要があります。
この情報に基づいて、 表 1 に示すように、zone_external 用の以下の SYN フラッディング保護パラメーターを設定します。
パラメーター |
値 |
各値の理由 |
---|---|---|
攻撃の閾値 |
625ページ |
これは、サーバーあたりの 1 秒あたりの新規接続要求の平均ピーク数より 25% 高く、このネットワーク環境では珍しいことです。4 つの Web サーバーのいずれかの 1 秒あたりの SYN パケット数がこの数を超えると、デバイスはそのサーバーへの新しい接続要求のプロキシを開始します。(言い換えれば、1秒間に同じ宛先アドレスへの626番目のSYNパケットから始まり、デバイスはそのアドレスへの接続要求をプロキシし始めます)。 |
アラームしきい値 |
250ページ |
デバイスが 1 秒間に 251 件の新しい接続要求をプロキシすると、イベント ログにアラーム エントリが作成されます。アラームしきい値を攻撃しきい値よりいくらか高く設定することで、攻撃しきい値をわずかに超えるトラフィックスパイクのアラームエントリを回避できます。 |
ソースしきい値 |
25 ページ |
送信元しきい値を設定すると、デバイスは宛先アドレスに関係なく、SYN パケットの送信元 IP アドレスを追跡します。(このソースベースの追跡は、基本的な SYN フラッド保護メカニズムを構成する宛先アドレスに基づく SYN パケットの追跡とは別のものであることに注意してください)。 1 週間の監視アクティビティで、すべてのサーバーに対する新しい接続要求の 1/25 が 1 秒間隔内にいずれかのソースから送信されたことを確認しました。したがって、このしきい値を超える接続要求は異常であり、デバイスがプロキシ メカニズムを実行する十分な理由を提供します。(25 pps は攻撃しきい値の 1/25 である 625 pps であることに注意してください)。 デバイスが同じ送信元 IP アドレスからの 25 個の SYN パケットを追跡した場合、26 番目のパケットから始めて、その送信元からのそれ以降のすべての SYN パケットを、その 1 秒の残りの時間と次の 1 秒間は拒否します。 |
宛先しきい値 |
4000ページ |
宛先しきい値を設定すると、デバイスは宛先ポート番号に関係なく、宛先 IP アドレスのみを個別にトラッキングします。4 つの Web サーバーは HTTP トラフィック(宛先ポート 80)のみを受信するため、他の宛先ポート番号へのトラフィックは受信されないため、別の宛先しきい値を設定しても追加のメリットはありません。 |
タイムアウト |
20秒 |
デフォルト値の 20 秒は、不完全な接続要求を保持するのに妥当な時間です。 |
トポロジ
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します 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 zones
show security policies
、および show security screen
のコマンドを入力してshow interfaces
設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
簡潔にするために、この 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 フラッド イベントを含む、どのような条件下でもプロキシされた SYN/ACK 応答を許容できないサービスがネットワーク内にある場合に必要です。
IPv4(IPバージョン4)とIPv6(IPバージョン6)の両方の許可リストがサポートされています。許可リストのアドレスは、すべて IPv4 またはすべて IPv6 である必要があります。各許可リストには、最大 32 個の IP アドレス プレフィックスを含めることができます。複数のアドレスまたはアドレス プレフィックスを、スペースで区切られ、角括弧で囲まれた一連のアドレスとして指定できます。
許可リストを作成すると、トラフィック レベルによっては、中央点で CPU 使用率が高くなる可能性があります。たとえば、有効になっていない画面がない場合、1秒あたりの接続数(cps)は492Kです。画面が有効で許可リストが無効になっている場合、cpsは373Kです。画面と許可リストの両方が有効になっている場合、cpsは194Kです。許可リストを有効にすると、cps は 40% 低下します。
例:SYN フラッド スクリーンの許可リストの設定
この例では、SYN フラッドスクリーン保護プロセス中に発生する SYN Cookie および SYN プロキシメカニズムから除外する IP アドレスの許可リストを設定する方法を示します。
要件
開始する前に、セキュリティ画面を設定し、セキュリティゾーンで画面を有効にします。 例:DMZ 内の Web サーバに対する SYN フラッド保護の有効化を参照してください。
概要
この例では、 および wlipv6
という名前のwlipv4
許可リストを設定します。すべてのアドレスは の IPバージョン 4(IPv4)wlipv4
であり、 のすべてのアドレスは のIPバージョン6(IPv6)wlipv6
です。どちらの許可リストにも、宛先 IP アドレスと送信元 IP アドレスが含まれます。
の wlipv4
宛先アドレスの設定に示すように、複数のアドレスまたはアドレス プレフィックスを、スペースで区切って角括弧で囲んだ一連のアドレスとして設定できます。
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します 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 フラッド画面で許可リストを設定すると、リスト内の送信元アドレスのみが UDP フラッド検出をバイパスできます。この機能は、許可リストグループのアドレスからのすべてのトラフィックがUDPフラッドチェックをバイパスする必要がある場合に必要です。
IPv4 と IPv6 の両方の許可リストがサポートされています。許可リストのアドレスは、すべて IPv4 またはすべて IPv6 である必要があります。各許可リストには、最大 32 個の IP アドレス プレフィックスを含めることができます。複数のアドレスまたはアドレス プレフィックスを、スペースで区切られ、角括弧で囲まれた一連のアドレスとして指定できます。単一のアドレスまたはサブネットアドレスを設定できます。
UDP フラッドスクリーン許可リストは、SRX5400、SRX5600、および SRX5800 デバイスではサポートされていません。
例:UDP フラッド スクリーンの許可リストの設定
この例では、UDP フラッドスクリーン保護プロセス中に発生する UDP フラッド検出から除外する IP アドレスの許可リストを設定する方法を示します。
要件
開始する前に、セキュリティ画面を設定し、セキュリティゾーンで画面を有効にします。
概要
この例では、 および wlipv6
という名前のwlipv4
許可リストを設定します。すべてのアドレスは の IPv4 wlipv4
で、 のすべてのアドレスは の IPv6 wlipv6
です。どちらの許可リストにも、宛先 IP アドレスと送信元 IP アドレスが含まれます。
複数のアドレスまたはアドレス プレフィックスは、 および wlipv6
のwlipv4
宛先アドレスの設定に示すように、スペースで区切られ、角括弧で囲まれたアドレスのシーケンスとして設定できます。
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します 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エディターの使用を参照してください。
許可リストを構成するには:
許可リストの名前と IPv4 アドレスを指定して、UDP フラッド検出をバイパスします。
[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
許可リストの名前と IPv6 アドレスを指定して、UDP フラッド検出をバイパスします。
[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 white-list wlipv4
および show security screen ids-option jscreen
コマンドを入力します。
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
すべての画面オプションの許可リストについて
Junos OSには、セキュリティゾーン内のすべてのIPスクリーンオプションに対して許可リストを設定する管理オプションが用意されています。セキュリティ ゾーンで screen が有効になっている場合、しきい値を超えるすべての IP パケットがドロップされます。これらのパケットの一部は特定の送信元からの有効なものであり、トラフィックからドロップしないでください。ゾーンレベルで許可リストを構成すると、特定のソースからのすべての IP アドレスが攻撃検出チェックをバイパスできます。
この機能は、特定の送信元からのすべての IP アドレスが攻撃検出チェックをバイパスする必要がある場合に必要です。
IPv4 と IPv6 の両方の許可リストがサポートされています。許可リストのアドレスは、すべて IPv4 またはすべて IPv6 である必要があります。各許可リストには、最大 32 個の IP アドレス プレフィックスを含めることができます。複数のアドレスまたはアドレス プレフィックスを、スペースで区切られ、角括弧で囲まれた一連のアドレスとして指定できます。単一のアドレスまたはサブネットアドレスを設定できます。
利点
-
グローバル IP 許可リストは、IP パケット スクリーニング チェックをバイパスして、特定の送信元からのすべての IP パケットを許可します。
SYNクッキー保護について
SYN Cookie は、SYN フラッド攻撃に対する他の防御と組み合わせて使用できるステートレス SYN プロキシ メカニズムです。
従来の SYN プロキシと同様に、SYN フラッド攻撃のしきい値を超えると SYN Cookie がアクティブになります。ただし、SYN Cookie はステートレスであるため、SYN セグメントの受信時にセッションまたはポリシーとルート検索を設定せず、接続要求キューを維持しません。これにより、CPUとメモリの使用量が大幅に削減され、従来のSYNプロキシメカニズムよりもSYNクッキーを使用する主な利点となります。
Junos OS で SYN Cookie が有効になり、送信先サーバーの TCP ネゴシエーション プロキシになると、暗号化されたクッキーを初期シーケンス番号(ISN)として含む SYN/ACK を使用して、各受信 SYN セグメントに応答します。Cookie は、元の送信元アドレスとポート番号、宛先アドレスとポート番号、元の SYN パケットの ISN の MD5 ハッシュです。クッキーの送信後、Junos OSは元のSYNパケットをドロップし、計算されたクッキーをメモリから削除します。Cookie を含むパケットに対する応答がない場合、攻撃はアクティブな SYN 攻撃として示され、事実上停止されます。
開始側ホストが TCP ACK フィールドにクッキー +1 を含む TCP パケットで応答した場合、Junos OS はクッキーを抽出し、値から 1 を引き、クッキーを再計算して、それが正当な ACK であることを検証します。それが正当である場合、Junos OSは、セッションを設定し、元のSYNからのソース情報を含むサーバーにSYNを送信することによって、TCPプロキシプロセスを開始します。Junos OSがサーバーからSYN/ACKを受信すると、ACKをサーバーと開始ホストに送信します。この時点で接続が確立され、ホストとサーバーは直接通信できます。
SYN Cookie または SYN プロキシを使用することで、SRX シリーズ ファイアウォールは、IPv6 フローでの SYN フラッド攻撃から背後の TCP サーバーを保護することができます。
図4 は、Junos OSでSYN Cookieがアクティブな場合に、開始側ホストとサーバー間の接続を確立する方法を示しています。

SYN クッキーのオプション
不完全な TCP プロキシ接続要求に対して次のパラメータを設定できます。
攻撃しきい値:このオプションを使用すると、SYN セグメント(つまり、SYN フラグが設定された TCP セグメント)の数を、SYN プロキシ メカニズムをアクティブにするために必要な同じ宛先アドレスとポート番号/秒に設定できます。しきい値は任意の数に設定できますが、適切なしきい値を設定するには、サイトの通常のトラフィック パターンを把握する必要があります。たとえば、通常毎秒 2000 SYN セグメントを取得する e ビジネス サイトの場合、しきい値を毎秒 30,000 SYN セグメントに設定することができます。有効なしきい値の範囲は 1 から 1,000,000 です。通常、毎秒 20 SYN セグメントを取得する小規模なサイトでは、しきい値を毎秒 40 SYN セグメントに設定することを検討してください。
アラームしきい値—このオプションでは、Junos OSがイベントログにアラームを入力するまでの、プロキシされたハーフコンプリートTCP接続リクエストの数を1秒ごとに設定できます。設定したアラームしきい値は、同じ宛先アドレスと 1 秒あたりのポート番号へのプロキシされた、半分完了した接続リクエストの数がその値を超えた場合にアラームをトリガーします。たとえば、SYN 攻撃のしきい値を 2000 SYN セグメント/秒に設定し、アラームを 1000 に設定した場合、ログにアラーム エントリをトリガーするには、同じ宛先アドレスとポート番号に合計 3001 の SYN セグメントが必要です。有効なしきい値の範囲は 1 から 1,000,000 で、デフォルトのアラームしきい値は 512 です。
ソースしきい値—このオプションを使用すると、Junos OSがそのソースからの接続要求のドロップを開始する前に、宛先IPアドレスとポート番号に関係なく、単一のソースIPアドレスから1秒あたりに受信するSYNセグメントの数を指定できます。
SYN 攻撃しきい値とソースしきい値を設定する場合は、基本的な SYN フラッディング保護メカニズムとソースベースの SYN フラッド追跡メカニズムの両方を有効にします。有効なしきい値の範囲は 4 〜 1,000,000 で、デフォルトのアラームしきい値は 4000 です。
宛先しきい値—このオプションでは、Junos OSがその宛先への接続要求のドロップを開始する前に、単一の宛先IPアドレスに対して1秒あたりに受信するSYNセグメントの数を指定できます。保護されたホストが複数のサービスを実行する場合は、宛先ポート番号に関係なく、宛先 IP アドレスのみに基づいてしきい値を設定できます。有効なしきい値の範囲は 4 〜 1,000,000 で、デフォルトのアラームしきい値は 4000 です。
SYN 攻撃のしきい値と宛先しきい値を設定する場合は、基本的な SYN フラッド保護メカニズムと宛先ベースの SYN フラッド追跡メカニズムの両方を有効にします。
[タイムアウト(Timeout)]:このオプションを使用すると、半分完了した接続がキューからドロップされるまでの最大時間を設定できます。デフォルトは 20 秒で、タイムアウトは 0 秒から 50 秒に設定できます。通常のトラフィック状態で接続が切断され始めるまで、タイムアウト値を短い長さに減らしてみてください。
送信元または宛先のしきい値が設定されていない場合、システムはデフォルトのしきい値を使用します。送信元と宛先のデフォルトのしきい値は 4000 pps です。
SYN Cookie 保護を有効にすることで、SYN フラッド攻撃からネットワークを検出して保護する
この例では、SYN Cookie 保護を有効にすることで、SYN フラッド攻撃からネットワークを検出して保護する方法を示します。
要件
この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、外部 syn フラッドのタイムアウト値を 20 に設定し、外部画面のセキュリティ ゾーンを外部 syn フラッドに設定します。また、保護モードを syn-cookie に設定します。
SYN Cookie機能は、なりすましのSYNフラッド攻撃のみを検知して保護することができ、Junos OSによって保護されているホストへの悪影響を最小限に抑えることができます。攻撃者がなりすましの IP ソースではなく、正当な IP ソース アドレスを使用する場合、SYN Cookie メカニズムは攻撃を阻止しません。
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します 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 クッキー保護を有効にするには:
外部構文フラッディングのタイムアウト値を指定します。
[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 flow
、およびの各show security screen
コマ ンドを入力し 、コンフィギュレーションを確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[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 クッキー プロテクションを検証しています。
アクション
show security screen ids-option external-syn-flood
動作モードから と show security zones
コマンドを入力します。
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 は、その 1 秒の残りと次の 1 秒の間、それ以降の ICMP エコー要求も無視します。 図5を参照してください。
ICMP フラッドは、任意のタイプの ICMP メッセージで構成できます。そのため、Junos OSは、エコーリクエストだけでなく、すべてのICMPメッセージタイプを監視します。

Junos OS は、IPv4 と IPv6 の両方のトラフィックに対して ICMP フラッド防御をサポートしています。
ICMPフラッドプロテクションを有効にすることで、ICMPフラッド攻撃からネットワークを保護する
この例では、ICMP フラッド防御を有効にすることで、ICMP フラッド攻撃からネットワークを保護する方法を示します。
要件
ICMPフラッディング保護を有効にする前に、デバイスの初期化以上の特別な設定は必要ありません。
概要
この例では、ICMP フラッド防御をイネーブルにします。値の単位は、ICMP パケット/秒、または pps です。デフォルト値は 1000 pps です。洪水が発生する可能性のあるゾーンを指定します。
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します 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 screen ids-option 1000-icmp-flood
動作モードから と show security zones
コマンドを入力します。
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フラッドは、攻撃者がUDPデータグラムを含むIPパケットを送信し、被害者が有効な接続を処理できなくなるまで被害者の速度を低下させる目的で発生します。
UDP フラッド保護機能を有効にした後、しきい値を設定し、それを超えると UDP フラッド攻撃保護機能を呼び出すことができます。(デフォルトのしきい値は 1000 パケット/秒、つまり pps) です。1 つ以上のソースから 1 つの宛先への UDP データグラムの数がこのしきい値を超えた場合、Junos OS はその宛先への UDP データグラムの残り時間、その秒と次の 1 秒の間も無視します。 図6を参照してください。
SRX5400、SRX5600、および SRX5800 デバイスは、次の秒でパケットをドロップしません。

Junos OSは、IPV4およびIPv6パケットのUDPフラッド防御をサポートしています。
UDPフラッド保護を有効にすることで、UDPフラッド攻撃からネットワークを保護する
この例では、UDPフラッド防御を有効にすることで、UDPフラッド攻撃からネットワークを保護する方法を示します。
要件
UDPフラッディング保護を有効にする前に、デバイスの初期化以上の特別な構成は必要ありません。
概要
この例では、UDP フラッド防御を有効にします。値の単位は、UDP パケット/秒、または pps です。デフォルト値は 1000 pps です。洪水が発生する可能性のあるゾーンを指定します。
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します 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 screen ids-option 1000-udp-flood
動作モードから と show security zones
コマンドを入力します。
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アドレスを宛先と送信元の両方のIPアドレスとして含むスプーフィングされたSYNパケットを送信すると、ランドアタックが発生します。
受信側システムは、SYN-ACK パケットを自身に送信することで応答し、アイドル タイムアウト値に達するまで続く空の接続を作成します。このような空の接続でシステムをフラッディングすると、システムが過負荷になり、サービス拒否(DoS)が発生する可能性があります。 図7を参照してください。

土地攻撃をブロックする画面オプションを有効にすると、Junos OSはSYNフラッド防御とIPスプーフィング保護の要素を組み合わせ、この種の試みを検出してブロックします。
Junos OSは、IPv4とIPv6の両方のパケットに対して陸上攻撃防御をサポートしています。
陸上攻撃防御の有効化による陸上攻撃からのネットワークの保護
この例では、陸上攻撃防御を有効にすることで、ネットワークを攻撃から保護する方法を示しています。
要件
陸上攻撃防御を有効にする前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、陸上攻撃に対する保護を有効にする方法を示しています。この例では、セキュリティ スクリーンのオブジェクト名を land に設定し、セキュリティ ゾーンを zone に設定します。
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します 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 screen ids-option land
動作モードから と show security zones
コマンドを入力します。
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:
意味
サンプル出力は、陸上攻撃に対する保護が有効になっていることを示しています。