Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ファイアウォールDoS攻撃

DoS攻撃保護は、ステートフルインスペクションを活用して、目的の宛先との間の途中でインターフェイスを通過する必要があるすべての接続試行を探し、許可または拒否します。 詳細については、次のトピックを参照してください。

セッションテーブルフラッド攻撃について

DoS攻撃が成功すると、偽のシミュレートされたトラフィックの大規模な集中砲火で被害者を圧倒し、正当な接続要求を処理できなくなります。DoS攻撃には、SYNフラッド、SYN-ACK-ACKフラッド、UDPフラッド、ICMPフラッドなど、さまざまな形態が考えられますが、被害者のセッションテーブルをいっぱいにするという同じ目的を目指しています。

セッション テーブルがいっぱいになると、そのホストは新しいセッションを作成できず、新しい接続要求の拒否を開始します。ソースベースのセッション制限画面オプションと宛先ベースのセッション制限画面オプションは、このような攻撃を軽減するのに役立ちます。

ソースベースのセッション制限について

同じ送信元 IP アドレスからの同時セッションの数を制限するだけでなく、同じ宛先 IP アドレスへの同時セッションの数を制限することもできます。ソースベースのセッション制限を設定する利点の1つは、サーバーに感染し、そのサーバーから大量のトラフィックを生成し始めるNimdaウイルス(実際にはウイルスとワームの両方)などの攻撃を食い止めることができることです。ウイルスによって生成されたトラフィックはすべて同じIPアドレスから発信されるため、送信元ベースのセッション制限により、ファイアウォールはこのような過剰な量のトラフィックを抑制できます。 図1を参照してください。

図 1: 送信元 IP アドレス Limiting Sessions Based on Source IP Addressに基づくセッションの制限

ソースベースのセッション制限のもう1つの利点は、すべての接続試行が同じ送信元IPアドレスから発信された場合に、ファイアウォールのセッションテーブルをいっぱいにする試みを軽減できることです。

許容可能な数の接続要求を特定するには、一定期間の監視と分析を行い、典型的なトラフィック フローのベースラインを確立する必要があります。また、使用している特定のジュニパーネットワークスプラットフォームのセッションテーブルを埋めるために必要な同時セッションの最大数も考慮する必要があります。セッションテーブルがサポートするセッションの最大数を確認するには、CLI コマンド show security flow session summaryを使用し、現在の(割り当てられた)セッションの数、セッションの最大数、および失敗したセッション割り当ての数がリストされた出力の最後の行を確認します。

ソースベースのセッション制限のデフォルトの最大値は 128 同時セッションであり、ネットワーク環境とプラットフォームのニーズに合わせて調整が必要な場合があります。

メモ:

Junos OS は、IPv4 と IPv6 の両方のトラフィックに対して、ソースベースのセッション制限をサポートしています。

例: ソースベースのセッション制限の設定

この例では、送信元 IP に基づいてセッション数を制限する方法を示しています。

要件

この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。

概要

次の例は、DMZ 内およびゾーン A 内の任意の 1 つのサーバーが開始できるセッション数を制限する方法を示しています。DMZ には Web サーバーのみが含まれ、どの Web サーバーもトラフィックを開始しないため、ソースセッションの制限を可能な限り低い値(1 セッション)に設定します。一方、ゾーン A にはパーソナル コンピューター、サーバー、プリンターなどが含まれ、その多くはトラフィックを開始します。ゾーン a では、ソース セッションの制限を最大 80 の同時セッションに設定します。

トポロジ

構成

手順

CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit] にコピーアンドペーストして、設定モードから を入力します commit

手順
  1. DMZゾーンの送信元IPに基づいて同時セッション数を指定します。

  2. DMZ のセキュリティ ゾーンを設定制限に設定します。

  3. ゾーンの送信元IPに基づいて同時セッション数を指定します。

  4. ゾーン A のセキュリティ ゾーンを構成制限に設定します。

結果

設定モードから、 および show security zones コマンドを入力してshow security screen設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから を入力します commit

検証

ソースベースのセッション制限の確認

目的

ソースベースのセッション制限を確認します。

アクション

show security screen ids-option 1-limit-session 動作モードから 、 、 show security screen ids-option 80-limit-sessionおよび show security zones コマンドを入力します。

意味

サンプル出力は、DMZ ゾーンとゾーン a のソース セッション制限値を示しています。

宛先ベースのセッション制限について

