このページの内容
SRXシリーズファイアウォールでのアプリケーション識別
アプリケーション識別により、ネットワーク上のアプリケーションを確認でき、その仕組み、動作特性、相対リスクを知ることができます。App IDは、いくつかの異なる識別メカニズムを使用して、使用されているポート、プロトコル、その他の回避戦術に関係なく、ネットワーク上のアプリケーションを検出します。詳細については、次のトピックを参照してください。
アプリケーション識別技術を理解する
これまで、ファイアウォールはポリシーを適用する方法としてIPアドレスとポート番号を使用してきました。この戦略は、ユーザーが固定された場所からネットワークに接続し、特定のポート番号を使用して特定のリソースにアクセスするという前提に基づいています。
今日、無線ネットワーキングとモバイルデバイスは、異なる戦略を必要としています。デバイスがネットワークに接続する方法は急速に変化しています。個人は、複数のデバイスを使用して同時にネットワークに接続できます。静的に割り当てられたIPアドレスとポート番号のグループでユーザー、アプリケーション、またはデバイスを識別することは、もはや現実的ではありません。
このトピックでは、次のセクションについて説明します。
Junos OS次世代アプリケーション識別
次世代アプリケーション識別は、従来のアプリケーション識別機能をベースに構築されており、Skype、BitTorrent、Torなどの回避型アプリケーションに対してより効果的な検出機能を提供します。
Junos OSアプリケーション識別は、ポート番号以外の特性を使用して、異なるネットワーク層のWebベースアプリケーションや他のアプリケーションやプロトコルを認識します。アプリケーションは、アプリケーションシグネチャと解析情報を含むプロトコルバンドルを使用して識別されます。識別は、プロトコルの解析とデコード、およびセッション管理に基づいています。
検出メカニズムには、アプリケーションを識別するための独自のデータフィードと構成要素があります。
アプリケーション識別では、以下の機能がサポートされています。
-
ビデオストリーミング、ピアツーピア通信、ソーシャルネットワーキング、メッセージングなどのプロトコルとアプリケーションのサポート
-
アプリケーション内のサービスの識別
-
アプリケーション内で起動されるアクション(ログイン、ブラウズ、チャット、ファイル転送など)を区別する機能
-
すべてのバージョンのプロトコルとアプリケーションデコーダー、およびデコーダーの動的更新をサポートします
-
暗号化および圧縮されたトラフィックと、最も複雑なトンネリングプロトコルをサポート
-
レイヤー3からレイヤー7、レイヤー7以上のすべてのプロトコルを識別する機能
アプリケーション識別のメリット
-
ビデオストリーミング、ピアツーピア通信、ソーシャルネットワーキング、メッセージングなどのアプリケーションをきめ細かく制御します。また、アプリケーション内のサービス、ポート使用、基盤となるテクノロジー、動作特性も特定します。この可視性により、ファイアウォールで回避型アプリケーションをインラインでブロックできます。
-
ポートやプロトコルに関係なくアプリケーションを特定し、アプリケーションを許可、ブロック、または制限します。識別を回避するために回避技術を使用することで知られているアプリケーションも含まれます。この識別は、組織がネットワークに出入りできるトラフィックのタイプを制御するのに役立ちます。
アプリケーションシグネチャマッピング
アプリケーションシグネチャマッピングは、ネットワーク上でトラフィックを発行したアプリケーションを正確に識別する方法です。シグネチャマッピングはレイヤー7で動作し、ペイロードの実際のコンテンツを検査します。
アプリケーションは、ダウンロード可能なプロトコルバンドルを使用して識別されます。最初の数パケットのアプリケーションシグネチャと解析情報がデータベースのコンテンツと比較されます。ペイロードにデータベース内のエントリと同じ情報が含まれている場合、トラフィックのアプリケーションはそのデータベースエントリにマッピングされたアプリケーションとして識別されます。
ジュニパーネットワークスは、事前定義されたアプリケーション識別データベースを提供しています。このデータベースには、FTPやDNSなどの既知のアプリケーションや、Facebook、Kazaa、および多くのインスタントメッセージプログラムなど、HTTPプロトコルを介して動作するアプリケーションの包括的なセットのエントリーが含まれています。シグネチャサブスクリプションでは、ジュニパーネットワークスからデータベースをダウンロードし、新しい事前定義済みシグネチャが追加されるたびにコンテンツを定期的に更新できます。
アプリケーション識別一致シーケンス
図1は、マッピング技術が適用される順序と、アプリケーションがどのように決定されるかを示しています。
アプリケーション識別では、アプリケーションが識別されるまで、フロー内のすべてのパケットがアプリケーション識別エンジンを通過して処理されます。アプリケーションバインディングは、将来の識別プロセスを迅速化するために、アプリケーションシステムキャッシュ(ASC)に保存されます。
アプリケーションシグネチャは、セッションの最初の数パケットにおけるプロトコル文法分析に基づいてアプリケーションを識別します。アプリケーション識別エンジンがアプリケーションをまだ識別していない場合は、パケットを渡し、さらに多くのデータを待ちます。
アプリケーション識別モジュールは、クライアントからサーバーとサーバーとクライアントの両方のセッションでアプリケーションを照合します。
アプリケーションが決定されると、AppSecureサービスモジュールを設定して、トラフィックのアプリケーションIDに基づいて、追跡、優先順位付け、アクセス制御、検出、防止のためにトラフィックを監視および制御できます。
-
アプリケーション追跡(AppTrack)— デバイスを通過するアプリケーションを追跡して報告します。
-
侵入検出および防止(IDP)— 非標準ポートで実行されているアプリケーションに適切な攻撃オブジェクトを適用します。アプリケーション識別は、デコーダーを使用しないアプリケーションの攻撃シグネチャの範囲を絞り込むことで、IDPのパフォーマンスを向上させます。
-
アプリケーションファイアウォール(AppFW)— アプリケーションベースのルールを使用してアプリケーションファイアウォールを実装します。
-
アプリケーションサービス品質(AppQoS)— アプリケーション認識に基づいて サービス品質 の優先順位付けを提供します。
-
APBR(高度なポリシーベースルーティング)— アプリケーションに基づいてセッションを分類し、設定されたルールを適用してトラフィックを再ルーティングします。
-
AppQoE(Application Quality of Experience)— アプリケーションのパフォーマンスを監視し、スコアに基づいて、そのアプリケーショントラフィックに最適なリンクを選択します。
関連項目
Junos OSアプリケーション識別データベースについて
定義済みのシグネチャデータベースは、ジュニパーネットワークスセキュリティエンジニアリングのWebサイトで入手できます。このデータベースには、アプリケーションシグネチャのライブラリが含まれています。詳細については 、アプリケーションシグネチャを参照してください 。これらのシグネチャページでは、アプリケーションのカテゴリ、グループ、リスクレベル、ポートなどを可視化できます。
定義済みのシグネチャパッケージは、既知のアプリケーションシグネチャの識別基準を提供し、定期的に更新されます。
新しいアプリケーションが追加されるたびに、プロトコルバンドルが更新され、関連するすべてのプラットフォーム用に生成されます。これは、他のアプリケーションシグネチャファイルと一緒にパッケージ化されています。このパッケージは、セキュリティダウンロードWebサイトからダウンロードできます。
サブスクリプションサービスでは、自分で使用するエントリを作成することなく、最新のカバレッジ用の最新のシグネチャを定期的にダウンロードできます。
アプリケーション識別はデフォルトで有効になっており、侵入検出および防止(IDP)、AppFW、AppQoS、またはAppTrackを設定すると自動的にオンになります。
Junos OS定義済みアプリケーションシグネチャパッケージのアップデートは、別途ライセンスされたサブスクリプションサービスによって承認されます。ジュニパーネットワークスが提供するシグネチャデータベースアップデートをダウンロードしてインストールするには、デバイスにアプリケーション識別アプリケーションシグネチャアップデートライセンスキーをインストールする必要があります。ライセンスキーの有効期限が切れても、ローカルに保存されたアプリケーションシグネチャパッケージの内容を引き続き使用できますが、パッケージを更新することはできません。
関連項目
Junos OSアプリケーション識別の無効化および再有効化
アプリケーション識別はデフォルトで有効になっています。CLIでアプリケーション識別を無効にできます。
アプリケーション識別を無効にするには:
user@host# set services application-identification no-application-identification
アプリケーション識別を再度有効にしたい場合は、アプリケーション識別の無効化を指定する設定ステートメントを削除します。
user@host# delete services application-identification no-application-identification
デバイスの設定が完了したら、設定をコミットします。
設定を確認するには、 show services application-identification コマンドを入力します。
関連項目
アプリケーションシステムキャッシュについて
アプリケーションシステムキャッシュ(ASC)は、アプリケーションタイプと対応する宛先IPアドレス、宛先ポート、プロトコルタイプ、サービス間のマッピングを保存します。アプリケーションが識別されると、その情報がASCに保存されるため、特定のシステムで実行されているアプリケーションを識別するには一致するエントリーのみが必要となり、識別プロセスが迅速化されます。
デフォルトでは、ASCはマッピング情報を3600秒間保存します。ただし、CLIを使用してキャッシュタイムアウト値を設定できます。
[edit services application-identification application-system-cache-timeout]コマンドを使用して、アプリケーションシステムのキャッシュエントリーのタイムアウト値を変更できます。タイムアウト値は、0秒から1,000,000秒の範囲で設定できます。ASCセッションは、1000,000秒後に期限切れになる場合があります。
ASCエントリは、設定されたASCタイムアウト後に期限切れになります。タイムアウト期間中にキャッシュヒット(ASCに一致するエントリが見つかった)があっても、ASCエントリは更新されません。
新しいカスタムアプリケーションシグネチャを設定するか、既存のカスタムシグネチャを変更すると、定義済みアプリケーションとカスタムアプリケーションの既存のアプリケーションシステムキャッシュエントリがすべてクリアされます。
カスタムアプリケーションシグネチャを削除または無効にし、設定コミットに失敗した場合、アプリケーションシステムキャッシュ(ASC)エントリは完全にはクリアされません。代わりに、カスタムアプリケーションのパスにあるベースアプリケーションがASCで報告されます。
関連項目
アプリケーションサービス用のアプリケーションシステムキャッシュの有効化または無効化
ASCはデフォルトで有効になっています。セキュリティサービスルックアップの違いに注意してください。
-
セキュリティサービスのASCルックアップは、デフォルトでは有効になっていません。つまり、セキュリティポリシー、アプリケーションファイアウォール(AppFW)、アプリケーション追跡(AppTrack)、アプリケーションサービス品質(AppQoS)、ジュニパー ATP クラウド、IDP、コンテンツセキュリティなどのセキュリティサービスは、デフォルトではASCを使用しません。
-
その他のサービスのASCルックアップは、デフォルトで有効になっています。つまり、APBR(Advanced Policy-based Routing)などのその他のサービスは、デフォルトでアプリケーション識別にASCを使用します。
ASCのデフォルト動作の変更は、従来のAppFW機能に影響します。Junos OSリリース18.2以降のセキュリティサービスに対してASCがデフォルトで無効になっている場合、AppFWはASCに存在するエントリを使用しません。
set services application-identification application-system-cache security-servicesコマンドを使用することで、リリース18.2以前のJunos OSリリースと同様にASC動作に戻すことができます。
ASCがセキュリティサービスに対して有効になっている場合、セキュリティデバイスがアプリケーション回避技術の影響を受けやすくなる可能性があります。ASCを有効にするのは、デフォルト設定(セキュリティサービス用に無効)のデバイスのパフォーマンスが特定のユースケースに対して十分でない場合にのみ有効にすることをお勧めします。
ASCを有効または無効にするには、次のコマンドを使用します。
セキュリティサービスに対してASCを有効にします。
user@host#set services application-identification application-system-cache security-servicesその他のサービスのASCを無効にします。
user@host#set services application-identification application-system-cache no-miscellaneous-servicesセキュリティサービスで有効なASCを無効にします。
user@host#delete services application-identification application-system-cache security-servicesその他のサービスに対して無効化されたASCを有効にします。
user@host#delete services application-identification application-system-cache no-miscellaneous-services
show services application-identification application-system-cacheコマンドを使用して、ASCのステータスを確認できます。
次のサンプル出力は、ASC のステータスを示しています。
user@host>show services application-identification application-system-cache
Application System Cache Configurations:
application-cache: on
Cache lookup for security-services: off
Cache lookup for miscellaneous-services: on
cache-entry-timeout: 3600 seconds
以前のリリースでは、アプリケーションのキャッシュがデフォルトで有効になっていました。 set services application-identification no-application-system-cache コマンドを使用して手動で無効にすることができます。
user@host# set services application-identification no-application-system-cache
関連項目
アプリケーションシステムキャッシュ統計情報の検証
目的
アプリケーションシステムキャッシュ(ASC)の統計情報を確認します。
アプリケーションシステムキャッシュには、アプリケーション識別アプリケーションのキャッシュが表示されます。
アクション
CLI操作モードから、 show services application-identification application-system-cache コマンドを入力します。
出力例
コマンド名
user@host> show services application-identification application-system-cache application-cache: on nested-application-cache: on cache-unknown-result: on cache-entry-timeout: 3600 seconds
意味
出力は、ASC 統計情報の概要を示しています。次の情報を確認します。
IPアドレス—宛先アドレスを表示します。
ポート—サーバー上の宛先ポートを表示します。
プロトコル—宛先ポートのプロトコルタイプを表示します。
アプリケーション—宛先ポートで識別されたアプリケーションの名前を表示します。
多数のASCエントリーがあり(10,000以上)、コマンド show services application-identification application-system-cacheの出力にエントリーがリストされている場合、一部のファイアウォールでCLIセッションタイムアウトが発生します。
関連項目
オンボックスアプリケーション識別統計情報
アプリケーション識別サービスは、セッションごとの統計情報を提供します。これらの統計は、アプリケーション使用状況プロファイルを顧客に提供します。Onbox Application Identification Statistics機能は、アプリケーションレベルの統計をAppSecureスイートに追加します。アプリケーション統計情報を使用すると、管理者は累積統計情報だけでなく、ユーザー定義の間隔で累積された統計情報にもアクセスできます。
この機能を使用すると、管理者はバイトとセッションカウントの統計を維持しながら、統計情報をクリアし、間隔値を設定できます。統計カウントはセッション終了イベント時に発生するため、セッションが終了するまでバイトカウントとセッションカウントは更新されません。ジュニパーネットワークスのセキュリティデバイスは、管理者がアプリケーションセッションとバイトカウントを表示するために使用できる8つのインターバルの履歴をサポートしています。
Junos OSの設定でアプリケーションのグループ化がサポートされている場合、オンボックスのアプリケーション識別統計機能は、オンボックスのグループごとの一致統計をサポートします。統計情報は、事前定義されたグループに対してのみ維持されます。
アプリケーションシグネチャパッケージを再インストールしても、アプリケーションの統計情報はクリアされません。アプリケーションが無効になっている場合、そのアプリケーションのトラフィックはありませんが、アプリケーションは統計で維持されます。アプリケーションはアプリケーションタイプに応じて追跡されるため、定義済みのアプリケーションを再インストールするかどうかは関係ありません。事前定義されたグループ統計情報の場合、セキュリティパッケージを再インストールしても統計情報はクリアされません。ただし、グループメンバーシップに対する変更はすべて更新されます。例えば、junos:webには、現在のリリースに50個のアプリケーションがあり、アップグレード後に60個のアプリケーションがある場合があります。削除されたアプリケーションと名前が変更されたアプリケーショングループは、追加されたアプリケーションと同じ方法で処理されます。
アプリケーション識別モジュールは、各サービス処理ユニット(SPU)上の各アプリケーションに対して64ビットのセッションカウンターを維持します。セッションが特定のアプリケーションとして識別されると、カウンタが増加します。別の64ビットカウンターのセットは、SPU上のアプリケーションごとの合計バイト数を集約します。不特定のアプリケーションのカウンターも維持されます。セッションとバイトの両方に関する複数のSPUからの統計情報がルーティングエンジンに集約され、ユーザーに表示されます。
個々のSPUには、 interval 時間ごとに統計をロールオーバーするインターバルタイマーがあります。統計情報収集の間隔を設定するには、 set services application-identification statistics interval time コマンドを使用します。ルーティングエンジンが必要な間隔をクエリーするたびに、対応する統計が各SPUから取得され、ルーティングエンジンに集約されてユーザーに提示されます。
この clear services application-identification statistics を使用して、累積、間隔、アプリケーション、アプリケーショングループなど、すべてのアプリケーション統計をクリアできます。
clear services application-identification counterコマンドを使用して、カウンターを手動でリセットします。カウンターは、デバイスのアップグレードまたは再起動時、フローが再起動されたとき、またはインターバルタイマーが変更されたときに自動的にリセットされます。
この set services application-identification application-system-cache-timeout value を使用して、アプリケーションシステムキャッシュエントリのタイムアウト値を秒単位で指定します。
アプリケーション識別統計収集時間のデフォルトの時間間隔は1440分です。
IMAPキャッシュサイズの設定
Internet Message Access Protocol(IMAP)は、電子メールの保存および取得サービスのために電子メールクライアントで使用されるインターネット標準プロトコルです。IMAP キャッシュは、プロトコル解析とコンテキスト生成に使用されます。電子メールの解析関連情報を保存します。
以下のコマンドを使用して、IMAPキャッシュ内のエントリーの最大数を制限し、キャッシュ内のエントリーのタイムアウト値を指定するように設定できます。
set services application-identification imap-cache imap-cache-size size
set services application-identification imap-cache imap-cache-timeout time in seconds
例:
[edit]
user@host# set services application-identification imap-cache imap-cache-size 50000
この例では、IMAPキャッシュサイズは50,000個のエントリを格納するように設定されています。
[edit]
user@host# set services application-identification imap-cache-timeout 600
この例では、キャッシュエントリーがIMAPキャッシュに残る600秒のタイムアウト期間が設定されています。
関連項目
Junos OSアプリケーション識別サービスにおけるジャンボフレームのサポートについて
アプリケーション識別は、9192バイトのより大きなジャンボフレームサイズをサポートします。ジャンボフレームはデフォルトで有効になっていますが、[set interfaces]コマンドを使用して最大送信単位(MTU)のサイズを調整できます。ジャンボフレームの処理中のCPUオーバーヘッドを削減できます。
関連項目
アプリケーション識別検査限界
アプリケーション識別検査の制限を設定するには:
-
Inspection Limit for TCP and UDP Sessions
UDPまたはTCPセッションで、アプリケーション識別(AppID)のバイト制限とパケット制限を設定できます。AppIDは、設定された検査限界に基づいて分類を終了します。制限を超えると、AppIDはアプリケーション分類を終了します。
AppIDが設定された制限内で最終的な分類を結論付けず、事前一致したアプリケーションが利用可能な場合、AppIDはそのアプリケーションを事前一致アプリケーションとして終了します。それ以外の場合、グローバルAppIDキャッシュが有効になっていれば、アプリケーションはjunos:UNKNOWNとして終了します。グローバルAppIDキャッシュはデフォルトで有効になっています。
バイト制限とパケット制限を設定するには、
[edit]階層から以下の設定ステートメントを使用します。-
user@host#set services application-identification inspection-limit tcp byte-limit byte-limit-number packet-limit packet-limit-number -
user@host#set services application-identification inspection-limit udp byte-limit byte-limit-number packet-limit packet-limit-number
表1 は、TCPおよびUDPセッションのバイト制限とパケット制限を設定する範囲とデフォルト値を示しています。
表1:TCPおよびUDPセッションの最大バイト制限とパケットバイト制限 セッション
制限
範囲
デフォルト値
TCP
バイト制限
0〜4294967295
6000
パケット制限
0〜4294967295
ゼロ
UDP
バイト制限
0〜4294967295
ゼロ
パケット制限
0〜4294967295
10
バイト制限には、IPヘッダーとTCP/UDPヘッダー長は含まれません。
byte-limitとpacket-limitの両方のオプションを設定すると、AppIDは両方の制限に達するまでセッションを検査します。対応する
byte-limitとpacket-limit値をゼロに設定することで、TCPまたはUDP検査の制限を無効にできます。 -
-
Global Offload Byte Limit (Other Sessions)
AppIDのバイト制限を設定して、分類を終了し、セッション内のアプリケーションを識別できます。制限を超えると、AppIDはアプリケーション分類を終了し、以下のいずれかの決定を行います。
-
事前一致したアプリケーションが利用可能な場合、AppIDは以下の場合にアプリケーション分類を事前一致アプリケーションとして結論付けます。
-
AppIDが設定されたバイト制限内で最終分類を終了しない場合
-
一部のアプリケーションのトンネリング動作によりセッションがオフロードされない場合
-
-
事前に一致したアプリケーションが利用できない場合、グローバルAppIDキャッシュが有効になっていれば、AppIDはアプリケーションをjunos:UNKNOWNとして終了します。グローバルAppIDキャッシュはデフォルトで有効になっています。 アプリケーションサービスのアプリケーションシステムキャッシュの有効化または無効化を参照してください。
バイト制限を設定するには、
[edit]階層から以下の設定ステートメントを使用します。set services application-identification global-offload-byte-limit byte-limit-number
global-offload-byte-limitオプションのデフォルト値は10000です。global-offload-byte-limit値をゼロに設定することで、グローバルオフロードバイト制限を無効にできます。バイト制限には、IPヘッダーとTCP/UDPヘッダー長は含まれません。
-
パフォーマンスモードオプションを有効にする
DPIパフォーマンスモードオプション set services application-identification enable-performance-mode max-packet-threshold value の最大パケットしきい値は、すぐには削除されませんが、非推奨です。これは、後方互換性を確保し、新しい設定に準拠させる機会を提供するためです。このオプションは、DPI パフォーマンス モードの最大パケットしきい値を設定するために使用しました。
設定に、古いJunos OSリリースで max-packet-threshold を使用した有効パフォーマンスモードオプションが含まれている場合、AppIDは、TCPまたはUDP検査制限またはグローバルオフロードバイト制限で設定された最小値、またはDPIパフォーマンスモードオプションの最大パケットしきい値に達したときに、アプリケーション分類を終了します。
コンテンツ配信ネットワーク(CDN)でホストされるアプリケーションのアプリケーション識別サポート
アプリケーション識別(AppID)を有効にして、AWS、Akamai、Azure、Fastly、Cloudflareなどのコンテンツ配信ネットワーク(CDN)でホストされているWebアプリケーションを正確に分類できます。CDNアプリケーション分類を有効にするには、以下の設定ステートメントを使用します。
[edit]user@host#user@hots# set service application-identification enable-cdn-application-detection
設定を適用すると、AppIDはCDNでホストされている実際のアプリケーションを識別して分類します。
DPI の最大メモリ制限
以下の設定ステートメントを使用して、ディープディープパケットインスペクション(DPI)の最大メモリ制限を設定できます。
user@host# set services application-identification max-memory memory-value
メモリ値として1〜200000MBを設定できます。
JDPIメモリ消費量が設定値の90%に達すると、DPIは新しいセッションの処理を停止します。
アプリケーショントラフィックスループットの向上
アプリケーショントラフィックのスループットを改善するには、パフォーマンスモードでディープパケットインスペクション(DPI)を設定し、デフォルトのパケットインスペクション制限をクライアントからサーバーとサーバーからクライアントの両方の方向を含めた2パケットとして設定します。デフォルトでは、セキュリティデバイスのパフォーマンスモードは無効になっています。
アプリケーショントラフィックのスループットを改善するには:
show services application-identification statusコマンドを使用して、アプリケーション識別ステータスに関する詳細情報を表示します。
show services application-identification status(DPIパフォーマンスモード有効)
user@host> show services application-identification status pic: 2/1 Application Identification Status Enabled Sessions under app detection 0 Engine Version 4.18.2-24.006 (build date Jul 30 2014) Max TCP session packet memory 30000 Force packet plugin Disabled Force stream plugin Disabled DPI Performance mode: Enabled Statistics collection interval 1 (in minutes) Application System Cache Status Enabled Negative cache status Disabled Max Number of entries in cache 262144 Cache timeout 3600 (in seconds) Protocol Bundle Download Server https://signatures.juniper.net/cgi-bin/index.cgi AutoUpdate Disabled Slot 1: Application package version 2399 Status Active Version 1.40.0-26.006 (build date May 1 2014) Sessions 0 Slot 2 Application package version 0 Status Free Version Sessions 0
DPIパフォーマンスモードフィールドには、DPIパフォーマンスモードが有効になっているかどうかが表示されます。このフィールドは、パフォーマンスモードが有効になっている場合にのみ、CLIコマンド出力に表示されます。
DPI をデフォルトの精度モードに設定し、パフォーマンスモードを無効にする場合は、パフォーマンスモードの有効化を指定する設定ステートメントを削除します。
パフォーマンスモードを無効にするには:
パフォーマンスモードを削除します。
[edit]user@host# delete services application-identification enable-performance-mode設定をコミットします。
[edit]user@host# commit
関連項目
不明なアプリケーショントラフィックのパケットキャプチャの概要
未知のアプリケーションのパケットキャプチャ機能を使用して、セキュリティデバイス上の未知のアプリケーションに関する詳細を収集できます。不明なアプリケーショントラフィックとは、アプリケーションシグネチャに一致しないトラフィックです。
セキュリティデバイスでパケットキャプチャオプションを設定すると、不明なアプリケーショントラフィックが収集され、デバイス上のパケットキャプチャファイル(.pcap)に保存されます。不明なアプリケーションのパケットキャプチャを使用して、新しいカスタムアプリケーションシグネチャを定義できます。このカスタムアプリケーションシグネチャをセキュリティポリシーで使用して、アプリケーションのトラフィックをより効率的に管理できます。
トラフィックが誤って分類されている場合の分析用に. pcap ファイルをジュニパーネットワークスに送信したり、アプリケーションシグネチャの作成をリクエストしたりできます。
未知のアプリケーショントラフィックのパケットキャプチャのメリット
不明なアプリケーショントラフィックのパケットキャプチャを使用すると、次のことができます。
未知のアプリケーションについてより多くのインサイトを収集する
未知のアプリケーショントラフィックを分析して潜在的な脅威を探す
セキュリティポリシールールの作成を支援
カスタムアプリケーション署名の作成を有効にする
未知のアプリケーショントラフィックをすべてブロックするセキュリティポリシーを実装すると、ネットワークベースのアプリケーションに問題が発生する可能性があります。これらのタイプのポリシーを適用する前に、このアプローチが環境に問題を引き起こさないことを必ず検証してください。未知のアプリケーショントラフィックを注意深く分析し、それに応じてセキュリティポリシーを定義する必要があります。
不明なアプリケーショントラフィック用のパケットキャプチャを設定する
始める前に
不明なアプリケーショントラフィックの自動パケットキャプチャを有効にするには、以下のことが必要です:
-
ファイアウォールにアクティブなアプリケーション識別機能ライセンスをインストールします。 Junos OS ライセンスの管理を参照してください。
-
Junos OSアプリケーションシグネチャパッケージをダウンロードしてインストールします。 「Junos OSアプリケーションシグネチャパッケージのダウンロードとインストール」を参照してください。
-
ファイアウォールに Junos OS リリース 20.2R1 以降のバージョンがあることを確認します。
概要
この例では、以下の手順を完了することで、セキュリティデバイス上で未知のアプリケーションの自動パケットキャプチャを設定する方法を学習します。
-
パケットキャプチャオプションをグローバルレベルまたはセキュリティポリシーレベルで設定します。
-
パケットキャプチャモードを設定する
-
(オプション)パケットキャプチャファイルオプションを設定する
-
生成されたパケットキャプチャファイル(.PCAP ファイル)
設定
パケットキャプチャの設定オプションについては、開始する前に パケットキャプチャ を参照してください。
- グローバルな未知のアプリケーションのためのパケットキャプチャ
- セキュリティポリシーレベルでの未知のアプリケーションのパケットキャプチャ
- パケットキャプチャモードの選択
- パケットキャプチャオプションの定義(オプション)
- パケットキャプチャファイル(.pcaps)へのアクセス
グローバルな未知のアプリケーションのためのパケットキャプチャ
ステップバイステップの手順
-
グローバルレベルでパケットキャプチャを有効にするには、以下のコマンドを使用します。
user@host#set services application-identification packet-capture global
グローバルレベルでパケットキャプチャを有効にすると、セキュリティデバイスは未知のアプリケーショントラフィックを含むすべてのセッションのパケットキャプチャを生成します。
セキュリティポリシーレベルでの未知のアプリケーションのパケットキャプチャ
ステップバイステップの手順
-
パケットキャプチャを設定する セキュリティポリシーレベルで、以下の手順を使用します。この例では、セキュリティポリシーP1で未知のアプリケーショントラフィックのパケットキャプチャを有効にします。
[edit]user@host#set security policies from-zone untrust to-zone trust policy P1 match source-address anyuser@host#set security policies from-zone untrust to-zone trust policy P1 match destination-address anyuser@host#set security policies from-zone untrust to-zone trust policy P1 match application anyuser@host#set security policies from-zone untrust to-zone trust policy P1 match dynamic-application junos:UNKNOWNuser@host#set security policies from-zone untrust to-zone trust policy P1 then permit application-services packet-captureセキュリティポリシーレベルで未知のアプリケーショントラフィックのパケットキャプチャを有効にするには、動的アプリケーション一致条件として
junos:UNKNOWNを含める必要があります。セキュリティポリシー(P1)を設定すると、システムはセキュリティポリシーの一致基準に一致するアプリケーショントラフィックのパケット詳細をキャプチャします。
パケットキャプチャモードの選択
以下のいずれかのモードで、不明なアプリケーショントラフィックのパケットをキャプチャできます。
-
ASCモード—アプリケーションがjunos:UNKNOWNとして分類され、アプリケーションシステムキャッシュ(ASC)に一致するエントリがある場合、不明なアプリケーションのパケットをキャプチャします。このモードはデフォルトで有効になっています。
-
アグレッシブモード—AppIDが分類を完了する前にすべてのトラフィックをキャプチャします。このモードでは、利用可能なASCエントリに関係なく、システムがすべてのアプリケーショントラフィックをキャプチャします。パケットキャプチャは、最初のセッションの最初のパケットから開始されます。アグレッシブモードはリソースを大量に消費するため、注意して使用する必要があることに注意してください。
アグレッシブ モードを有効にするには、以下のコマンドを使用します。
[edit]user@host#set services application-identification packet-capture aggressive-modeフローの最初の発生をキャプチャする必要がある場合を除き、アグレッシブモードの使用はお勧めしません。前述のように、デバイスのデフォルトの動作はASCに依存します。
パケットキャプチャオプションの定義(オプション)
ステップバイステップの手順
オプションで、以下のパケットキャプチャパラメーターを設定できます。それ以外の場合は、 パケットキャプチャ で説明されているデフォルトオプションがこの機能に使用されます。この例では、最大パケット制限、最大バイト制限、パケットキャプチャ(.pcap)ファイル数などのパケットキャプチャオプションを定義します。
-
セッションごとのUDPパケットの最大数を設定します。
[edit]user@host#set services application-identification packet-capture max-packets 10 -
セッションごとの最大TCPバイト数を設定します。
[edit]user@host#set services application-identification packet-capture max-bytes 2048 -
最も古いファイルを上書きしてローテーションする前に作成するパケットキャプチャ(.pcap)ファイルの最大数を設定します。
[edit]user@host#set services application-identification packet-capture max-files 30
結果
設定モードから、 show services application-identification packet-capture コマンドと show security policies 階層レベルを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順に従って修正します。
以下の設定は、オプションの設定を使用したグローバルレベルでの未知のアプリケーションパケットキャプチャの例を示しています。
[edit services application-identification]user@host# show packet-capture{ global; max-packets 10; max-bytes 2048; max-files 30; }
以下の設定は、オプションの設定を使用したセキュリティポリシーレベルでの未知のアプリケーションパケットキャプチャの例を示しています。
[edit services application-identification]user@host# show packet-capture{ max-packets 10; max-bytes 2048; max-files 30; }
[edit security policies]
user@host# show
from-zone untrust to-zone trust {
policy P1 {
match {
source-address any;
destination-address any;
application any;
dynamic-application [ junos:UNKNOWN ];
}
then {
permit {
application-services {
packet-capture;
}
}
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
パケットキャプチャファイル(.pcaps)へのアクセス
設定を完了してコミットしたら、パケットキャプチャ(.pcap)ファイルを表示できます。システムは、宛先IPアドレス、宛先ポート、プロトコルごとに固有のパケットキャプチャファイルを生成します。
ステップバイステップの手順
パケットキャプチャファイルを表示するには:
-
デバイス上に .pcap ファイルが保存されているディレクトリに移動します。
user@host> start shell % % cd /var/log/pcap
-
.pcapファイルを見つけます。
.pcapファイルはdestination-IP-address. destination-port.protocol. pcap 形式で保存されます。例:142.250.31.156_443_17.pcap。
user@host:/var/log/pcap # ls -lah total 1544 drwxr-xr-x 2 root wheel 3.0K Jul 27 15:04 . drwxrwxr-x 9 root wheel 3.0K Jul 24 16:23 .. -rw-r----- 1 root wheel 5.0K Jul 24 20:16 142.250.31.156_443_17.pcap -rw-r----- 1 root wheel 16K Jul 27 15:03 142.250.64.97_443_17.pcap -rw-r----- 1 root wheel 9.0K Jul 27 14:26 162.223.228.170_443_17.pcap -rw-r----- 1 root wheel 2.1K Jul 26 17:06 17.133.234.32_16385_17.pcap -rw-r----- 1 root wheel 11K Jul 24 16:20 172.217.0.226_443_17.pcap -rw-r----- 1 root wheel 16K Jul 27 14:21 172.217.9.234_443_17.pcap -rw-r----- 1 root wheel 31K Jul 27 14:25 172.217.9.238_443_17.pcap -rw-r----- 1 root wheel 17K Jul 24 19:21 52.114.132.87_3478_17.pcap
SFTPまたはSCPを使用して .pcap ファイルをダウンロードし、Wiresharkまたはお使いのネットワークアナライザで表示できます。
図2は、不明なアプリケーショントラフィック用に生成されたサンプル.pcapファイルを示しています。
図2:パケットキャプチャファイルのサンプル
注:パケット損失が発生している場合、デバイスはフローに関連するすべての詳細をキャプチャできない可能性があります。この場合、 .pcap ファイルには、デバイスが取り込んで処理できた内容のみが反映されます。
セキュリティデバイスは、グローバルまたはポリシーレベルの設定に関係なく、3つの一致基準(宛先IPアドレス、宛先ポート、プロトコル)に一致するすべてのトラフィックのパケットキャプチャの詳細を同じファイルに保存します。システムは、宛先IPアドレス、宛先ポート、およびプロトコルを使用してキャッシュを維持し、定義された制限を超える同じトラフィックの繰り返しキャプチャは受け入れません。パケットキャプチャファイルのオプションは、 パケットキャプチャと同様に設定できます。
検証
パケットキャプチャの詳細の表示
目的
パケットキャプチャの詳細を表示して、設定が機能していることを確認します。
アクション
show services application-identification packet-capture countersコマンドを使用します。
user@host> show services application-identification packet-capture counters pic: 0/0 Counter type Value Total sessions captured 47 Total packets captured 282 Active sessions being captured 1 Sessions ignored because of memory allocation failures 0 Packets ignored because of memory allocation failures 0 Ipc messages ignored because of storage limit 0 Sessions ignored because of buffer-packets limit 0 Packets ignored because of buffer-packets limit 0 Inconclusive sessions captured 4 Inconclusive sessions ignored 0 Cache entries timed out 0
意味
このサンプル出力から、キャプチャされているセッション数やすでにキャプチャされているセッション数などの詳細を取得できます。パケットキャプチャカウンターの詳細については、 show services application-identification packet-capture countersを参照してください。
セッションごとの未知のアプリケーション詳細のパケットキャプチャ
セキュリティデバイスは、セッションごとに未知のアプリケーションの詳細のパケットキャプチャを保存します。パケットキャプチャ(.pcap)ファイルのファイル名にセッションIDが含まれるようになりました。つまり、destination-IP-address_destination-port_protocol_session-idです。/var/log/pcapの場所にあるpcap。
セッションごとにパケットキャプチャを保存することで、セッションごとの詳細のみが保存されるため、.pcapファイルサイズが小さくなります。
さらに、未知のSNIの詳細をキャプチャするために、未知のアプリケーション機能のパケットキャプチャを強化しました
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。
set services application-identification enable-performance-mode max-packet-threshold value の最大パケットしきい値は非推奨です。
set services application-identification no-application-system-cache コマンドを使用して手動で無効にすることができます。