IDPアプリケーションの識別
アプリケーション識別(AppID)は、事前定義されたアプリケーションシグネチャを利用して、非標準ポートで動作するアプリケーションを検出し、脅威の検出とポリシーの適用を強化します。これらのシグネチャは、ジュニパーのセキュリティパッケージの更新に含まれています。AppIDは、IDPサービスがアクティブになると自動的に有効になります。
IDPシステムは、事前に定義されたシグネチャを使用してアプリケーションを識別し、検出とポリシーの適用を可能にします。これにより、アプリケーションの正確な識別が保証され、セキュリティが強化されます。AppID は IDP サービスをオンにした状態で自動的に機能し、シームレスな検出と適用を保証します。
機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。追加のプラットフォームがサポートされる場合があります。
プラットフォームに関連する注意事項については、「 プラットフォーム固有の IDP アプリケーション識別動作」 セクションを参照してください。
アプリケーション識別を理解する
ジュニパーネットワークスは、非標準ポートで実行されている伝送制御プロトコル(TCP)およびユーザーデータグラムプロトコル(UDP)アプリケーションを検出する、定義済みのアプリケーションシグネチャを提供します。これらのアプリケーションを特定することで、侵入検出および防止(IDP)は、非標準ポートで実行されているアプリケーションに適切な攻撃オブジェクトを適用できます。また、デコーダーを使用しないアプリケーションの攻撃シグネチャの範囲を絞り込むことで、パフォーマンスも向上します。
IDPセンサーはネットワークを監視し、IDPルールベースで定義された特定のルールに基づいて、疑わしいネットワークトラフィックや異常なネットワークトラフィックを検出します。プロトコルまたはアプリケーションに基づいて、攻撃オブジェクトをトラフィックに適用します。アプリケーションシグネチャにより、センサーは非標準ポートで実行されている既知および未知のアプリケーションを識別し、正しい攻撃オブジェクトを適用できます。
アプリケーションシグネチャは、ジュニパーネットワークスが提供するセキュリティパッケージの一部として利用できます。事前定義されたアプリケーションシグネチャをセキュリティパッケージの更新とともにダウンロードします。アプリケーションシグネチャを作成することはできません。セキュリティパッケージのダウンロードについては、 IDPシグネチャデータベースを手動で更新するを参照してください。
AppID は、IDP、AppFW、AppTrack、AppQoS などのリクエスト元サービスが呼び出すように設定されている場合にのみ、デフォルトで有効になります。AppIDは、ポリシーや設定が存在しない場合、自動的にトリガーされません。ただし、ポリシールールでアプリケーションを指定すると、IDPはアプリケーション識別結果ではなく、指定されたアプリケーションを使用します。ポリシールールでアプリケーションを指定する手順については、 例:IDPアプリケーションとサービスの設定を参照してください。
アプリケーション識別はデフォルトで有効になっています。CLIでアプリケーション識別を無効にするには、 Junos OSアプリケーション識別の無効化および再有効化を参照してください。
すべての支社/拠点デバイスで、IDP は非パケット コンテキストのヘッダー チェックを許可しません。
アクティブ/アクティブとアクティブ/パッシブの両方のシャーシクラスターに導入されたIDPには、以下の制限があります。
フェイルオーバーまたはフェイルバックするセッションの検査なし。
IPアクションテーブルは、ノード間で同期されません。
セカンダリノード上のルーティングエンジンは、パケット転送エンジンを介してのみ到達可能なネットワークに到達できない場合があります。
SSLセッションIDキャッシュは、ノード間で同期されません。SSLセッションがセッションIDを再利用し、セッションIDがキャッシュされているノード以外のノードで処理された場合、SSLセッションは復号化できず、IDP検査のためにバイパスされます。
アクティブ/アクティブシャーシクラスターのIDPには制限があります。時間束縛スコープの送信元トラフィックの場合、複数の宛先を持つ送信元からの攻撃は検出されない場合があります。ノードに分散されたアクティブなセッションでは、時間バインディングカウントがローカルノードのみのビューを持つため、この問題が発生します。この種の攻撃を検出するには、現在サポートされていない時間バインディング状態のRTO同期が必要です。
関連項目
攻撃オブジェクト別のIDPサービスとアプリケーションバインディング
攻撃オブジェクトは、さまざまな方法でアプリケーションやサービスにバインドできます。
攻撃オブジェクトは、暗黙的にアプリケーションにバインドでき、サービス定義を持ちません。これらは、コンテキストまたは異常の名前に基づいてアプリケーションにバインドされます。
攻撃オブジェクトは、サービス名を使用してサービスにバインドできます。
攻撃オブジェクトは、TCPまたはUDPポート、ICMPタイプまたはコード、またはRPCプログラム番号を使用してサービスにバインドできます。
指定されたアプリケーションまたはサービスバインディングが適用されるかどうかは、完全な攻撃オブジェクト定義とIDPポリシー設定によって異なります。
攻撃オブジェクト定義でアプリケーションを指定した場合、サービスフィールドは無視されます。攻撃オブジェクトは、指定されたサービスではなくアプリケーションにバインドします。ただし、攻撃オブジェクト定義でサービスを指定し、アプリケーションを指定しない場合、攻撃オブジェクトはサービスにバインドされます。 表1は 、アプリケーションおよびサービスバインディングの動作とアプリケーション識別をまとめたものです。
表1:アプリケーション識別付きのアプリケーションとサービス 攻撃オブジェクトフィールド
バインディング動作
アプリケーション識別
:application (http)
:service (smtp)
アプリケーション HTTPにバインドします。
サービスフィールドは無視されます。
有効
:service (http)
アプリケーション HTTPにバインドします。
有効
:service (tcp/80)
TCPポート80にバインドします。
無効化済み
例えば、以下の攻撃オブジェクト定義では、攻撃オブジェクトがアプリケーション HTTPにバインドされ、アプリケーション識別が有効になり、サービスフィールド SMTP が無視されます。
: (“http-test” :application (“http”) :service (“smtp”) :rectype (signature) :signature ( :pattern (“.*TERM=xterm; export TERM=xterm; exec bash – i\x0a\x.*”) :type (stream) ) :type (attack-ip) )
攻撃オブジェクトがサービス固有のコンテキスト( http-urlなど)と異常( tftp_file_name_too_longなど)に基づいている場合、アプリケーションフィールドとサービスフィールドの両方が無視されます。サービスコンテキストと異常はアプリケーションを意味します。そのため、攻撃オブジェクトでこれらを指定すると、アプリケーション識別が適用されます。
ポリシーで特定のアプリケーションを設定すると、攻撃オブジェクトで指定されたアプリケーションバインディングが上書きされます。 表2は 、IDPポリシーにおけるアプリケーション設定とのバインディングをまとめたものです。
表2:IDPポリシーでのアプリケーション設定 ポリシー内のアプリケーションタイプ
バインディング動作
アプリケーション識別
Default
攻撃オブジェクト定義で設定されたアプリケーションまたはサービスにバインドします。
アプリケーションベースの攻撃オブジェクトに対して有効
サービスベースの攻撃オブジェクトに対して無効
Specific application
攻撃オブジェクト定義で指定されたアプリケーションにバインドします。
無効化済み
Any
すべてのアプリケーションにバインドします。
無効化済み
IDPポリシーでアプリケーションを指定する場合、攻撃オブジェクト定義とIDPポリシーで設定されたアプリケーションタイプが一致する必要があります。ポリシールールは、2つの異なるアプリケーション(攻撃オブジェクトとポリシー)を指定することはできません。
異なるアプリケーションに基づく攻撃がIDP設定で指定され、コミットに失敗すると、アプリケーションを any できません。代わりにデフォルトを使用してください。
アプリケーションのIDSルールを設定している間、オプション any は非推奨です。
しかし、アプリケーションが any され、カスタム攻撃グループがIDP設定で使用されている場合は、コミットは正常に行われます。そのため、コミットチェックではそのようなケースは検出されません。
関連項目
ネストされたアプリケーションのIDPアプリケーション識別
アプリケーションプロトコルカプセル化の使用が拡大するにつれ、同じレイヤー7プロトコル上で実行されている複数の異なるアプリケーションの識別をサポートする必要性が生じています。例えば、FacebookやYahoo Messengerなどのアプリケーションは、両方ともHTTPを介して実行できますが、同じレイヤー7プロトコル上で実行される2つの異なるアプリケーションとして識別する必要があります。これを行うために、現在のアプリケーション識別層は、レイヤー7アプリケーションとレイヤー7プロトコルの2つの層に分割されます。
レイヤー7アプリケーションを検出するために事前定義されたアプリケーションシグネチャが作成されていますが、既存のレイヤー7プロトコルシグネチャは同じように機能します。これらの事前定義されたアプリケーションシグネチャは、攻撃オブジェクトで使用できます。
関連項目
例:アプリケーション識別用の IDP ポリシーの設定
この例では、アプリケーション識別用の IDP ポリシーを設定する方法を示します。
要件
始める前に:
ネットワークインターフェイスを設定します。
アプリケーションパッケージをダウンロードします。
概要
この例では、IDPポリシーABCを作成し、IPSルールベースでルール123を定義します。IDPポリシールールのアプリケーションタイプとしてデフォルトを指定します。デフォルトではなくアプリケーションを指定すると、このルールのAppID機能は無効になり、IDPはトラフィックを指定したアプリケーションタイプと一致させます。現時点では、アプリケーション識別で定義されているアプリケーションを直接参照することはできません。
設定
手順
ステップバイステップの手順
アプリケーション識別用のIDPポリシーを設定するには:
IDPポリシーを作成します。
[edit] user@host# set security idp idp-policy ABC
アプリケーションタイプを指定します。
[edit] user@host# set security idp idp-policy ABC rulebase-ips rule 123 match application default
一致条件が満たされた場合に実行するアクションを指定します。
[edit] user@host# set security idp idp-policy ABC rulebase-ips rule 123 then action no-action
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正常に機能していることを確認するには、 show security idp コマンドを入力します。
IDPアプリケーション識別用のメモリ制限設定
IDPシグネチャデータベースを使用してアプリケーションシグネチャを作成することはできませんが、センサー設定を構成して、AppIDを実行するセッションの数を制限したり、AppIDのメモリ使用量を制限したりできます。
セッションのメモリ制限—1つのTCPまたはUDPセッションでAppIDのパケットを保存するために使用できるメモリバイトの最大量を設定できます。また、アプリケーション識別のためのグローバルメモリ使用量の制限を設定することもできます。システムがセッションに指定されたメモリ制限に達すると、セッションのAppIDが無効になります。ただし、IDPは引き続きパターンに一致します。一致したアプリケーションは、次のセッションで使用できるようにキャッシュに保存されます。これにより、大規模なクライアントからサーバーへのパケットを意図的に送信して、AppIDをバイパスしようとする攻撃者からシステムを保護します。
-
セッション数—AppIDを同時に実行できるセッションの最大数を設定できます。システムが指定されたセッション数に達すると、AppIDは無効になります。セッション数を制限することで、サービス拒否(DOS)攻撃を防ぐことができます。DOS攻撃は、システムに割り当てられたリソースが多すぎると圧倒され、使い果たされた場合に発生します。
機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。追加のプラットフォームがサポートされる場合があります。
中央ポイント(CP)セッション番号の容量の詳細については、「 補足プラットフォーム情報 」セクションを参照してください。
例:IDPアプリケーション識別サービスのメモリ制限を設定する
この例では、IDP AppIDサービスのメモリ制限を設定する方法を示しています。
要件
始める前に:
ネットワークインターフェイスを設定します。
シグネチャデータベースをダウンロードします。 IDPシグネチャデータベースの手動更新を参照してください。
概要
この例では、1つのTCPセッションでAppIDのパケットを保存するために使用できるメモリの最大量として、5000メモリバイトを設定します。
設定
手順
ステップバイステップの手順
IDP AppIDサービスのメモリとセッション制限を設定するには:
アプリケーション識別用のメモリ制限を指定します。
[edit] user@host# set security idp sensor-configuration application-identification max-tcp-session-packet-memory 5000
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正常に機能していることを確認するには、 show security idp memory コマンドを入力します。
アプリケーション識別プロセス用の IDP カウンターの検証
目的
AppIDプロセスのIDPカウンターを確認します。
アクション
CLIから show security idp counters application-identification コマンドを入力します。
出力例
user@host> show security idp counters application-identification IDP counters: IDP counter type Value AI cache hits 2682 AI cache misses 3804 AI matches 74 AI no-matches 27 AI-enabled sessions 3804 AI-disabled sessions 2834 AI-disabled sessions due to cache hit 2682 AI-disabled sessions due to configuration 0 AI-disabled sessions due to protocol remapping 0 AI-disabled sessions due to non-TCP/UDP flows 118 AI-disabled sessions due to no AI signatures 0 AI-disabled sessions due to session limit 0 AI-disabled sessions due to session packet memory limit 34 AI-disabled sessions due to global packet memory limit 0
意味
出力は、AppIDカウンターの概要を示しています。次の情報を確認します。
| カウンタ | 説明 |
|---|---|
| AIキャッシュヒット数 |
アプリケーション識別キャッシュのヒット数を表示します。 |
| AIキャッシュの欠落 | アプリケーションは一致するが、アプリケーション識別キャッシュエントリが追加されていない回数を表示します。 |
| AIマッチング | アプリケーションが一致し、アプリケーション識別キャッシュエントリが追加された回数を表示します。 |
| AIの一致なし | アプリケーションが一致しない場合の回数を表示します。 |
| AI対応セッション | アプリケーション識別が有効になっているセッション数を表示します。 |
| AI無効セッション | アプリケーション識別が無効になっているセッション数を表示します。 |
| キャッシュヒットによるAI無効セッション | キャッシュエントリが一致した後にアプリケーション識別が無効になったセッション数を表示します。このセッションでは、アプリケーション識別プロセスは中止されます。 |
| 設定によりセッションがAI無効 | センサー設定が原因でアプリケーション識別が無効になったセッション数を表示します。 |
| プロトコルの再マッピングによりセッションがAI無効化 | IDPポリシールール定義で特定のサービスを設定したためにアプリケーション識別が無効になっているセッション数を表示します。 |
| 非TCP/UDPフローによるAI無効セッション | セッションがTCPまたはUDPセッションではないためにアプリケーション識別が無効になっているセッション数を表示します。 |
| AIシグネチャがないためセッションが無効化 AI | アプリケーション識別シグネチャに一致するものが見つからないため、アプリケーション識別が無効になったセッションの数を表示します。 |
| セッション制限のためAI無効 | セッションが設定された上限に達したためにアプリケーション識別が無効になっているセッション数を表示します。アプリケーションの識別は、今後のセッションでも無効になります。 |
| セッションパケットメモリ制限のためAI無効 | セッションがTCPまたはUDPフローの最大メモリ制限に達したために、アプリケーション識別が無効になっているセッションを表示します。アプリケーションの識別は、今後のセッションでも無効になります。 |
| グローバルパケットメモリ制限のためAI無効 | 最大メモリ制限に達したためにアプリケーション識別が無効になっているセッションを表示します。アプリケーションの識別は、今後のセッションでも無効になります。 |
関連項目
補足プラットフォーム情報
機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。追加のプラットフォームがサポートされる場合があります。
プラットフォームの追加情報を確認するには、以下の表を使用してください。
| SRXシリーズファイアウォール | 最大セッション数 | セントラルポイント(CP) |
|---|---|---|
| SRX5600 | 900万 225万 |
フルCP コンボモードCP |
| SRX5800 | 1,000万 225万 |
フルCP コンボモードCP |
プラットフォーム固有の IDPアプリケーション識別 動作
機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。
お使いのプラットフォームに固有の動作を確認するには、以下の表を使用してください。
| プラットフォーム |
違い |
|---|---|
| SRXシリーズファイアウォール |
|