同じ送信元 IP アドレスからの同時セッションの数を制限するだけでなく、同じ宛先 IP アドレスへの同時セッションの数を制限することもできます。巧妙な攻撃者が分散型サービス拒否(DDoS)攻撃を仕掛けることができます。DDoS攻撃では、悪意のあるトラフィックは、攻撃者の制御下にある「ゾンビエージェント」と呼ばれる何百ものホストから送信される可能性があります。SYN、UDP、ICMPのフラッド検出および防止スクリーンオプションに加えて、宛先ベースのセッション制限を設定することで、Junos OSが、ソースに関係なく、1つのホストに到達する同時接続要求の数を許容できるかどうかを保証できます。 図2を参照してください。

図2:分散型DOS攻撃 Distributed DOS Attack

宛先ベースのセッション制限のデフォルトの最大値は 128 同時セッションであり、この値はネットワーク環境とプラットフォームのニーズに合わせて調整が必要な場合があります。

例: 宛先ベースのセッション制限の設定

この例では、宛先ベースのセッション制限を設定する方法を示します。

要件

この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。

概要

この例では、ウェブサーバーへのトラフィック量を 1.2.2.5 に制限します。サーバーは DMZ 内にあります。この例では、外部ゾーンからこのサーバーへのトラフィック フローを 1 か月間監視した後、受信する同時セッションの平均数が 2000 であると判断したことを前提としています。また、新しいセッション制限を 2000 の同時セッションに設定します。トラフィックの急増がこの制限を超えることもありますが、この例では、時折サーバーにアクセスできないことよりもファイアウォールセキュリティを選択していることを前提としています。

構成

手順

CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit] にコピーアンドペーストして、設定モードから を入力します commit

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。宛先ベースのセッション制限を設定するには:

  1. 同時セッションの数を指定します。

  2. 外部ゾーンのセキュリティ ゾーンを設定します。

結果

設定モードから、 および show security zones コマンドを入力してshow security screen設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから を入力します commit

検証

宛先ベースのセッション制限の確認

目的

宛先ベースのセッション制限を確認します。

アクション

show security screen ids-option 2000-limit-session動作モードから と show security zones コマンドを入力します。

意味

サンプル出力は、外部ゾーンの宛先セッション制限値を示しています。

SYN-ACK-ACK プロキシ フラッド攻撃について

認証ユーザーが Telnet または FTP 接続を開始すると、ユーザーは SYN セグメントを Telnet または FTP サーバーに送信します。Junos OSはSYNセグメントをインターセプトし、そのセッションテーブルにエントリを作成して、SYN-ACKセグメントをユーザーにプロキシします。その後、ユーザーは ACK セグメントで応答します。この時点で、最初の 3 ウェイ ハンドシェイクは完了です。Junos OSから、ユーザーにログイン プロンプトが送信されます。ユーザーが悪意を持ってログインせず、代わりにSYN-ACK-ACKセッションを開始し続けると、ファイアウォールセッションテーブルがいっぱいになり、デバイスが正当な接続要求を拒否し始める可能性があります。

このような攻撃を防ぐには、SYN-ACK-ACKプロキシ保護画面オプションを有効にします。同じ IP アドレスからの接続数が SYN-ACK-ACK プロキシのしきい値に達すると、Junos OS はその IP アドレスからのそれ以降の接続要求を拒否します。既定では、しきい値は任意の 1 つの IP アドレスからの 512 接続です。このしきい値 (1 から 250,000 までの任意の数値) は、ネットワーク環境の要件に合わせて変更できます。

メモ:

Junos OS は、IPv4 アドレスと IPv6 アドレスの両方に対して SYN-ACK-ACK プロキシ保護をサポートしています。

SYN-ACK-ACK プロキシ フラッド攻撃からネットワークを保護する

この例では、SYN-ACK-ACK プロキシ フラッド攻撃からネットワークを保護する方法を示します。

要件

この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。

概要

この例では、SYN-ACK-ACK プロキシ フラッドに対する保護を有効にします。値の単位は、送信元アドレスあたりの接続数です。デフォルト値は、任意の単一アドレスからの 512 接続です。

構成

手順

CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit] にコピーアンドペーストして、設定モードから を入力します commit

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。SYN-ACK-ACK プロキシ フラッド攻撃から保護するには:

  1. ソースセッションの制限を指定します。

  2. ゾーン画面のセキュリティゾーンを設定します。

結果

設定モードから、 および show security zones コマンドを入力してshow security screen設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから を入力します commit

検証

SYN-ACK-ACK プロキシ フラッド攻撃の検証

目的

SYN-ACK-ACK プロキシ フラッド攻撃を検証します。

アクション

show security screen ids-option 1000-syn-ack-ack-proxy動作モードから と show security zones コマンドを入力します。

意味

サンプル出力は、SYN-ACK-ACK-proxy フラッドによる攻撃がないことを示しています。