IPアドレススイープとポートスキャン
アドレス スイープは、1 つの送信元 IP アドレスが、事前定義された時間間隔内にさまざまなホストに事前定義された数の ICMP パケットを送信するときに発生します。ポートスキャンは、ある送信元IPアドレスが、TCP SYNセグメントを含むIPパケットを、事前定義された時間間隔内に、同じ宛先IPアドレスにある事前定義された数の異なるポートに送信する場合に発生します。詳細については、次のトピックを参照してください。
IP オプションを使用したネットワーク ネットワークの偵察について
IP 標準 RFC 791、 インターネット プロトコルは、特別なルーティング制御、診断ツール、およびセキュリティを提供するためのオプションのセットを指定します。
RFC 791では、これらのオプションは「最も一般的な通信には不要」であり、実際にはIPパケットヘッダーに表示されることはめったにないと述べています。これらのオプションは、 図 1 に示すように、IP パケット ヘッダーの宛先アドレスの後に表示されます。それらが現れるとき、それらはしばしばいくつかの違法な使用に置かれています。
このトピックは、以下のセクションで構成されています。
IPパケットヘッダーオプションの用途
表 1 に、IP オプションとそれに伴う属性を示します。
型 |
クラス |
数 |
長さ |
使用目的 |
悪質な使用 |
---|---|---|---|---|---|
オプションの終了 |
0* |
0 |
0 |
1 つ以上の IP オプションの終了を示します。 |
なし。 |
オプションなし |
0 |
1 |
0 |
ヘッダーに IP オプションがないことを示します。 |
なし。 |
セキュリティ |
0 |
2 |
11 ビット |
ホストがセキュリティ、TCC(クローズドユーザーグループ)パラメータ、および国防総省(DoD)要件と互換性のある処理制限コードを送信する方法を提供します。(このオプションは、RFC 791、 インターネット・プロトコルおよび RFC 1038 、改訂済み IP セキュリティー・オプションで 指定されているため、廃止されました。 現在、この画面オプションは IPv4 にのみ適用されます。 |
未知。ただし、廃止されているため、IPヘッダーでの存在は疑わしいです。 |
ルーズ ソース ルート |
0 |
3 |
異なります |
パケットが送信元から宛先への移動を実行するための部分的なルート リストを指定します。パケットは指定されたアドレスの順序で進む必要がありますが、指定されたアドレスの間にある他のデバイスを通過することは許可されています。 |
回避。攻撃者は、指定されたルートを使用して、パケットの真の送信元を隠したり、保護されたネットワークにアクセスしたりする可能性があります。 |
ルートの記録 |
0 |
7 |
異なります |
IP パケットが移動するパスに沿ったネットワーク デバイスの IP アドレスを記録します。その後、宛先マシンはルート情報を抽出して処理できます。(オプションとストレージスペースの両方で40バイトのサイズ制限により、最大9つのIPアドレスしか記録できません。 現在、この画面オプションは IPv4 にのみ適用されます。 |
偵察。宛先ホストが攻撃者の制御下にある侵害されたマシンである場合、パケットが通過したネットワークのトポロジとアドレス指定スキームに関する情報を収集できます。 |
ストリーム ID |
0 |
8 |
4 ビット |
(廃止)ストリームの概念をサポートしていないネットワークを介して 16 ビットの SATNET ストリーム識別子を伝送する方法を提供しました。 現在、この画面オプションは IPv4 にのみ適用されます。 |
未知。ただし、廃止されているため、IPヘッダーでの存在は疑わしいです。 |
厳密なソースルート |
0 |
9 |
異なります |
パケットが送信元から宛先に移動するための完全なルート リストを指定します。リストの最後のアドレスが、宛先フィールドのアドレスを置き換えます。 現在、この画面オプションは IPv4 にのみ適用されます。 |
回避。攻撃者は、指定されたルートを使用して、パケットの真の送信元を隠したり、保護されたネットワークにアクセスしたりする可能性があります。 |
タイムスタンプ |
2** |
4 |
|
各ネットワーク デバイスが発信元から宛先までの移動中にパケットを受信した時刻(協定世界時 [UTC]***)を記録します。ネットワーク デバイスは IP アドレスによって識別されます。 このオプションは、パケットのパスと各パケット間の送信時間に沿って、デバイスのIPアドレスのリストを作成します。 現在、この画面オプションは IPv4 にのみ適用されます。 |
偵察。宛先ホストが攻撃者が制御している侵害されたマシンである場合、パケットが通過したネットワークのトポロジとアドレス指定スキームに関する情報を収集できます。 |
* 0 として識別されるオプションのクラスは、追加のパケットまたはネットワーク制御を提供するように設計されています。 ** 2 として識別されるオプションのクラスは、診断、デバッグ、および測定用に設計されています。 タイムスタンプは、UTC の午前 0 時からのミリ秒数を使用します。UTCはグリニッジ標準時(GMT)とも呼ばれ、国際標準時の基礎となっています。 |
偵察に使用されるIPオプションを検出するための画面オプション
次の画面オプションは、攻撃者が偵察や未知の疑わしい目的に使用できるIPオプションを検出します。
ルートの記録—Junos OSは、IPオプションが7(ルートの記録)のパケットを検出し、イングレスインターフェイスのスクリーンカウンターリストにイベントを記録します。現在、この画面オプションは IPv4 にのみ適用されます。
タイムスタンプ—Junos OSは、IPオプションリストにオプション4(インターネットタイムスタンプ)が含まれているパケットを検出し、イングレスインターフェイスのスクリーンカウンターリストにイベントを記録します。現在、この画面オプションは IPv4 にのみ適用されます。
セキュリティ—Junos OSは、IPオプションが2(セキュリティ)のパケットを検出し、イングレスインターフェイスのスクリーンカウンターリストにイベントを記録します。現在、この画面オプションは IPv4 にのみ適用されます。
ストリームID—Junos OSは、IPオプションが8(ストリームID)のパケットを検出し、イングレスインターフェイスのスクリーンカウンターリストにイベントを記録します。現在、この画面オプションは IPv4 にのみ適用されます。
前述のIPオプションのいずれかを持つパケットを受信すると、Junos OSはこれをネットワーク偵察攻撃としてフラグを立て、イングレスインターフェイスにイベントを記録します。
例:偵察に IP 画面オプションを使用するパケットの検出
この例では、偵察にIPスクリーンオプションを使用するパケットを検出する方法を示しています。
要件
開始する前に、ネットワーク偵察の仕組みを理解しておいてください。 IPオプションを使用したネットワーク偵察についてを参照してください。
概要
RFC 791、 インターネットプロトコル は、特別なルーティング制御、診断ツール、およびセキュリティを提供するためのオプションのセットを指定します。画面オプションは、レコードルート、タイムスタンプ、セキュリティ、ストリームIDなど、攻撃者が偵察に使用できるIPオプションを検出します。
この例では、IP 画面 screen-1 を設定し、zone-1 と呼ばれるセキュリティ ゾーンでそれを有効にします。
1 つのセキュリティ ゾーンで有効にできる画面は 1 つだけです。
トポロジ
構成
手順
CLIクイック構成
レコード ルート、タイムスタンプ、セキュリティ、ストリーム ID の IP 画面オプションを使用してパケットを迅速に検出するには、次のコマンドをコピーして CLI に貼り付けます。
[edit] set security screen ids-option screen-1 ip record-route-option set security screen ids-option screen-1 ip timestamp-option set security screen ids-option screen-1 ip security-option set security screen ids-option screen-1 ip stream-option set security zones security-zone zone-1 screen screen-1
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、 CLIユーザー ガイドの 設定モードでのCLIエディターの使用を参照してください。
偵察にIPスクリーンオプションを使用するパケットを検出するには:
IP 画面のオプションを構成します。
メモ:現在、これらの画面オプションは IPv4 のみをサポートしています。
[edit security screen] user@host# set ids-option screen-1 ip record-route-option user@host# set ids-option screen-1 ip timestamp-option user@host# set ids-option screen-1 ip security-option user@host# set ids-option screen-1 ip stream-option
セキュリティゾーンで画面を有効にします。
[edit security zones ] user@host# set security-zone zone-1 screen screen-1
結果
設定モードから、 コマンドを入力して show security screen
設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] [user@host]show security screen ids-option screen-1 { ip { record-route-option; timestamp-option; security-option; stream-option; } } [edit] [user@host]show security zones zones { security-zone zone-1 { screen screen-1; } }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
設定が正常に機能していることを確認します。
セキュリティゾーンの画面の検証
目的
セキュリティ ゾーンで画面が有効になっていることを確認します。
アクション
動作モードから コマンド show security zones
を入力します。
[edit] user@host> show security zones Security zone: zone-1 Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: screen-1 Interfaces bound: 1 Interfaces: ge-1/0/0.0
セキュリティ画面の設定の確認
目的
セキュリティ画面の設定情報を表示します。
アクション
動作モードから コマンド show security screen ids-option screen-name
を入力します。
[edit] user@host> show security screen ids-option screen-1 Screen object status: Name Value IP record route option enabled IP timestamp option enabled IP security option enabled IP stream option enabled
IP アドレス スイープについて
アドレス スイープは、1 つの送信元 IP アドレスが、定義された間隔(デフォルトは 5000 マイクロ秒)内で、異なるホストに送信された定義数の ICMP パケットを送信する場合に発生します。この攻撃の目的は、ICMPパケット(通常はエコーリクエスト)をさまざまなホストに送信し、少なくとも1つの応答を期待して、ターゲットとするアドレスを明らかにすることです。
Junos OSは、1つのリモートソースから異なるアドレスへのICMPパケット数を内部的に記録します。デフォルト設定を使用して、リモートホストが0.005秒(5000マイクロ秒)以内に10個のアドレスにICMPトラフィックを送信した場合、デバイスはこれをアドレススイープ攻撃としてフラグ付けし、指定されたしきい値期間の残りの期間、そのホストからのそれ以降のすべてのICMPパケットを拒否します。 図2を参照してください。
セキュリティ ゾーンからの ICMP トラフィックを許可するポリシーがある場合にのみ、セキュリティ ゾーンに対してこの画面オプションを有効にすることを検討してください。それ以外の場合は、screen オプションを有効にする必要はありません。このようなポリシーがないと、そのゾーンからのすべてのICMPトラフィックが拒否され、攻撃者がIPアドレススイープを正常に実行することを妨げる可能性があります。
Junos OSは、ICMPv6トラフィックに対してもこの画面オプションをサポートしています。
例:IP アドレス スイープのブロック
この例では、セキュリティ ゾーンから発信された IP アドレス スイープをブロックする画面を設定する方法について説明します。
要件
始める前に:
IPアドレススイープの仕組みを理解する。 IPアドレススイープについてを参照してください。
セキュリティ ゾーンを構成します。 セキュリティゾーンの概要を参照してください。
概要
セキュリティ ゾーンからの ICMP トラフィックを許可するポリシーを設定している場合は、セキュリティ ゾーンの画面を有効にする必要があります。このようなポリシーを設定していない場合、システムはそのゾーンからのすべてのICMPトラフィックを拒否し、攻撃者はIPアドレススイープを正常に実行できません。
この例では、 5000-ip-sweep
ゾーン 1 セキュリティ ゾーンから発信された IP アドレス スイープをブロックする画面を設定します。
トポロジ
構成
手順
手順
IPアドレスのスイープをブロックする画面を設定するには:
画面を設定します。
[edit] user@host# set security screen ids-option 5000-ip-sweep icmp ip-sweep threshold 5000
セキュリティゾーンで画面を有効にします。
[edit] user@host# set security zones security-zone zone-1 screen 5000-ip-sweep
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正常に機能していることを確認します。
セキュリティゾーンの画面の検証
目的
セキュリティ ゾーンで画面が有効になっていることを確認します。
アクション
動作モードから コマンド show security zones
を入力します。
[edit] user@host> show security zones Security zone: zone-1 Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: 5000-ip-sweep Interfaces bound: 1 Interfaces: ge-1/0/0.0
TCPポートスキャンについて
ポートスキャンは、1つの送信元IPアドレスが、TCP SYNセグメントを含むIPパケットを、定義された間隔(デフォルトは5000マイクロ秒)内で10個の異なる宛先ポートに送信する場合に発生します。この攻撃の目的は、少なくとも1つのポートが応答することを期待して利用可能なサービスをスキャンし、ターゲットとするサービスを特定することです。
Junos OSは、1つのリモートソースからスキャンされた異なるポートの数を内部的に記録します。デフォルト設定を使用して、リモートホストが0.005秒(5000マイクロ秒)で10ポートをスキャンした場合、デバイスはこれをポートスキャン攻撃としてフラグ付けし、宛先IPアドレスに関係なく、指定されたタイムアウト期間の残りの間、リモートソースからの以降のすべてのパケットを拒否します。 図3を参照してください。
Junos OSは、IPv4とIPv6の両方のトラフィックのポートスキャンをサポートしています。
UDPポートスキャンについて
UDP ポート スキャンは、セッションしきい値に関する統計情報を提供します。着信パケットが画面を通過すると、セッションが確立されます。適用されるセッション数のしきい値は、ゾーン、ソース IP、およびしきい値期間に基づいており、ゾーンと送信元 IP アドレスごとに、構成されたしきい値期間内に 10 を超える新しいセッションを許可しません。UDP ポート スキャンは、デフォルトでは無効になっています。UDP ポート スキャンが有効になっている場合、既定のしきい値期間は 5000 マイクロ秒です。この値は、手動で 1000 から 1,000,000 マイクロ秒の範囲に設定できます。この機能は、公開されている一部のパブリックUDPサービスをDDoS攻撃から保護します。 図4を参照してください。
ポートスキャンのブロックによるトラフィック管理の強化
この例では、特定のセキュリティ ゾーンから発信されたポート スキャンをブロックする画面を設定することで、トラフィック管理を強化する方法を示します。
要件
開始する前に、ポートスキャンの仕組みを理解しておいてください。 TCP ポート スキャンについてを参照してください。
概要
ポートスキャンを使用して、TCP SYNセグメントまたは定義された時間内に同じ送信元アドレスから異なるポートに送信されたUDPセグメントを含むIPパケットをブロックできます。この攻撃の目的は、少なくとも 1 つのポートが応答することを期待して、利用可能なサービスをスキャンすることです。ポートが応答すると、ターゲットとするサービスとして識別されます。
この例では、特定のセキュリティ ゾーンから発信されたポート スキャンをブロックするように 5000 ポートスキャン画面を設定し、その画面をゾーン 1 と呼ばれるゾーンに割り当てます。
トポロジ
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します commit 。
set security screen ids-option 5000-port-scan tcp port-scan threshold 5000 set security screen ids-option 10000-port-scan udp port-scan threshold 10000 set security zones security-zone zone-1 screen 5000-port-scan
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、 CLIユーザー ガイドの 設定モードでのCLIエディターの使用を参照してください。
ポートスキャンをブロックする画面を設定するには:
画面を設定します。
[edit security] user@host# set security screen ids-option 5000-port-scan tcp port-scan threshold 5000 user@host#set security screen ids-option 10000-port-scan udp port-scan threshold 10000
セキュリティゾーンで画面を有効にします。
[edit security] user@host# set security zones security-zone zone-1 screen 5000-port-scan
結果
設定モードから、 および show security zones
コマンドを入力してshow security screen ids-option 5000-port-scan
設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show security screen ids-option 5000-port-scan tcp { port-scan threshold 5000; } udp { port-scan threshold 10000; }
[edit] user@host# show security zones security-zone zone-1 { screen 5000-port-scan; }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
設定が正常に機能していることを確認します。
セキュリティゾーンの画面の検証
目的
セキュリティ ゾーンで画面が有効になっていることを確認します。
アクション
動作モードから コマンド show security zones
を入力します。
[edit] user@host> show security zones Security zone: zone-1 Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: 5000-port-scan Interfaces bound: 0 Interfaces:
意味
サンプル出力では、zone-1 の画面でポート スキャンのブロックが有効になっていることが示されています。
セキュリティ画面の設定の確認
目的
セキュリティ画面の設定情報を確認します。
アクション
動作モードから コマンド show security screen ids-option screen-name
を入力します。
[edit] user@host> show security screen ids-option 5000-port-scan Screen object status: Name Value TCP port scan threshold 5000 UDP port scan threshold 10000
意味
サンプル出力では、ポート スキャン ブロックが TCP および UDP しきい値で動作していることがわかります。