IDPセキュリティパケットキャプチャ
このトピックでは、攻撃の前後にパケットをキャプチャして攻撃の詳細を特定し、シグネチャを作成する方法について説明します。特定のルールのパケットキャプチャの有効化、メモリ割り当ての設定、分析のためのホストデバイスへのキャプチャされたパケットの送信について説明します。パケットログにSSL/TLSを使用した暗号化サポートが導入され、ログをローカルに保存する機能も導入されました。
IDPセンサー設定は、パケットキャプチャのデバイス仕様を定義します。
パケットキャプチャを理解する
攻撃の前後のパケットを表示すると、攻撃の目的と範囲、攻撃が成功したかどうか、ネットワーク障害が攻撃によって引き起こされたかどうかを判断するのに役立ちます。パケット分析は、誤検知を最小限に抑えるための攻撃シグネチャの定義にも役立ちます。
攻撃が記録されたときにパケットキャプチャが有効になっている場合、攻撃の前後の指定された数のパケットをセッション用にキャプチャできます。すべてのパケットが収集されると、オフライン分析のためにデバイス管理インターフェイス(DMI)でホストデバイスに送信されます。
IDPポリシールールの通知オプションは、ルールに一致した場合にパケットキャプチャを有効にします。このオプションは、キャプチャするパケットの数と、関連するセッションのパケットキャプチャの時間をさらに定義します。
IDPセンサー設定は、パケットキャプチャのデバイス仕様を定義します。このコマンドのオプションによって、パケットキャプチャに割り当てるメモリと、パケットキャプチャオブジェクトが送信される送信元デバイスとホストデバイスが決まります。
showコマンドは、デバイス上のパケットキャプチャアクティビティの進行状況、成功、失敗に関する詳細を提供するパケットキャプチャカウンターを表示します。
パケット キャプチャのサポートは、各セッションで 1 回のみ利用できます。
パケットキャプチャが改善された攻撃前設定パラメータ値で設定されている場合、リソース使用量が比例して増加し、デバイスのパフォーマンスに影響を与える可能性があります。
IDPパケットキャプチャの暗号化サポート
セキュアソケットレイヤー(SSL)またはトランスポート層セキュリティ(TLS)接続を有効にし、暗号化されたIDPパケットキャプチャログをパケットキャプチャ受信者に送信できます。SSLまたはTLS接続を確立するには、IDPパケットログ設定で使用するSSL開始プロファイル名を指定する必要があります。セキュリティデバイスはSSLまたはTLSクライアントで、パケットキャプチャ受信側はSSLまたはTLSサーバーです。
IDPは、安全なSSLまたはTLS接続を使用して、論理システムまたはテナントシステム内のすべてのセッション(暗号化済みおよび非暗号化)について、IDPパケットログを設定済みホストに送信します(パケットログ設定で暗号化サポートが有効になっている場合)。パケットログがパケットキャプチャ受信側に送信されると、SSL接続は終了します。
以前は、暗号化されたトラフィックが検査のために送信されると、IDPはSSLプロキシを使用して復号化されたトラフィックを受信し、攻撃検出のために検査していました。攻撃が検知され、パケットログが設定されている場合、復号化されたパケットはパケットログの一部として、UDPトラフィックを介して設定されたホストに送信されます。この暗号化なしのパケットログの送信は、特にキャプチャされたパケットログが暗号化されたトラフィック用である場合、セキュリティが確保されません。
暗号化サポートが有効になっている場合、SSLプロファイルは各論理システムで個別に設定する必要があります。トランスポートパラメーターのためにルート論理システムで実行されたIDPセンサー設定は、他の論理システムまたはテナントシステムには使用できません。
IDPパケットログのSSLまたはTLS接続は、次のように確立されます。
-
パケットロギングプロセスが開始されると、ホストへのSSLまたはTLS接続がない場合は、パケットログを送信するための新しいSSL接続が確立されます。
-
パケットログ送信中に、既存のSSLまたはTLS接続が存在する場合は、同じ接続が再利用されます。
-
パケットロギングが停止すると、キャプチャされたパケットが確立されたSSLまたはTLS接続を介して送信されます。
-
SSLまたはTLSパケット送信セッションがビジー状態で、ホストから新しいパケットログリクエストが到着した場合、新しいパケットログはキューに入れられ、既存のSSLセッションが完了した後にのみ送信されます。
IDPのパケットログ設定で、SSLプロファイル名の設定がサポートされるようになりました。この更新されたパケットログ設定を使用して、IDPパケットログ用の安全なSSL接続を確立できます。
SSL設定で更新されたIDPパケットログコマンドは次のとおりです。
set security idp sensor-configuration packet-log ssl-profile-name < profile-name>- 論理システム内のセッションの場合-
set logical system logical system name security idp sensor-configuration packet-log ssl-profile-name < profile-name> -
テナントシステム内のセッションの場合-
set tenants tenant name security idp sensor-configuration packet-log ssl-profile-name < profile-name>
これらのコマンドで記載されているプロファイル名は、SSL開始プロファイル設定で設定する必要があります。SSL開始プロファイル設定は、安全な接続を確立するために必要なSSL証明書とSSLハンドシェイク操作を実行します。SSLバージョンは、SSL開始設定に基づいて選択されます。
SSL開始プロファイル設定でSSLプロファイル名が設定されていない場合は、次のメッセージが表示されます。 参照済みSSL開始プロファイルは定義されていません。
新しいパケットログカウンターを表示するには、 show security idp counters packet-log コマンドを使用します。
利点
-
SSLキーとTLSキー、証明書ベースの暗号化を使用して、データのプライバシーとセキュリティを確保します。
-
潜在的な個人情報をネットワーク内の共有エンティティにストリーミングすることをサポートできます。
IDPオンボックスパケットキャプチャのサポート
攻撃が発生すると、IDPパケットロギング機能を使用してパケットがキャプチャされ、攻撃の動作がオフラインで分析されます。場合によっては、Security Directorなどのログコレクターデバイスが、キャプチャされたパケットのオフライン収集に使用できないことがあります。このような場合、キャプチャされたパケットはローカルに保存され、詳細はJ-Webで表示できます。
既存のIDPパケットログ設定は通常通り使用され、コマンドを使用してIDPルールのパケットログを設定できます。 set security idp sensor-configuration packet-log local-storage コマンドを使用して、キャプチャされたパケットをデバイスに保存できます。
この設定を使用する場合、ホスト用に詳細が設定されていれば、オフボックスホストまたはコレクターへのパケットログの送信に変更はありません。
キャプチャされたトラフィックは 、/var/log/pcap/idp/に保存されます。PCAPファイルの名前は、タイムスタンプ、攻撃ログID、トリガーパケット番号に基づいています。
提供されているログローテーション機能を使用して、作成されるPCAPファイルの数を制限できます。以下の設定を使用して、 /var/log/pcap/idpに作成する必要があるPCAPファイルの数を制限します。
set security idp sensor-configuration packet-log local-storage max-files <1..5000>
デフォルト値は500です。
PCAPファイルの保存に使用する最大ディスク容量の制限を設定するには、以下の設定を使用します。
set security idp sensor-configuration packet-log local-storage storage-limit <1048576...4294967296>
デフォルト値は100M、最小値は1Mです。
カウンターは、オンボックスキャプチャ統計を示します。既存のパケットログカウンターに新しいカウンターが追加されます。次のコマンドを使用して、パケットログカウンターの詳細を表示できます。
user@host> show security idp counters packet-log
IDP counters: Total packets sent for local packet capture 0 Total sessions enabled for local packet capture 0 Sessions currently enabled for local packet capture 0 Packets currently captured for local enabled sessions 0 Packet clone failures for local capture 0 Total failures sending packets captured to RE 0
これで、このセッション用にオンボックスパケットキャプチャファイルが生成されると、既存のセッション終了syslogにフラグが設定されます。次の例の最後から 3 番目のパラメーター (128 - セッションの機能統計) はこれを示しています。以下に例を示します。
RT_FLOW: RT_FLOW_SESSION_CLOSE: session closed TCP FIN: 4.0.0.1/44508->6.0.0.2/80 0x0 junos-http 4.0.0.1/44508->6.0.0.2/80 0x0 N/A N/A N/A N/A 6 1 trust untrust 22 7(420) 6(3879) 2 HTTP UNKNOWN N/A(N/A) ge-0/0/2.0 No Web N/A 4 Can Leak Information;Supports File Transfer;Prone to Misuse;Known Vulnerabilities;Carrier of Malware;Capable of Tunneling; NA 0 0.0.0.0/0->0.0.0.0/0 NA NA N/A N/A Off root 128 N/A N/A
その他の便利なコマンドは次のとおりです。
-
delete security idp sensor-configuration packet-log local-storageand commitを使用して設定を削除し、オンボックスロギングを無効にします。 -
clear counterコマンド
clear security idp counters packet-logを使用して、オンボックスキャプチャの詳細を削除します。 -
request security idp storage-cleanup packet-captureを使用して、キャプチャされたすべてのファイルをクリアします。
関連項目
例:セキュリティパケットキャプチャの設定
この例では、セキュリティパケットキャプチャを設定する方法を示しています。
要件
開始する前に、ネットワークインターフェイスを設定します。
概要
この例では、ポリシー pol0 のルール 1 のパケットキャプチャを設定します。このルールでは、攻撃が発生した場合、攻撃前の1パケットと攻撃後の3パケットをキャプチャし、攻撃後のキャプチャは60秒後にタイムアウトすることが指定されています。センサーの設定が変更され、使用可能なメモリの 5% と IDP セッションの 15% がパケット キャプチャに割り当てられます。パケットキャプチャオブジェクトが準備されると、デバイス10.56.97.3からデバイス10.24.45.7のポート5に送信されます。
設定
手順
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルのCLIにコピーアンドペーストして、設定モードから commit を入力します。
set security idp idp-policy pol0 rulebase-ips rule 1 then notification packet-log pre-attack 1 post-attack 3 post-attack-timeout 60 set security idp sensor-configuration packet-log total-memory 5 max-sessions 15 source-address 10.56.97.3 host 10.24.45.7 port 5 set security idp sensor-configuration log suppression disable set security idp idp-policy pol0 rulebase-ips rule 1 match attacks predefined-attack-groups "TELNET-Critical" set security idp idp-policy pol0 rulebase-ips rule 1 then action drop-packet
ステップバイステップの手順
次の例では、設定階層のさまざまなレベルに移動する必要があります。その方法の詳細については、『CLIユーザーガイド』の「構成モードでのCLIエディターの使用」を参照してください。
セキュリティパケットキャプチャを設定するには:
-
IDPポリシーを作成します。
[edit] user@host# edit security idp idp-policy pol0
-
ルールベースをポリシーに関連付けます。
[edit edit security idp idp-policy pol0] user@host# edit rulebase-ips
-
ルールベースにルールを追加します。
[edit edit security idp idp-policy pol0 rulebase-ips] user@host# edit rule 1
-
通知を指定し、各パケットキャプチャのサイズとタイミングの制約を定義します。
[edit security idp idp-policy pol0 rulebase-ips rule 1 ] user@host# set then notification packet-log pre-attack 1 post-attack 3 post-attack-timeout 60
-
攻撃を一致条件として定義します。
[edit security idp idp-policy pol0 rulebase-ips rule 1] user@host# set match attacks predefined-attack-groups "TELNET-Critical"
-
ルールのアクションを指定します。
[edit security idp idp-policy pol0 rulebase-ips rule 1] user@host#set then action drop-packet
-
セキュリティIDPセンサー設定を有効にします。
[edit] user@host# edit security idp sensor-configuration
-
(オプション)セキュリティIDPセンサー設定ログ抑制を無効にします。
[edit] user@host# set security idp sensor-configuration log suppression disable
IDPログ抑制が有効になっている場合(デフォルトの動作)、単一のシグネチャに一致する大量または反復的な攻撃が発生すると、パケットキャプチャ(PCAP)がSRXシリーズファイアウォールによって生成されてコレクターに転送されないことがあります。各攻撃にPCAPレコードが必要な場合は、IDPログ抑制を無効にすることをお勧めします。
-
パケットキャプチャに使用するデバイスリソースを割り当てます。
[edit security idp sensor-configuration] user@host# set packet-log total-memory 5 max-sessions 15
-
パケットキャプチャオブジェクトを送信する送信元デバイスとホストデバイスを識別します。
[edit security idp sensor-configuration] user@host# set packet-log source-address 10.56.97.3 host 10.24.45.7 port 5
- セキュアなSSLまたはTLS接続を有効にして、設定されたホスト(PCAP受信側)に送信されたIDPパケットログを暗号化します。
[edit security idp sensor-configuration] user@host# set packet-log ssl-profile-name ssl3
[edit](Logical Systems) user@host# set logical system LS1 security idp sensor-configuration packet-log ssl-profile-name ssl3
[edit(Tenant Systems) user@host# set tenants TS1 security idp sensor-configuration packet-log ssl-profile-name ssl3
SSL開始プロファイル設定で、前述のSSLプロファイル名を設定します。SSL開始設定でサポートされているすべてのSSLおよびTLSバージョンが、このIDPパケットログSSLまたはTLS接続でサポートされています。SSL開始設定で設定されたSSLまたはTLSバージョンのみを選択できます。
user@host# show services ssl initiation | display set を実行して、SSL開始時で構成されたSSLプロファイル名を表示し、必要なSSLまたはTLSバージョンを使用します。
結果
設定モードから、 show security idp コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] user@host# show security idp
idp-policy pol0 {
rulebase-ips {
rule 1 {
match {
attacks {
predefined-attack-groups TELNET-Critical;
}
}
then {
action {
drop-packet;
}
notification {
packet-log {
pre-attack 1;
post-attack 3;
post-attack-timeout 60;
}
}
}
}
}
}
sensor-configuration {
log {
suppression {
disable;
}
}
packet-log {
total-memory {
5;
}
max-sessions {
15;
}
source-address 10.56.97.3;
host {
10.24.45.7;
port 5;
}
##
## Warning: Referenced SSL initiation profile is not defined
##
ssl-profile-name ssl3;
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
セキュリティパケットキャプチャの確認
目的
セキュリティパケットキャプチャを確認します。
アクション
動作モードから、 show security idp counters packet-log コマンドを入力します。
user@host> show security idp counters packet-log
IDP counters: Value Total packets captured since packet capture was activated 0 Total sessions enabled since packet capture was activated 0 Sessions currently enabled for packet capture 0 Packets currently captured for enabled sessions 0 Packet clone failures 0 Session log object failures 0 Session packet log object failures 0 Sessions skipped because session limit exceeded 0 Packets skipped because packet limit exceeded 0 Packets skipped because total memory limit exceeded 0
例:データパスデバッグ用にパケットキャプチャを設定する
この例では、デバイスを通過するトラフィックを監視するためにパケットキャプチャを設定する方法を示しています。パケットキャプチャは、パケットをPCAPファイル形式にダンプし、後でtcpdumpユーティリティで調べることができます。
要件
開始する前に、 データパスのデバッグを設定する(CLI手順)を参照してください。
概要
フィルターはトラフィックをフィルタリングするように定義されています。次に、フィルタリングされたトラフィックにアクションプロファイルが適用されます。アクションプロファイルは、処理ユニットに対してさまざまなアクションを指定します。サポートされているアクションの1つがパケットダンプであり、パケットをルーティングエンジンに送信し、 show security datapath-debug capture コマンドを使用して読み込めるように独自の形式で保存します。
設定
手順
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピー アンド ペーストして、設定モードから commit を入力します。
set security datapath-debug capture-file my-capture set security datapath-debug capture-file format pcap set security datapath-debug capture-file size 1m set security datapath-debug capture-file files 5 set security datapath-debug maximum-capture-size 400 set security datapath-debug action-profile do-capture event np-ingress packet-dump set security datapath-debug packet-filter my-filter action-profile do-capture set security datapath-debug packet-filter my-filter source-prefix 10.2.3.4/32
ステップバイステップの手順
次の例では、設定階層のさまざまなレベルに移動する必要があります。その方法の詳細については、『Junos OS CLIユーザーガイド』の「構成モードでのCLIエディターの使用」を参照してください。
パケットキャプチャを設定するには:
パケット処理パスにある複数の処理ユニットのsecurity datapath-debugオプションを編集します。
[edit] user@host# edit security datapath-debug
キャプチャファイル、ファイル形式、ファイルサイズ、およびファイル数を有効にします。サイズ番号は、キャプチャファイルのサイズを制限します。制限サイズに達した後、ファイル番号が指定されている場合、キャプチャファイルはファイル名 xにローテーションされ、指定されたインデックスに達するまで x が自動的にインクリメントされ、その後ゼロに戻ります。ファイルインデックスを指定しない場合、サイズ制限に達した後にパケットは破棄されます。デフォルトのサイズは512キロバイトです。
[edit security datapath-debug] user@host# set capture-file my-capture format pcap size 1m files 5 [edit security datapath-debug] user@host# set maximum-capture-size 400
アクションプロファイルを有効にし、イベントを設定します。アクションプロファイルをdo-captureとして、イベントタイプをnp-ingressとして設定します。
[edit security datapath-debug] user@host# edit action-profile do-capture [edit security datapath-debug action-profile do-capture] user@host# edit event np-ingress
アクションプロファイルのパケットダンプを有効にします。
[edit security datapath-debug action-profile do-capture event np-ingress] user@host# set packet-dump
パケットフィルター、アクション、およびフィルターオプションを有効にします。パケットフィルターはmy-filter、アクションプロファイルはdo-capture、フィルターオプションはsource-prefix 10.2.3.4/32に設定されます。
[edit security datapath-debug] user@host# set security datapath-debug packet-filter my-filter action-profile do-capture
[edit security datapath-debug] user@host# set security datapath-debug packet-filter my-filter source-prefix 10.2.3.4/32
結果
設定モードから、 show security datapath-debug コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
security {
datapath-debug {
capture-file {
my-capture
format pcap
size 1m
files 5;
}
}
maximum-capture-size 100;
action-profile do-capture {
event np-ingress {
packet-dump
}
}
packet-filter my-filter {
source-prefix 10.2.3.4/32
action-profile do-capture
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
パケットキャプチャの検証
目的
パケットキャプチャが機能していることを確認します。
アクション
動作モードから、 request security datapath-debug capture start コマンドを入力してパケットキャプチャを開始し、パケットキャプチャを停止するには request security datapath-debug capture stop コマンドを入力します。
結果を表示するには、CLI運用モードからローカルのUNIXシェルにアクセスし、/var/log/my-captureディレクトリに移動します。結果は、tcpdumpユーティリティを使用して読み取ることができます。
データパスのデバッグキャプチャを確認する
目的
データパスデバッグキャプチャファイルの詳細を確認します。
アクション
動作モードから、 show security datapath-debug capture コマンドを入力します。
user@host> show security datapath-debug capture
トラブルシューティングが終了したら、すべてのtraceoptionsコンフィギュレーション(flow traceoptionsに限りません)と完全なsecurity datapath-debugコンフィギュレーション節が削除または無効化されていることを確認します。有効になったままのデバッグ設定がある場合は、デバイスのCPUとメモリ資源を使い続けます。
データパスのデバッグカウンターを検証する
目的
データパスデバッグカウンターの詳細を確認します。
アクション
動作モードから、 show security datapath-debug counter コマンドを入力します。
論理システムとテナントシステムのIDPセキュリティパケットロギング
論理システムとテナントシステムのIDPセキュリティパケットログをキャプチャできます。セキュリティデバイスでパケットキャプチャを有効にすると、キャプチャする攻撃後または攻撃前のパケット数を指定することもできます。セキュリティデバイスでパケットキャプチャを設定すると、デバイスはキャプチャされた情報を収集し、論理システムレベルとテナントシステムレベルでパケットキャプチャ(.pcap)ファイルとして保存します。
論理システムとテナントシステムの IDP セキュリティパケットログを設定する場合、設定は次のサンプルのようになります。
IDPパケットロギングのサンプル設定
[edit logical-systems LSYS-1]
user@host# show
security {
idp {
sensor-configuration {
packet-log {
threshold-logging-interval 2;
source-address 192.168.0.0;
host {
172.16.0.0;
port 2050;
}
}
}
}
}
ルートと到達可能性
論理システムレベルとテナントシステムレベルでパケットロギングセンサーを指定して、キャプチャされたパケットを宛先デバイス(パケットキャプチャレシーバー)に保存できます。キャプチャしたパケットを送信して保存するには、論理システムとテナントシステムの設定に宛先デバイスのIPアドレスを追加する必要があります。それ以外の場合、デバイスはルート論理システムレベルとテナントシステムレベルで設定されたデバイスのIPアドレスを使用して、キャプチャされたパケットを送信します。この場合、キャプチャされたパケットは論理システムレベルやテナントシステムレベルでは保存されません。
ルート論理システムとテナントシステムに宛先デバイスのIPアドレスがない場合、セキュリティデバイスはキャプチャされたパケットの送信に失敗します。
show security idp counters packet log logical-system logical-system-nameコマンドを使用します。Packet log host route lookup failuresオプションにチェックを入れます。ルートの詳細が欠落しているためにセキュリティデバイスがパケットを送信しなかった頻度を判断します。
関連項目
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。