IDP センサーの構成
IDPセンサー設定を使用すると、管理者はSRXシリーズファイアウォールでIDPパフォーマンスを最適化するための設定を構成できます。メモリとセッションの使用量を制限し、リソースを超えた場合のトラフィック ドロップを制御し、高い CPU 使用率を管理するために IDP インテリジェント バイパスを構成する方法について説明します。また、フェールオーバー時の処理条件についても説明します。
IDP シグネチャ データベースを使用してアプリケーション シグネチャを作成することはできませんが、センサー設定を構成して、アプリケーション識別を実行するセッションの数を制限したり、アプリケーション識別のためのメモリ使用量を制限したりできます。
詳細については、次のトピックを参照してください。
IDP センサーの構成設定について
センサー構成オプションは、次の目的で使用されます。
IDP セッションの容量とメモリの制限に近づいた場合の実行状態をログに記録します。
制限を超えた場合、IDPおよびアプリケーション識別によってドロップされたトラフィックを分析します。
IDP シグネチャ データベースを使用してアプリケーション シグネチャを作成することはできませんが、センサー設定を構成して、アプリケーション識別を実行するセッションの数を制限したり、アプリケーション識別のためのメモリ使用量を制限したりできます。
1 つの TCP または UDP セッションのアプリケーション識別用にパケットを保存するために使用できるメモリ バイトの最大量を設定できます。また、アプリケーション識別用のグローバルメモリ使用量の制限を設定することもできます。システムがセッションに対して指定されたメモリ制限に達すると、セッションのアプリケーション識別は無効になります。ただし、IDP は引き続きパターンを照合します。一致したアプリケーションはキャッシュに保存され、次のセッションで使用できるようになります。これにより、クライアントからサーバーへの大きなパケットを意図的に送信することで、アプリケーションの識別を迂回しようとする攻撃者からシステムが保護されます。
max-tcp-session-packet-memory—IDPアプリケーション識別サービスのメモリとセッションの制限を設定するには、 set security idp sensor-configuration application-identification max-tcp-session-packet-memory 5000 コマンドを実行します。
memory-limit-percent- IDP割り当てに使用できる、システムで使用可能なデータプレーンのメモリ制限パーセンテージを設定するには、 set security idp sensor-configuration global memory-limit-percent コマンドを実行します。サポートされるパーセント値は 10 から 90 です。
drop-if-no-policy-loaded- IDP ポリシーがまだ読み込まれていない場合、起動時にトラフィックはデフォルトで IDP によって無視されます。
drop-if-no-policy-loadedオプションは、IDPポリシーがロードされる前にすべてのセッションがドロップされるように、この動作を変更します。show security idp counters flowコマンド出力の次のカウンターは、drop-if-no-policy-loadedオプションが原因でドロップされたトラフィックを分析します。Sessions dropped due to no policy 0
drop-on-failover—デフォルトでは、IDPはSRXシリーズシャーシクラスター展開のフェイルオーバーセッションを無視します。
drop-on-failoverオプションは、この動作を変更し、セカンダリノードへのフェイルオーバーが発生したときに、プライマリノードで検査中の中のセッションを自動的にドロップします。show security idp counters flowコマンド出力の次のカウンターは、drop-on-failoverオプションが原因でドロップされたフェールオーバー トラフィックを分析します。Fail-over sessions dropped 0
drop-on-limit—デフォルトでは、IDPセッション制限またはリソース制限を超えてもセッションはドロップされません。この場合、デバイスのセッション容量またはリソースが枯渇した場合にのみ、IDPやその他のセッションがドロップされます。
drop-on-limitオプションは、この動作を変更し、リソース制限を超えた場合にセッションをドロップします。show security idp counters flowコマンド出力の以下のカウンターは、drop-on-limitオプションが原因でドロップされた IDP トラフィックを分析します。SM Sessions encountered memory failures 0 SM Packets on sessions with memory failures 0 SM Sessions dropped 0 Both directions flows ignored 0 IDP Stream Sessions dropped due to memory failure 0 IDP Stream Sessions ignored due to memory failure 0 IDP Stream Sessions closed due to memory failure 0 Number of times Sessions exceed high mark 0 Number of times Sessions drop below low mark 0 Memory of Sessions exceeds high mark 0 Memory of Sessions drops below low mark 0
show security idp counters application-identificationコマンド出力の以下のカウンターは、drop-on-limitオプションが原因でドロップされたアプリケーション識別トラフィックを分析します。AI-session dropped due to malloc failure before session create 0 AI-Sessions dropped due to malloc failure after create 0 AI-Packets received on sessions marked for drop due to malloc failure 0
次のオプションは、現在の実行条件に関する情報ログメッセージをトリガーするために使用されます。設定すると、
drop-on-limitオプションが設定されているかどうかに関係なく、ログメッセージがトリガーされます。max-sessions-offset-
max-sessions-offsetオプションは、IDP セッションの最大制限のオフセットを設定します。IDP セッションの数が最大セッション制限を超えると、IDP セッションがドロップされる可能性のある条件が存在することを示す警告がログに記録されます。IDP セッション数が最大 IDP セッション制限からオフセット値を引いた値を下回ると、状態が正常に戻ったことを示すメッセージがログに記録されます。Jul 19 04:38:13 4.0.0.254 RT_IDP: IDP_SESSION_LOG_EVENT: IDP: at 1374233893, FPC 4 PIC 1 IDP total sessions pass through high mark 100000. IDP may drop new sessions. Total sessions dropped 0. Jul 19 04:38:21 4.0.0.254 RT_IDP: IDP_SESSION_LOG_EVENT: IDP: at 1374233901, FPC 4 PIC 1 IDP total sessions drop below low mark 99000. IDP working in normal mode. Total sessions dropped 24373.
min-objcache-limit-lt-
min-objcache-limit-ltオプションは、使用可能なキャッシュ メモリの下限しきい値を設定します。しきい値は、使用可能な IDP キャッシュ メモリの割合として表されます。使用可能なキャッシュメモリが下限しきい値レベルを下回ると、メモリ割り当ての失敗によりIDPセッションがドロップされる可能性がある条件が存在することを示すメッセージがログに記録されます。たとえば、次のメッセージは、IDP キャッシュ メモリが下限しきい値を下回り、いくつかのセッションがドロップされたことを示しています。Jul 19 04:07:33 4.0.0.254 RT_IDP: IDP_SESSION_LOG_EVENT: IDP: at 1374232053, FPC 4 PIC 1 IDP total available objcache(used 4253368304, limit 7247757312) drops below low mark 3986266515. IDP may drop new sessions. Total sessions dropped 1002593.
min-objcache-limit-ut-
min-objcache-limit-utオプションは、使用可能なキャッシュ メモリの上限を設定します。しきい値は、使用可能な IDP キャッシュ メモリの割合として表されます。使用可能な IDP キャッシュ メモリが上限しきい値レベルに戻ると、使用可能なキャッシュ メモリが正常に戻ったことを示すメッセージがログに記録されます。たとえば、次のメッセージは、使用可能な IDP キャッシュ メモリが上限しきい値を超えて増加し、正常に実行されていることを示しています。Jul 19 04:13:47 4.0.0.254 RT_IDP: IDP_SESSION_LOG_EVENT: IDP: at 1374232428, FPC 4 PIC 1 IDP total available objcache(used 2782950560, limit 7247757312) increases above high mark 4348654380. IDP working in normal mode. Total sessions dropped 13424632.
手記:このメッセージは、下限しきい値に達し、使用可能なメモリが上限しきい値を上回った場合にのみトリガーされます。使用可能なメモリが上限しきい値を下回ったが、下限しきい値を下回らなかった場合、メッセージはトリガーされません。
Junos OS リリース 12.3X48-D10 および Junos OS リリース 17.3R1 以降では、SRXシリーズで IDP インテリジェント バイパス機能がサポートされています。
デフォルト設定では、IDPはCPU使用率に関係なく、新規および既存のセッションの検査を試みます。これにより、パケットのドロップ、遅延、および高CPU使用率イベント中にシステム全体の不安定性が発生する可能性があります。予測不能なIDPパケット処理動作を克服するために、IDPインテリジェントバイパス機能を有効にすることができます。この機能により、システム CPU 使用率が高いレベルに達した場合(別名「Failing Open」(許可パケット)または「Failing Closed」(パケットのドロップ))に、IDP をバイパスしたり、パケットをドロップしたりする柔軟性が得られます。デフォルトでは、IDPインテリジェントバイパス機能は有効になっていません。IDPインテリジェントバイパス機能を設定するには、次のオプションが使用されます。
idp-bypass-cpu-usage-overload— デフォルトでは、IDPは使用可能なCPUの100%を消費し、すべてのセッションのパケットを誤ってドロップし始める可能性があります。システム CPU 使用率が高いしきい値に達した場合の IDP パケット処理動作を処理するには、IDP インテリジェント バイパス機能を有効にします。IDPインテリジェントバイパス機能を有効にするには、
set security idp sensor-configuration flow idp-bypass-cpu-overloadコマンドを発行します。デフォルトでは、IDPインテリジェントバイパス機能は有効になっていません。idp-bypass-cpu-threshold— CPU使用率が定義されたしきい値に達すると、IDPは新しいセッションの検査を停止します。CPU 使用率のデフォルト値は 85% です。CPU使用率がしきい値に達すると、IDPはCPU使用率が下限しきい値を下回るまで新しいセッションをバイパスし続けます。または、
drop-on-limitを設定した場合、CPU使用率が下限しきい値を下回るまでIDPが新しいセッションをドロップします。しきい値を設定するには、set security idp sensor-configuration flow idp-bypass-cpu-thresholdコマンドを発行します。しきい値は 0 から 99 の範囲で設定できます。このしきい値はパーセンテージで表されます。idp-bypass-cpu-tolerance- 許容値を設定するには、
set security idp sensor-configuration flow idp-bypass-cpu-toleranceコマンドを発行します。許容値は 1 から 99 の範囲で設定できます。デフォルトの許容値は 5 です。この許容値はパーセンテージで表されます。
CPU の上限しきい値と下限しきい値は、次の式を使用して計算できます。
CPU 上限しきい値 = CPU しきい値 + CPU 許容値。
CPU の下限しきい値 = CPU しきい値 - CPU 許容値。
時のIDPパケット処理動作の理解
システム CPU 使用率がしきい値を超えると、IDP は新しいセッションの検査を停止しますが、既存のセッションの検査は続行します。この状態では、 drop-on-limit が設定されている場合、IDP は新しいセッションのドロップを開始します。新しいセッションがドロップされたことを示すために、ログメッセージがトリガーされます。たとえば、次のメッセージは、IDP CPU使用率がしきい値を超え、IDPが新しいセッションをドロップする可能性があることを示しています。
FPC 0 PIC 1 IDP CPU usage 86 crossed threshold value 85. IDP may drop new sessions. Total sessions dropped 2
システム CPU 使用率が上限しきい値を超えると、IDP は既存セッションと新規セッションのパケットの検査を停止します。この状態では、パケットは IDP インスペクションを通過できません。 drop-on-limit が設定されている場合、IDPはすべてのセッションをドロップします。すべてのセッションがドロップされたことを示すログメッセージがトリガーされます。例えば、次のメッセージは、IDP CPU使用率が上限しきい値を超えたことを示し、IDPは既存セッションと新規セッションのパケットの検査を停止します。
FPC 0 PIC 1 IDP CPU usage 92 crossed upper threshold value 90. IDP may drop packets of existing sessions as well as new sessions. Total sessions dropped 21
システム CPU 使用率が下限しきい値を下回ると、IDP は新しいセッションの検査を開始し、通常モードに戻ります。IDPは既存の破棄されたセッションを検査しません。IDPが新しいセッションの検査を開始し、通常モードに戻ったことを示すログメッセージがトリガーされます。例えば、次のメッセージは、IDP の CPU 使用率が下限しきい値を下回り、IDP が通常モードに戻ることを示しています。
FPC 0 PIC 1 IDP CPU usage 75 dropped below lower threshold value 80. IDP working in normal mode. Total sessions dropped 25
IDP 保護モード
IDP保護モードは、デバイス内のトラフィックを効率的に検査できるように、検査パラメーターを調整します。IDP保護モードを有効にするには、[edit security idp sensor-configuration]階層レベルでsecurity-configuration protection-mode modeコマンドを発行します。
user@host#set security-configuration protection-mode mode
IDP 保護モードは 4 つあります。
すべてのIDP保護モードは、CTS(クライアントからサーバー)トラフィックを検査します。
モード |
形容 |
|---|---|
Perimeter-Full (境界フル) |
すべてのSTC(サーバからクライアント)トラフィックを検査します。 TCP エラーを最適化せずに処理します。
手記:
これはデフォルトのモードです。 |
周囲長 |
すべてのSTCトラフィックを検査します。 TCP エラーを最適化して処理します。TCPパケットの場合、SYNがウィンドウで受信され、TCPエラーフラグが設定されている場合は、TCPエラーを処理し、適切なアクションを実行します。現在のパケットをドロップし、セッション全体のインスペクションを無視します。 |
データセンターフル |
すべての STC トラフィック インスペクションを無効にします。 TCP エラーを最適化せずに処理します。
手記:
Datacenter-Fullは、SRXシリーズファイアウォールが、応答トラフィックが分析に興味がないと判断されたサーバーの保護のみを担当する状況で使用できます。Datacenter-Full は、SRXシリーズファイアウォールがクライアントの保護を担当している場合には使用しないでください。 |
データセンター |
すべての STC トラフィック インスペクションを無効にします。 TCP エラーを最適化して処理します。TCPパケットの場合、SYNがウィンドウで受信され、TCPエラーフラグが設定されている場合は、TCPエラーを処理し、適切なアクションを実行します。現在のパケットをドロップし、セッション全体のインスペクションを無視します。 データセンターの構成は、保護とパフォーマンスのバランスが取れるように最適化されています。 |
参照
例:IDP センサー設定オプションによるロギングとトラフィック分析の改善
この例では、IDP センサー設定オプションを設定することで、ログ記録とトラフィック分析を改善する方法を説明します。たとえば、IDP シグネチャ データベースを使用してアプリケーション シグネチャを作成することはできませんが、アプリケーション識別を実行するセッションの数を制限し、メモリ使用量を制限するようにセンサー設定を構成できます。さらに、これらのオプションを使用して、IDP セッション容量とメモリ制限に近づいたときに実行条件をログに記録し、これらの制限を超えた場合に IDP によってドロップされたトラフィックとアプリケーション識別を分析することができます。
必要条件
開始する前に、以下を実行します。
ネットワークインターフェイスを設定します。
シグネチャ データベースをダウンロードします。 「例:IDP 署名データベースの手動更新」を参照してください。アプリケーション シグネチャは、ジュニパーネットワークスが提供するセキュリティ パッケージの一部として利用できます。定義済みのアプリケーション署名を、セキュリティ パッケージの更新と共にダウンロードします。
概要
IDP センサーはネットワークを監視し、IDP ルールベースで定義された特定のルールに基づいて、疑わしい異常なネットワーク トラフィックを検出します。プロトコルやアプリケーションに基づいて、攻撃オブジェクトをトラフィックに適用します。アプリケーション シグネチャにより、センサーは非標準ポートで実行されている既知および未知のアプリケーションを識別し、正しい攻撃オブジェクトを適用できます。
IDP のデフォルトの動作では、次の場合、セッションが無視されます。
IDP ポリシーがデバイスで設定されていません
リソース制限 (メモリまたはアクティブ セッション) に達した
シャーシクラスタの場合、フェイルオーバーされたセッションの場合
トラフィックの可用性がセキュリティよりも重要であると考えられる場合は、上記のIDPのデフォルト動作を引き続き使用することをお勧めします。ただし、可用性よりもセキュリティが重要であると考えられる場合は、この例で提供される構成で既定の動作を変更することをお勧めします。
この例から、次のことを得ることができます。
IDP シグネチャ データベースを使用してアプリケーション シグネチャを作成することはできませんが、アプリケーション識別を実行するセッションの数を制限し、アプリケーション識別のためのメモリ使用量を制限するようにセンサー設定を構成できます。1 つの TCP または UDP セッションのアプリケーション識別用にパケットを保存するために使用できるメモリ バイトの最大量を設定できます。また、アプリケーション識別用のグローバルメモリ使用量の制限を設定することもできます。システムがセッションに対して指定されたメモリ制限に達すると、セッションのアプリケーション識別は無効になります。
デフォルトでは、IDPは、SRXシリーズシャーシクラスター導入でセカンダリノードへのフェイルオーバーが発生した場合、プライマリノードで検査中のフェイルオーバーセッションを無視します。この例では、これらのセッションが自動的にドロップされ、無視されるのではなく、それぞれのカウンターにキャプチャされるように指定します。セカンダリ ノードでフェイルオーバーが発生したときにドロップされたセッションを監視および分析できます。
デフォルトでは、IDPセッション制限またはリソース制限を超えても、セッションはドロップされません。この例では、IDP セッション制限またはリソース制限を超えた場合、セッションが削除され、ログが追加されるように指定します。最大 IDP セッション制限の最大セッション オフセット制限値を設定できます。IDP セッションの数がその値を超えると、IDP セッションがドロップされる可能性のある条件が存在することを示す警告がログに記録されます。IDP セッション数が最大 IDP セッション制限からオフセット値を引いた値を下回ると、状態が正常に戻ったことを示すメッセージがログに記録されます。
使用可能なキャッシュ メモリの下限しきい値を指定できます。使用可能なキャッシュメモリが下限しきい値レベルを下回ると、メモリ割り当ての失敗によりIDPセッションがドロップされる可能性がある条件が存在することを示すメッセージがログに記録されます。このログにより、ドロップされたセッションの数を制御し、これらのドロップされたセッションを後で分析して、処理のために考慮することができます。
同様に、使用可能なキャッシュ メモリの上限しきい値を指定できます。使用可能な IDP キャッシュ メモリが上限しきい値レベルに戻ると、使用可能なキャッシュ メモリが正常に戻ったことを示すメッセージがログに記録されます。このログにより、ドロップされたセッションの数を制御し、これらのドロップされたセッションを後で分析して、処理のために考慮することができます。
構成
プロシージャ
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。
set security idp sensor-configuration application-identification max-tcp-session-packet-memory 5000 set security idp sensor-configuration flow drop-if-no-policy-loaded set security idp sensor-configuration flow drop-on-failover set security idp sensor-configuration flow drop-on-limit set security idp sensor-configuration flow max-sessions-offset 5 set security idp sensor-configuration flow min-objcache-limit-lt 21 set security idp sensor-configuration flow min-objcache-limit-ut 56
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイドの 設定モードにおけるCLIエディターの使用を参照してください。
IDP センサー構成オプションを設定するには:
アプリケーションを識別するためのメモリ制限を指定します。
[edit security idp sensor-configuration] user@host# set application-identification max-tcp-session-packet-memory 5000
IDPポリシーが読み込まれる前にトラフィックをドロップすることを指定します。
[edit security idp sensor-configuration flow] user@host# set drop-if-no-policy-loaded
SRXシリーズシャーシクラスター導入のフェイルオーバーセッションがドロップされることを指定します。
[edit security idp sensor-configuration flow] user@host# set drop-on-failover
リソース制限を超えたときにセッションをドロップすることを指定します。
[edit security idp sensor-configuration flow] user@host# set drop-on-limit
手記:リソース制限を超えたときにセッションをドロップしたくない場合は、
delete drop-on-limitコマンドを実行します。最大IDPセッション制限のオフセット値を設定します。
[edit ssecurity idp sensor-configuration flow] user@host# set max-sessions-offset 5
使用可能なキャッシュメモリの下限しきい値を設定します。
[edit security idp sensor-configuration flow] user@host# set min-objcache-limit-lt 21
使用可能なキャッシュ メモリの上限しきい値を設定します。
[edit security idp sensor-configuration flow] user@host# set min-objcache-limit-ut 56
業績
設定モードから、 show security idp コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit]
user@host# show security idp
sensor-configuration {
application-identification {
max-tcp-session-packet-memory 5000;
}
flow {
drop-on-limit;
drop-on-failover;
drop-if-no-policy-loaded;
max-sessions-offset 5;
min-objcache-limit-lt 21;
min-objcache-limit-ut 56;
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
IDP センサー設定の確認
目的
IDP センサーの構成設定を確認します。
アクション
動作モードから、 show security idp sensor-configuration コマンドを入力します。
user@host> show security idp sensor-configuration
application-identification {
max-tcp-session-packet-memory 5000;
}
flow {
drop-on-limit;
drop-on-failover;
drop-if-no-policy-loaded;
max-sessions-offset 5;
min-objcache-limit-lt 21;
min-objcache-limit-ut 56;
}
}
意味
show security idp sensor-configuration コマンドは、特定の値で設定されているすべてのセンサー構成オプションを表示します。
IDP カウンターの検証
目的
IDPカウンターを確認します。
アクション
動作モードから、 show security idp counters flow コマンドを入力します。
サンプル出力
コマンド名
IDP counters: IDP counter type Value Fast-path packets 0 Slow-path packets 0 Session construction failed 0 Session limit reached 0 Session inspection depth reached 0 Memory limit reached 0 Not a new session 0 Invalid index at ageout 0 Packet logging 0 Policy cache hits 0 Policy cache misses 0 Policy cache entries 0 Maximum flow hash collisions 0 Flow hash collisions 0 Gates added 0 Gate matches 0 Sessions deleted 0 Sessions aged-out 0 Sessions in-use while aged-out 0 TCP flows marked dead on RST/FIN 0 Policy init failed 0 Number of times Sessions exceed high mark 0 Number of times Sessions drop below low mark 0 Memory of Sessions exceeds high mark 0 Memory of Sessions drops below low mark 0 SM Sessions encountered memory failures 0 SM Packets on sessions with memory failures 0 IDP session gate creation requests 0 IDP session gate creation acknowledgements 0 IDP session gate hits 0 IDP session gate timeouts 0 Number of times Sessions crossed the CPU threshold value that is set 0 Number of times Sessions crossed the CPU upper threshold 0 Sessions constructed 0 SM Sessions ignored 0 SM Sessions dropped 0 SM Sessions interested 0 SM Sessions not interested 749 SM Sessions interest error 0 Sessions destructed 0 SM Session Create 0 SM Packet Process 0 SM ftp data session ignored by idp 0 SM Session close 0 SM Client-to-server packets 0 SM Server-to-client packets 0 SM Client-to-server L7 bytes 0 SM Server-to-client L7 bytes 0 Client-to-server flows ignored 0 Server-to-client flows ignored 0 Both directions flows ignored 0 Fail-over sessions dropped 0 Sessions dropped due to no policy 0 IDP Stream Sessions dropped due to memory failure 0 IDP Stream Sessions ignored due to memory failure 0 IDP Stream Sessions closed due to memory failure 0 IDP Stream Sessions accepted 0 IDP Stream Sessions constructed 0 IDP Stream Sessions destructed 0 IDP Stream Move Data 0 IDP Stream Sessions ignored on JSF SSL Event 0 IDP Stream Sessions not processed for no matching rules 0 IDP Stream stbuf dropped 0 IDP Stream stbuf reinjected 0 Busy pkts from stream plugin 0 Busy pkts from pkt plugin 0 bad kpp 0 Lsys policy id lookup failed sessions 0 Busy packets 0 Busy packet Errors 0 Dropped queued packets (async mode) 0 Dropped queued packets failed(async mode) 0 Reinjected packets (async mode) 0 Reinjected packets failed(async mode) 0 AI saved processed packet 0 AI-session dropped due to malloc failure before session create 0 AI-Sessions dropped due to malloc failure after create 0 AI-Packets received on sessions marked for drop due to malloc failure 0 busy packet count incremented 0 busy packet count decremented 0 session destructed in pme 0 session destruct set in pme 0 kq op hold 0 kq op drop 0 kq op route 0 kq op continue 0 kq op error 0 kq op stop 0 PME wait not set 0 PME wait set 0 PME KQ run not called 0
意味
show security idp counters flow コマンドは、ドロップされたフェイルオーバー トラフィック、ドロップされた IDP トラフィック、およびドロップされたアプリケーション識別トラフィックの分析に使用されるすべてのカウンターを表示します。
IDPインテリジェントインスペクション
SRXシリーズファイアウォールでは、設定されたCPUとメモリのしきい値がリソース制限を超える場合、IDPインテリジェントインスペクションはデバイスが過負荷状態から回復するのに役立ちます。Junos OS リリース 19.2R1 以降、IDP インテリジェント インスペクションを有効にして動的に調整し、フル IDP インスペクションの負荷を軽減できます。IDPは、リソース制限が設定されたCPUおよびメモリしきい値に達したときにIDPインスペクションを調整することにより、セッションを拒否または無視しません。
Junos OS リリース 19.2R1 より前は、デバイスが設定された CPU とメモリのしきい値制限を超えると、IDP は新しいセッションを拒否または無視します。
IDP インテリジェント インスペクションとバイパス機能を有効にするには、 set security idp sensor-configuration flow intel-inspect-enable コマンドを使用します。
IDP インスペクション調整の利点
-
重要なIDPインスペクションを重視
-
優先度の低いIDPインスペクションを回避
-
高いシステムリソース使用量を削減
IDPインテリジェントインスペクションを調整するためのセキュリティメカニズム
-
動的ポリシー:Critical、Major、Minor は、シグネチャの 3 つの重要な重大度です。ポリシーを動的に調整して、必要な重大度レベルのシグニチャのみを含めることができます。重大度のクリティカルなシグネチャのみを含めるには、
set security idp sensor-configuration flow intel-inspect-signature-severity criticalコマンドを使用します。重大度が重大およびメジャーのシグネチャを含めるには、コマンドset security idp sensor-configuration flow intel-inspect-signature-severity majorを使用します。重大度、メジャー、マイナーの両方の重大度のシグネチャを含めるには、コマンドset security idp sensor-configuration flow intel-inspect-signature-severity minorを使用します。既定では、重大度が「重大」の攻撃が含まれます。 -
コンテンツの圧縮解除:コンテンツの圧縮解除は、intel inspect が有効で、しきい値に達した場合にのみ回避できます。プロトコル デコーダーは、コンテンツが圧縮状態の場合、プロトコル コンテンツを解凍します。
set security idp sensor-configuration flow intel-inspect-disable-content-decompressコマンドを設定することで、プロトコルコンテンツの解凍を回避できます。 -
選択的プロトコル—デフォルトでは、IDPはすべての重要なプロトコルを検査します。IDP 処理の重要なプロトコルのリストを指定できます。プロトコルのリストを指定するには、
set security idp sensor-configuration flow intel-inspect-protocols protocolコマンドを使用します。IDPは重要でないプロトコルを検査しません。 -
検査の深さ—デフォルトでは、IDP はセッションのすべてのバイトを検査します。インスペクションの深さを指定することで、IDP はインスペクションを指定されたバイト数のみに制限します。検査深さを有効にするには、コマンド
set security idp sensor-configuration flow intel-inspect-session-bytes-depth valueを使用します。デフォルトでは、IDPインテリジェントインスペクションはインスペクション深度を無効にし、すべてのバイトがインスペクションされることを意味します。
CPU使用率
IDP インスペクションのしきい値制限を設定できます。CPU使用率が設定されたしきい値に達すると、IDPインテリジェントインスペクションがアクティブになります。
しきい値制限を設定するには、次のコマンドを使用します。
-
set security idp sensor-configuration flow intel-inspect-cpu-usg-threshold value -
set security idp sensor-configuration flow intel-inspect-cpu-usg-tolerance value
について
CPU 使用率は次のように動作します。
-
IDP は、CPU 使用率が設定されたインテリジェント検査しきい値に達すると、新しいセッションでの完全な IDP 処理を停止します。IDP は、調整されたセキュリティ インスペクションのみを処理します。この動作により、syslog メッセージがトリガーされ、IDP インテリジェント インスペクションがアクティブになります。
-
CPU 使用率がインテリジェント インスペクションしきい値を超え、IDP バイパスしきい値とインテリジェント インスペクション下限しきい値の間にある場合、IDP はインテリジェント インスペクション モードで機能し続けます。
-
IDP は、新しいセッションで完全な IDP インスペクションを開始し、CPU 使用率がインテリジェント インスペクションの下限しきい値を下回ると、syslog をトリガーして IDP インテリジェント インスペクションを非アクティブ化します。
-
IDPインテリジェントバイパス機能は、CPU使用率がIDPバイパスしきい値に達するとアクティブになります。
メモリ使用率
IDP インスペクションのメモリ制限を設定できます。メモリ使用量が設定された制限に達すると、IDP インテリジェント インスペクションがアクティブになります。
使用可能なメモリ制限を設定するには、次のコマンドを使用します。
-
set security idp sensor-configuration flow intel-inspect-free-mem-threshold value -
set security idp sensor-configuration flow intel-inspect-mem-tolerance value
について
メモリ使用率は、次のように動作します。
-
IDP は、メモリ使用率がインテリジェント インスペクション使用可能なメモリの下限しきい値に達すると、IDP インテリジェント インスペクション モードをアクティブにします。
-
IDP は、メモリ使用率がインテリジェント検査メモリ上限しきい値とメモリ下限しきい値の間にある場合、インテリジェント検査モードで機能し続けます。
-
IDP は、メモリ使用率が使用可能なメモリの下限しきい値に達すると、IDP バイパス機能をアクティブにします。
-
IDP は、メモリ使用率が低下し、インテリジェント インスペクション使用可能メモリの上限しきい値を超えると、通常モードにアクティブになります。
制約
IDP インテリジェント インスペクションは、プライマリ論理システム レベルでのみサポートされます。
例:IDP インテリジェント インスペクションの設定
IDP インテリジェント インスペクションは、デバイスが設定された CPU とメモリのしきい値制限を超えた場合に、デバイスが過負荷状態から回復するのに役立ちます。
この例では、IDP インテリジェント インスペクションを有効にし、IDP インスペクションを動的に調整して、完全な IDP インスペクションの負荷を軽減する方法を示します。
必要条件
IDPインテリジェントインスペクションおよびIDPバイパス機能がいつどのように動作するかを理解するには、 IDPセンサー設定 をお読みください。
概要
Junos OS リリース 19.2R1 以前は、デバイスが設定された CPU とメモリのしきい値に達すると、IDP は新しいセッションを無視または拒否します。また、デバイスが上限しきい値を超えると、IDPは既存および新規セッションのパケットを破棄します。
IDPインスペクションを調整することで、デバイスのCPUとメモリの使用率が徐々に増加し、重要なインスペクションが重要になります。この例では、IDP インテリジェント インスペクションを有効にした後に IDP インスペクションを調整する方法を示します。
構成
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。
set security idp sensor-configuration flow intel-inspect-enable set security idp sensor-configuration flow intel-inspect-cpu-usg-threshold 60 set security idp sensor-configuration flow intel-inspect-cpu-usg-tolerance 15 set security idp sensor-configuration flow intel-inspect-mem-tolerance 5 set security idp sensor-configuration flow intel-inspect-free-mem-threshold 30 set security idp sensor-configuration flow intel-inspect-signature-severity critical set security idp sensor-configuration flow intel-inspect-disable-content-decompress set security idp sensor-configuration flow intel-inspect-session-bytes-depth 2 set security idp sensor-configuration flow intel-inspect-protocols HTTP set security idp sensor-configuration flow intel-inspect-protocols FTP
プロシージャ
手順
IDPインテリジェントインスペクションを設定するには:
IDP インテリジェント検査を有効にします。
[edit security idp sensor-configuration] user@host# set flow intel-inspect-enable
CPU しきい値制限を構成します。
[edit security idp sensor-configuration] user@host# set flow intel-inspect-cpu-usg-threshold 60
CPU 許容値を構成します。
[edit security idp sensor-configuration] user@host# set flow intel-inspect-cpu-usg-tolerance 15
メモリ許容値を設定します。
[edit security idp sensor-configuration] user@host# set security idp sensor-configuration flow intel-inspect-mem-tolerance 5
メモリ制限を構成します。
[edit security idp sensor-configuration] user@host# set security idp sensor-configuration flow intel-inspect-memory-limit-lt 30
重大度レベルを指定します。
[edit security idp sensor-configuration] user@host# set flow intel-inspect-signature-severity critical
コンテンツの解凍を無効にします。
[edit security idp sensor-configuration] user@host# set flow intel-inspect-disable-content-decompress
パケット インスペクションの深さを設定します。
[edit security idp sensor-configuration] user@host# set flow intel-inspect-session-bytes-depth 2
インスペクションのプロトコルを設定します。
[edit security idp sensor-configuration] user@host# set flow intel-inspect-protocols HTTP user@host# set flow intel-inspect-protocols FTP
業績
設定モードから、 show security idp sensor-configuration コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
[edit]
user@host# show security idp sensor-configuration
flow {
intel-inspect-enable;
intel-inspect-cpu-usg-threshold 60;
intel-inspect-cpu-usg-tolerance 15;
intel-inspect-free-mem-threshold 30;
intel-inspect-mem-tolerance 5;
intel-inspect-disable-content-decompress;
intel-inspect-session-bytes-depth 2;
intel-inspect-protocols [ HTTP FTP ];
intel-inspect-signature-severity critical;
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
すべてのIDPフローカウンター値のステータスの確認
目的
IDPインテリジェントインスペクションがカウンター値をキャプチャすることを確認します。
アクション
user@host> show security idp counters flow IDP counters: IDP counter type Value Fast-path packets 580 Slow-path packets 61 Session construction failed 0 Session limit reached 0 Session inspection depth reached 0 Memory limit reached 0 Not a new session 0 Invalid index at ageout 0 Packet logging 0 Policy cache hits 58 Policy cache misses 3 Maximum flow hash collisions 0 Flow hash collisions 0 Gates added 0 Gate matches 0 Sessions deleted 62 Sessions aged-out 0 Sessions in-use while aged-out 0 TCP flows marked dead on RST/FIN 47 Policy init failed 0 Policy reinit failed 0 Number of times Sessions exceed high mark 0 Number of times Sessions drop below low mark 0 Memory of Sessions exceeds high mark 0 Memory of Sessions drops below low mark 0 SM Sessions encountered memory failures 0 SM Packets on sessions with memory failures 0 Number of times Sessions crossed the CPU threshold value that is set 0 Number of times Sessions crossed the CPU upper threshold 0 Sessions constructed 61 SM Sessions ignored 3 SM Sessions dropped 0 SM Sessions interested 61 SM Sessions not interested 101612 SM Sessions interest error 0 Sessions destructed 62 SM Session Create 58 SM Packet Process 580 SM ftp data session ignored by idp 0 SM Session close 59 SM Client-to-server packets 312 SM Server-to-client packets 268 SM Client-to-server L7 bytes 8468 SM Server-to-client L7 bytes 19952 Client-to-server flows ignored 0 Server-to-client flows ignored 0 Server-to-client flows tcp optimized 0 Client-to-server flows tcp optimized 0 Both directions flows ignored 47 Fail-over sessions dropped 0 Sessions dropped due to no policy 0 IDP Stream Sessions dropped due to memory failure 0 IDP Stream Sessions ignored due to memory failure 0 IDP Stream Sessions closed due to memory failure 0 IDP Stream Sessions accepted 0 IDP Stream Sessions constructed 0 IDP Stream Sessions destructed 0 IDP Stream Move Data 0 IDP Stream Sessions ignored on JSF SSL Event 0 IDP Stream Sessions not processed for no matching rules 0 IDP Stream stbuf dropped 0 IDP Stream stbuf reinjected 0 Busy pkts from stream plugin 0 Busy pkts from pkt plugin 0 bad kpp 0 Lsys policy id lookup failed sessions 0 NGAppID Events with no L7 App 0 NGAppID Events with no active-policy 0 NGAppID Detector failed from event handler 0 NGAppID Detector failed from API 0 Busy packets 0 Busy packet Errors 0 Dropped queued packets (async mode) 0 Dropped queued packets failed(async mode) 0 Reinjected packets (async mode) 0 Reinjected packets failed(async mode) 0 AI saved processed packet 0 busy packet count incremented 0 busy packet count decremented 0 session destructed in pme 0 session destruct set in pme 0 kq op hold 0 kq op drop 11 kq op route 47 kq op continue 522 kq op error 0 kq op stop 0 PME wait not set 0 PME wait set 0 PME KQ run not called 0 IDP sessions ignored for content decompression in intel inspect mode 47 IDP sessions ignored for bytes depth limit in intel inspect mode 0 IDP sessions ignored for protocol decoding in intel inspect mode 0 IDP sessions detected CPU usage crossed intel inspect CPU threshold 43 IDP sessions detected mem drop below intel inspect low mem threshold 0
意味
show コマンドは、IDP インテリジェント インスペクションのカウンターを表示します。
IDP の現在のポリシーのステータスを確認する
目的
IDPインテリジェントインスペクションが現在のポリシーをキャプチャしていることを確認します。
アクション
user@host>show security idp status Intelligent Inspection State Details: State: Active State of IDP: Default, Up since: 2018-07-03 14:16:03 PDT (132w4d 09:19 ago) Packets/second: 6 Peak: 12 @ 2019-01-17 22:25:26 PST KBits/second : 249 Peak: 490 @ 2019-01-17 22:25:26 PST Latency (microseconds): [min: 0] [max: 0] [avg: 0] Packet Statistics: [ICMP: 0] [TCP: 127] [UDP: 7] [Other: 0] Flow Statistics: ICMP: [Current: 0] [Max: 6 @ 2019-01-16 20:36:17 PST] TCP: [Current: 4] [Max: 4 @ 2019-01-17 22:34:33 PST] UDP: [Current: 2] [Max: 6 @ 2019-01-17 20:03:55 PST] Other: [Current: 0] [Max: 0 @ 2016-07-03 14:16:03 PDT] Session Statistics: [ICMP: 0] [TCP: 2] [UDP: 1] [Other: 0] Number of SSL Sessions : 0 Policy Name : idp-policy-unified Running Detector Version : 12.6.130180509
意味
コマンドは show security idp status 、IDP の現在のポリシーを表示します。IDP インテリジェント インスペクションを有効にしていても、運用コマンドを実行すると、IDP インテリジェント インスペクションの状態 show security idp status 非アクティブになることがあります。その理由は、構成された CPU とメモリのしきい値がリソース制限を超えていないためです。CPU 使用率が設定されたしきい値に達すると、IDP インテリジェント インスペクションの状態がアクティブになります。
プロトコル固有のインテリジェント オフロード
IDP の既存のインテリジェント オフロード機能は、検査されたバイトの制限に達したときにセッションをオフロードします。これに加えて、インスペクション制限は詳細ではなく、プロトコルやサービスに関係なくすべてのセッションに適用されます。
プロトコルごとにIDPインテリジェントオフロードを有効または無効にする機能により、管理者はオフロード機能を活用するプロトコルを柔軟に決定できます。管理者は、プロトコルごとのオフロード制限を設定することもできます。
侵入検出および防止(IDP)システムのプロトコル固有のインテリジェントオフロード設定機能を使用すると、さまざまなプロトコルの検査深さ制限を調整して、パフォーマンスとセキュリティの両方を向上させることができます。SSHやFTPなどのプロトコルに個別のオフロード制限を設定することで、リソースの使用を最適化し、より効率的なセッションインスペクションを確実に行うことができます。
この機能により、明確なCLIコマンドによる設定と管理が簡素化され、管理者は特定のネットワーク要件に基づいてオフロード設定を簡単に実装および調整できます。
プロトコル固有のオフロード制限の設定
新しいオプションを使用して、プロトコルを指定し、オフロード制限を設定することで、プロトコルごとのオフロード制限を設定できます。
[編集]
user@host# set security idp sensor-configuration global intelligent-offload-tunable ?
オフロード制限の範囲は、すべてのプロトコルで同じ、つまり 0 から 4294967295 バイトです。オフロード制限範囲はすべてのプロトコルで同じで、範囲はバイト単位で 0 から 4294967295 で、0 は無制限のインスペクションを意味します。
制限は KB、MB、GB で設定できます。その場合は、制限値の末尾にそれぞれ k、m、g を追加する必要があります。
コマンドは set security idp sensor-configuration global intelligent-offload disable 、インテリジェント オフロードをグローバルに無効にします。set security idp sensor-configuration global intelligent-offload disable と、プロトコルごとのカスタム オフロード制限は設定できません。
-
プロトコルにオフロード制限が設定されている場合、そのオフロード制限は、そのプロトコルに対して最も優先順位が高くなります。たとえば、制限がプロトコル MYSQL に対して設定されている場合、セッションオフロード制限は detector-capabilities.xml ファイルからではなく設定から取得されます。
-
プロトコルにオフロード制限が設定されていないが、detector-capablities.xmlファイルに制限が存在する場合は、ファイルからの制限がそのプロトコルに適用されます。
-
プロトコルのオフロード制限がdetector-capabilities.xmlファイルに存在しない場合は、デフォルトの制限である 256 KB が適用されます (インテリジェント オフロードが保守モードの場合、制限は 1 MB です)。インテリジェント オフロードが使用不可の場合、オフロードは行われません。
set security idp sensor-configuration global intelligent-offload disable オプションを使用すると、オフロード機能は無効になり、セッションが閉じられるまでデータ検査全体で機能します。
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。