SSL プロキシーの統合ポリシー
SSL プロキシーを使用したアプリケーション セキュリティー サービス
SSL プロキシーの実装により、AppID は SSL で暗号化されたアプリケーションを識別できます。SSL プロキシは、通常のファイアウォール ポリシー ルールでアプリケーション サービスとして有効にできます。侵入検出および防止(IDP)、アプリケーション ファイアウォール(AppFW)、アプリケーション追跡(AppTrack)、APBR(高度なポリシーベースのルーティング)サービス、UTM、SKY ATP、セキュリティ インテリジェンス(SecIntel)は、SSL プロキシから暗号化解除されたコンテンツを使用できます。
特定のプラットフォームまたはリリースでサポートされている機能Junos OS、 Feature Explorer を参照してください。
SSL ペイロードでは、攻撃IDP異常を検出できます。たとえば、HTTP チャンク長は HTTPS でオーバーフローします。AppFWは、Facebookなどの暗号化されたアプリケーションにポリシーを適用し、AppTrack(fromゾーンとゾーンで設定した場合)に、動的なアプリケーションに基づいてログの問題をレポートできます。
サービス(AppFW、IDP、またはAppTrack)がいずれも設定されていない場合、SSLプロキシがファイアウォールポリシーに接続されている場合でも、SSLプロキシサービスはバイパスされます。
SSL IDPが有効になっている場合、セッションで SSL インスペクションを実行することはできません。つまり、セッションで SSL インスペクションと SSL プロキシーの両方が有効になっている場合、SSL プロキシーが常に優先されるのです。
動的なアプリケーション識別の活用
SSL プロキシーはアプリケーション識別サービスを使用して、特定のセッションが SSL で暗号化されているのを動的に検出します。SSL プロキシーは、セッションが SSL で暗号化されている場合にのみ許可されます。セッションには以下のルールが適用されます。
セッションはアプリケーション システム Encrypted=Yes キャッシュにマークされます。セッションがマークされている Encrypted=Yes場合、そのセッションのアプリケーション識別の最終一致が SSL で暗号化され、SSL プロキシーがプロキシー機能を開始できる状態に移行します。
セッションはアプリケーション システム Encrypted=No キャッシュにマークされます。アプリケーション システム キャッシュに非 SSL エントリーが見つかった場合、そのセッションのアプリケーション識別の最後の一致は非 SSL で、SSL プロキシーはセッションを無視することを示します。
エントリーはアプリケーション システム キャッシュに見つかりません。これは、最初のセッションや、アプリケーション システム のキャッシュが消去された場合、または期限切れになった場合に発生する可能性があります。このようなシナリオでは、SSL プロキシは最終一致を待つ(両方向のトラフィックが必要)です。SSL プロキシーでは、逆方向のトラフィックは、SSL プロキシーが SSL ハンドシェイクを開始している場合にのみ発生します。このようなシナリオでは、最初に SSL プロキシーがアプリケーション識別によるプリマッチ結果またはアグレッシブな一致結果を活用しようと試み、その結果に SSL が示された場合、SSL プロキシーはハンドシェイクで先に進むでしょう。
リソースの制約などのエラーにより、アプリケーション識別が失敗します。アプリケーション識別の結果が使用できない場合は、SSL プロキシーが静的ポート バインディングを想定して、セッションで SSL ハンドシェイクを開始します。これは実際の SSL セッションでは成功しますが、非 SSL セッションのセッションは破棄されます。
詳細については、
統合ポリシーに対応する SSL プロキシー
Junos OS リリース 18.2R1 から、SRX シリーズ デバイスで統合ポリシーがサポートされています。従来のセキュリティ ポリシー内で動的なレイヤー 7 アプリケーションをきめ細かく制御し、適用できます。
統合ポリシーは、動的アプリケーションを既存の 5 要素または 6 要素(ユーザー ファイアウォールを使用する 5 要素)の一致条件の一部として、一致条件として使用し、時間のとともにアプリケーションの変更を検出できるセキュリティ ポリシーです。
デバイスが統一ポリシーで設定されている場合、SSL プロキシの機能がサポートされています。この拡張機能の一環として、デフォルトの SSL プロキシー プロファイルを設定できます。
最初のポリシー ルックアップ フェーズ(動的アプリケーションを識別する前に発生)で、さまざまな SSL プロキシー プロファイルを含む複数のポリシーが潜在的なポリシー リストに存在する場合、SRX シリーズ デバイスは、より明示的な一致が発生するまでデフォルトの SSL プロキシー プロファイルを適用します。
デフォルトの SSL プロキシ プロファイルを作成することをお勧めします。デフォルトの SSL プロキシー プロファイルが使用できない場合、ポリシーの競合が発生した場合、セッションはドロップされます。
階層レベルの下で SSL プロキシー [edit services ssl proxy]
プロファイルを設定してから、階層レベルの下でデフォルトの SSL プロキシー プロファイルとして [edit security ngfw]
適用できます。この設定は、既存の SSL サービス設定に影響を与えるはありません。
デフォルト SSL プロキシー プロファイルの設定は、SSL フォワード プロキシーとリバース プロキシーの両方でサポートされています。
SSL プロキシーデフォルト プロファイルの仕組みについて
表 1 は 、デフォルトの SSL プロキシ プロファイルの動作を統合ポリシーにまとめたデータです。
アプリケーション識別ステータス |
SSL プロキシー プロファイルの使用状況 |
アクション |
---|---|---|
セキュリティ ポリシーの競合はなし |
トラフィックがセキュリティ ポリシーと一致する場合、SSL プロキシ プロファイルが適用されます。 |
SSL プロキシー プロファイルが適用されます。 |
セキュリティー ポリシーの競合(競合するポリシーには、個別の SSL プロキシー プロファイルがあります) |
デフォルトの SSL プロキシー プロファイルは構成されていない、または見つかりません。 |
デフォルトの SSL プロキシー プロファイルが設定されていないため、セッションは終了します。 |
デフォルトの SSL プロキシ プロファイルが設定されています。 |
デフォルトの SSL プロキシー プロファイルが適用されます。 |
|
最終アプリケーションの特定 |
セキュリティー ポリシーに一致する SSL プロキシー プロファイルは、デフォルトの SSL プロキシー プロファイルと同じになっています。 |
デフォルトの SSL プロキシー プロファイルが適用されます。 |
セキュリティー ポリシーに一致する SSL プロキシー プロファイルは存在しない。 |
デフォルトの SSL プロキシー プロファイルが適用されます。 |
|
セキュリティー ポリシーに一致する SSL プロキシー プロファイルは、すでに適用されているデフォルトの SSL プロキシー プロファイルとは異なります。 |
すでに適用されているデフォルトの SSL プロキシー プロファイルは、引き続き適用されます。 |
セキュリティー ポリシーには、SSL リバース プロキシー プロファイルまたは SSL フォワード プロキシー プロファイルのいずれかを一度に設定できます。
セキュリティー ポリシーに SSL フォワード プロキシー プロファイルが適用され、別のセキュリティー ポリシーに SSL リバース プロキシー プロファイルがある場合は、SSL リバース プロキシー プロファイルまたは SSL フォワード プロキシー プロファイルからのデフォルト プロファイルが考慮されます。
デフォルト SSL プロキシー プロファイルが使用できない場合、ポリシーの競合が発生するとセッションがドロップされるため、デフォルト SSL プロキシー プロファイルを作成することをお勧めします。イベントをログに記録するためにシステム ログ メッセージが生成されます。
システム ログ メッセージの例:
"<14>1 2018-03-07T03:18:33.374-08:00 4.0.0.254 kurinji junos-ssl-proxy - SSL_PROXY_SSL_SESSION_DROP [junos@2636.1.1.1.2.105 logical-system-name="root-logical-system" session-id="15" source-address="4.0.0.1" source-port="37010" destination-address="5.0.0.1" destination-port="443" nat-source-address="4.0.0.1" nat-source-port="37010" nat-destination-address="5.0.0.1" nat-destination-port="443" profile-name="(null)" source-zone-name="untrust" source-interface-name="xe-2/2/1.0" destination-zone-name="trust" destination-interface-name="xe-2/2/2.0" message="default ssl-proxy profile is not configured"]
さまざまなシナリオのデフォルトSSLプロキシプロファイル
- ポリシーの競合なし — すべてのポリシーに同じ SSL プロキシー プロファイルが適用される
- ポリシーの競合なし — すべてのポリシーに同じ SSL プロキシー プロファイルを使用し、最終的なポリシーに SSL プロファイルはありません。
- ポリシーの競合 - 最終ポリシー用に設定された SSL プロファイルなし
- ポリシーの競合–デフォルトの SSL プロキシー プロファイルと異なる SSL プロキシー プロファイル(最終ポリシー用)
- 統合ポリシーによる SSL プロキシーの制限
ポリシーの競合なし — すべてのポリシーに同じ SSL プロキシー プロファイルが適用される
表 2 に示すように、すべての一致ポリシーに同じ SSL プロキシ プロファイルがあります。
セキュリティ ポリシー |
ソース ゾーン |
送信元 IP アドレス |
宛先ゾーン |
宛先 IP アドレス |
ポート番号 |
プロトコル |
動的なアプリケーション |
サービス |
デフォルト SSL プロキシー プロファイル |
---|---|---|---|---|---|---|---|---|---|
Policy-P1 |
S1 |
任意 |
D1 |
任意 |
任意 |
任意 |
SSL プロキシー |
SSL-1 |
|
Policy-P2 |
S1 |
任意 |
D1 |
任意 |
任意 |
任意 |
SSL プロキシー |
SSL-1 |
この場合、Policy-P1 と Policy-P2 の両方が同じ SSL プロキシ プロファイル(SSL-1)を持っています。競合は起きないので、プロファイル SSL-1 が適用されます。
デフォルトの SSL プロキシ プロファイル(SSL-2)を設定している場合、そのプロファイルは適用されません。ポリシー(Policy-P1 および Policy-P2)に競合は発生しないので、
ポリシーの競合なし — すべてのポリシーに同じ SSL プロキシー プロファイルを使用し、最終的なポリシーに SSL プロファイルはありません。
Policy-P1 と Policy-P2 は同じ SSL プロキシ プロファイルを持ち、Policy-3 には表 3 に示す SSL プロファイル はありません。
セキュリティ ポリシー |
ソース ゾーン |
送信元 IP アドレス |
宛先ゾーン |
宛先 IP アドレス |
ポート番号 |
プロトコル |
動的なアプリケーション |
サービス |
デフォルト SSL プロキシー プロファイル |
---|---|---|---|---|---|---|---|---|---|
Policy-P1 |
S1 |
任意 |
D1 |
任意 |
任意 |
任意 |
SSL プロキシー |
SSL-1 |
|
Policy-P3 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
Youtube |
SSL プロキシー |
SSL-1 |
Policy-P2 |
S1 |
任意 |
D1 |
任意 |
任意 |
任意 |
他 |
なし |
このシナリオでは、Policy-P1 と Policy-P2 の両方が同じ SSL プロキシ プロファイル(SSL-1)を持っています。競合は起きないので、最後のポリシーが一致する前にプロファイル SSL-1 が適用されます。
最後のアプリケーションが識別されると、最後のアプリケーションと一致するセキュリティ ポリシー、つまり Policy-P3 が適用されます。Policy-P3 には SSL プロキシ プロファイルが存在しないので、すでに適用されたプロファイル SSL-1 は引き続き適用されます。これは、SSL プロキシー プロファイルがトラフィックにすでに適用されているためです。
ポリシーの競合 - 最終ポリシー用に設定された SSL プロファイルなし
表 4 に示すように、デフォルトの SSL プロキシー プロファイルが潜在的な一致時 に適用されます。最後のポリシーである Policy-P3 には SSL プロキシ プロファイルは含第 1 ではありません。
セキュリティ ポリシー |
ソース ゾーン |
送信元 IP アドレス |
宛先ゾーン |
宛先 IP アドレス |
ポート番号 |
プロトコル |
動的なアプリケーション |
サービス |
デフォルト SSL プロキシー プロファイル |
---|---|---|---|---|---|---|---|---|---|
Policy-P1 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
SSL プロキシー |
SSL-1 |
|
Policy-P2 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
SSL プロキシー |
SSL-2 |
|
Policy-P3 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
Youtube |
他 |
NA |
この例では、SSL プロキシー プロファイル SSL-1 がデフォルトの SSL プロキシー プロファイルとして構成されています。Policy-P1 と Policy-P2 のポリシー競合中に、デフォルト プロファイル SSL-1 が適用されます。
最後のアプリケーションが識別されると、最後のアプリケーションと一致するセキュリティ ポリシー、つまり Policy-P3 が適用されます。Policy-P3 には SSL プロキシ プロファイルが存在しないので、すでに適用されたプロファイル SSL-1 は引き続き適用されます。これは、SSL プロキシー プロファイルがトラフィックに適用されるためです。
ポリシーの競合–デフォルトの SSL プロキシー プロファイルと異なる SSL プロキシー プロファイル(最終ポリシー用)
SSL プロキシー プロファイル SSL-1 はデフォルトの SSL プロキシー プロファイルとして構成され、最終ポリシーが一致する前にすでに適用されます。表 5 を参照してください。
セキュリティ ポリシー |
ソース ゾーン |
送信元 IP アドレス |
宛先ゾーン |
宛先 IP アドレス |
ポート番号 |
プロトコル |
動的なアプリケーション |
サービス |
デフォルト SSL プロキシー プロファイル |
---|---|---|---|---|---|---|---|---|---|
Policy-P1 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
SSL プロキシー |
SSL-1 |
|
Policy-P2 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
SSL プロキシー |
SSL-2 |
|
Policy-P3 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
Youtube |
SSL プロキシー |
SSL-3 |
最後のアプリケーションが識別されると、最後のアプリケーションと一致するセキュリティ ポリシー、つまり Policy-P3 が適用されます。Policy-P3(SSL-3)の SSL プロファイルは適用されません。代わりに、SSL プロキシー プロファイル SSL-2 が構成され、デフォルト プロファイルとして適用された状態でも、引き続き適用されます。
トラフィックにすでに適用されているデフォルトの SSL プロキシー プロファイルから別の SSL プロキシー プロファイルへの切り替えはサポートされていません。
統合ポリシーによる SSL プロキシーの制限
デフォルトの SSL プロキシー プロファイルが有効になっている場合、最終的なセキュリティー ポリシーに SSL プロキシーが構成されていない場合でも、このプロファイルを無効にすることはできません。
デフォルト SSL プロキシー プロファイルが有効で、トラフィックに適用され、最終的なセキュリティー ポリシーにデフォルト プロファイル以外に異なる SSL プロキシー プロファイルが構成されている場合、デフォルト SSL プロキシー プロファイルからセキュリティー ポリシー内の SSL プロキシー プロファイルへの切り替えはサポートされていません。
デフォルト SSL プロキシー プロファイルの構成
SSL プロキシーはセキュリティー ポリシー内でアプリケーション サービスとして有効になっています。セキュリティー ポリシーで、SSL プロキシーを有効にする必要があるトラフィックの一致条件を指定します。次に、トラフィックに適用する SSL プロキシー プロファイルを指定します。統合ポリシーを設定する場合、SSL プロファイルを定義してから、SSL [edit security ngfw]
プロファイルを階層レベルのデフォルト プロファイルとして追加してから、必要なセキュリティー ポリシーに SSL プロファイルを追加します。
SSL フォワード プロキシーのデフォルト プロファイルの設定
この手順では、SSL フォワード プロキシー プロファイルを設定し、そのプロファイルをデフォルト プロファイルとして指定します。
SSL リバース プロキシーのデフォルト プロファイルの設定
この手順では、SSL リバース プロキシー プロファイルを設定し、そのプロファイルをデフォルト プロファイルとして指定します。
論理システムのデフォルト SSL プロファイルの設定
この手順では、論理システム設定で SSL フォワード プロキシー プロファイルまたは SSL リバース プロキシー プロファイルをデフォルト プロファイルとして割り当てる必要があります。この場合、1 つのプロファイルを SSL フォワード プロキシーまたは SSL リバース プロキシーからのデフォルト プロファイルにできます。
例: 統合ポリシー用のデフォルト SSL プロキシー プロファイルの設定
この例では、デフォルトの SSL プロキシー プロファイルを設定し、それを統合ポリシーに適用する方法を示しています。
構成
手順
デフォルト SSL プロキシー プロファイルを設定し、それを統合ポリシーに適用するには、以下の手順に示します。
SSL プロファイルを作成し、CA プロファイル グループを SSL プロキシー プロファイルにアタッチします。
user@host#
set services ssl proxy profile SSL-FP-PROFILE-1 trusted-ca allSSL プロキシ プロファイルに署名証明書を root-ca として適用します。
user@host#
set services ssl proxy profile SSL-FP-PROFILE-1 root-ca ssl-inspect-caSSL プロキシ プロファイルをデフォルト プロファイルとして定義します。
user@host#
set security ngfw default-profile ssl-proxy profile-name SSL-FP-PROFILE-1統一ポリシーを作成し、動的アプリケーションを一致条件として指定します。
user@host#
set security policies from-zone untrust to-zone trust policy from_internet match source-address anyuser@host#
set security policies from-zone untrust to-zone trust policy from_internet match destination-address anyuser@host#
set security policies from-zone untrust to-zone trust policy from_internet match application anyuser@host#
set security policies from-zone untrust to-zone trust policy from_internet match dynamic-application junos:webセキュリティー ポリシー内の許可トラフィックに SSL プロキシー プロファイルを適用します。
user@host#
set security policies from-zone untrust to-zone trust policy from_internet then permit application-services ssl-proxy profile-name SSL-FP-PROFILE-1
要件
この例では、次のハードウェアとソフトウェアのコンポーネントを使用しています。
SRX シリーズ リリース リリース Junos OS以降18.2R1デバイスを追加できます。この設定例は、リリース リリースで使用Junos OSテスト18.2R1。
この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、ルート 証明書を指定してSSLフォワード プロキシ プロファイルをCAします。次に、このプロファイルをデフォルト SSL プロキシ プロファイルとして設定します。これで、統合ポリシーを作成し、許可されたトラフィック上でアプリケーション サービスとして SSL プロキシを呼び出します。
検証
SSL プロキシー構成の検証
目的
SSL プロキシの統計情報を表示して、設定が正常に機能されていることを確認します。
アクション
動作モードから コマンドを入力 show services ssl proxy statistics
します。
user@host> show services ssl proxy statistics
PIC:fwdd0 fpc[0] pic[0]
sessions matched 0
sessions bypassed:non-ssl 0
sessions bypassed:mem overflow 0
sessions bypassed:low memory 0
sessions created 0
sessions ignored 0
sessions active 0
sessions dropped 0
sessions whitelisted 0
whitelisted url category match 0
default profile hit 0
session dropped no default profile 0
policy hit no profile configured 0
意味
コマンド出力には、次の情報が表示されます。
SSL プロキシと一致するセッションの詳細。
デフォルト プロファイルが適用されるセッションや、デフォルト プロファイルが存在しなかった結果にセッションがドロップされるなど、デフォルト SSL プロキシー プロファイルに関する詳細が表示されます。
SSLプロキシー・プロファイル用SNIベースの動的アプリケーション情報
リリース Junos OS 20.4R1 から、サーバー名の表示(SNI)TLS 拡張を使用して動的アプリケーションを識別することで、SSL プロキシー プロファイル選択メカニズムを拡張しました。
SSL プロキシー モジュールは、SNI に基づくクライアント hello メッセージで動的アプリケーションが検出されるまで、SSL プロファイルの選択を延期します。動的アプリケーションを検知した後、SSL プロキシー モジュールは識別されたアプリケーションに基づいてファイアウォール ルールのルックアップを実行し、適切な SSL プロキシー プロファイルを選択します。
SSL プロキシー プロファイルに SNI ベースの動的アプリケーション情報を利用すると、セッションの SSL プロキシー プロファイルをより正確に選択できます。デフォルトでは、SSLプロキシプロファイルのSNIベースの動的アプリケーション情報が、デバイスでSRX シリーズになっています。SSL プロキシのカウンターを確認するには、 show services ssl proxy カウンター を参照してください。