※この記事は以下の記事の日本語訳です。
How to Implement and Test SSL Decryption
概要
PAN-OSはPalo Alto Networks ファイアウォールを経由する通信の復号化、SSL インバウンド/アウトバウンド インスペクションを実施します。SSLの復号化は、Layer 3およびVirtual Wireモードで使われるインターフェイスで、SSLルールによって、トラフィックの復号化設定されたものに対して実施されます。特に、復号化は、URLカテゴリー、ソースユーザー、そしてソースアドレス、ターゲットアドレスをベースにして指定することができます。一旦復号化されると、暗号化トンネル内のアプリケーション、脅威、URLフィルタリング、ファイル ブロッキング、データ フィルタリングなどを検知してコントロールすることができます。復号化された通信がファイアウォールから流出することはありません。
SSL インバウンド インスペクション
内部Webサーバー、終端装置への内側方向通信の場合、管理者は守るべきサーバー証明書やキーのコピーを取り込む必要があります。ファイアウォールにサーバー証明書とSSL復号化ポリシーが内側方向の通信に設定されていると、ファイアウォールはトラフックを復号化、情報を読み取った後に転送します。パケット データ及びクライアント システムから内部サーバーへの暗号化通信には変更は加えられません。ファイアウォールは暗号化通信を通じて、悪意のあるコンテンツの検知、アプリケーション コントロールを実施します。
アウトバウンドSSL復号化 (SSLフォワード プロキシ)
ファイアウォールが外側通信SSLに対して、SSL通信をインターセプトしてそのユーザーがアクセスしたいサイトの証明書を作り、プロキシの動作をする場合です。 機器上で生成された証明書の有効日付は、実際のサーバー証明書から取得されます。機器上で生成された証明書の発行局はPalo Alto Networks機器です。もしファイアウォールの証明書が既存階層の一部でなかったり、クライアント インターネット ブラウザにキャッシュとして追加されていない場合、クライアントはセキュアなサイトにアクセスする際に、警告メッセージを受け取ります。もし実際のサーバー証明書がPalo Alto Networksファイアウォールによって信任されていない認証局によって発行されている場合、攻撃者が仲介していないかユーザーに警告するために、復号化証明書を2次的な信頼されない認証局 (CA)キーとして扱われます。
SSL復号化設定をするためには
手順
1. ファイアウォールに通信を処理する設定をし、ネットワーク上に設置
Palo Alto Networks ファイアウォールには、既に動作するインターフェイス(Virtual WireもしくはLayer 3)、ゾーン、セキュリティ ポリシーが設定されており、通信が通過していることをご確認ください。
2. 認証局 (CA)がファイアウォール上に設定
認証局 (CA) が生成されたSSL証明書によって、トラフィックを正しく復号化するためには、ファイアウォール上で自己証明書を作成するか、従属するCA(社内にあるPKI構成)からをインポートすることです。"Forward Trust Certificate" と "Forward Untrust Certificate" を一つ以上の証明書で、ファイアウォールで通信を復号化するために有効にします。
注意 : SSL証明書プロバイダー(Entrust, Verisign, Digicert, GoDaddyなど)は認証局 (CA) を販売していません。これらはSSL復号化ではサポートされていません。
ファイアウォールのGUIにアクセスし、Device > Certificatesに移動します。インバウンド インスペクションもしくはアウトバウンド インスペクション(SSLフォワード プロキシ)の為、証明書を取り込むか、生成します。
自己証明書を作る
自己証明書を作ることを推奨します。自己証明書の作り方については以下の記事をご参照ください。
How to Generate a New Self-Signed SSL Certificate
Microsoft Certificate Serverから証明書を作成、インポートする
以下が"Forward Trust"と"Forward Untrust"証明書の例です。
注意 : 自己証明局を使う場合、公共CA 証明書をファイアウォールからエクスポートし、各々の端末ブラウザーに信頼されたルート証明機関としてインストールすることにより、ブラウザー上で信頼されないルート証明機関としてエラー表示されるのを避ける必要があります。ネットワーク管理者はグループ ポリシー(GPO)を使って各々のワークステーションに証明書を配布することができます。
以下は自己証明局のCA証明書を信用していない場合のブラウザー上のエラー例です。
信頼されていないCA 証明書エラー : Firefox
信頼されていないCA 証明書エラー : Chrome
信頼されていないCA 証明書エラー : Internet Explorer
3. SSL復号化ルールの設定
ネットワーク管理者は復号化する他の要件を決定します。SSL復号化ルールにはいくつかの推奨があります。
アウトバンド向け復号化ルールの 推奨サンプル例です。
4. SSL復号化、通知ページ設定 (任意設定)
デフォルト設定のSSL Opt-out pageページが表示されます。HTMLエディターで編集して、インポートすることにより、会社特有の情報を表示することができます。
5. 外向けSSL通信復号化試験
アウトバウンド復号化通信試験には、
SSL暗号化通信中のウィルスが検知されていることに成功しています。
“no-decrypt”ルールの試験には、まず最初に、どのURLカテゴリー(financial services / shopping / health and medicine)で失敗しているか確認します。BrightCloudではhttp://www.brightcloud.com/testasite.aspx、PAN-DBではPalo Alto Networks URL Filtering - Test A Site サイトにて、SSL復号化に失敗したURLを入力することによって、何のURLカテゴリーだったか確認できます。ウェブサイトが一旦復号化されるべきでないURLカテゴリーと識別、設定をSSL復号化ルールで定義したら、これらのサイトにアクセスしても証明書エラーは発生されなくなるでしょう。ウェブ ページは正しく表示され、TrafficログでもアプリケーションはSSL、ポートは443と表示されます。
インバウンド通信復号化試験:
便利なCLIコマンド類:
機器を通じてSSL復号化されている既存のセッション数を確認するには、
> debug dataplane pool statistics | match Proxy
PA-2050では最初の行の出力結果は1024中の既存セッション数が出力されます。次の行のコマンド出力では、5つのSSLセッションが復号化されていることを示します (1024–1019=5):
admin@test> debug dataplane pool statistics | match Proxy
[18] Proxy session : 1019/1024 0x7f00723f1ee0
アクティブ セッションで復号されているセッションを表示するには以下のコマンドを使用します。
> show session all filter ssl-decrypt yes state active
PAN-OS 4.1、5.0、6.0、6.1でのSSL復号化セッションの最大同時接続数は以下です(双方向の合計です)。
Hardware | SSL Decypted Session Limit |
---|---|
VM-100 | 1,024 sessions |
VM-200 |
1,024 sessions |
VM-300 | 1,024 sessions |
PA-200 | 1,024 sessions |
PA-500 | 1,024 sessions |
PA-2020 | 1,024 sessions |
PA-2050 | 1,024 sessions |
PA-3020 | 7,936 sessions |
PA-3050 |
15,360 sessions |
PA-3060 | 15,360 sessions |
PA-4020 | 7,936 sessions |
PA-4050 | 23,808 sessions |
PA-4060 | 23,808 sessions |
PA-5020 | 15,872 sessions |
PA-5050 | 47,616 sessions |
PA-5060 | 90,112 sessions |
PA-7000-20G-NPC | 131,072 sessions |
PA-7050 | 786,432 sessions |
上限に達すると、全ての新しいSSLセッションは復号化されません。上限に達した場合に新しいSSLセッションをドロップしたい場合
> set deviceconfig setting ssl-decrypt deny-setup-failure yes
機器上で上限に達したかどうかの確認をするには
> show counter global name proxy_flow_alloc_failure
SSL復号化の証明書を確認するには
> show system setting ssl-decrypt certificate
Certificates for Global
SSL Decryption CERT
global trusted
ssl-decryption x509 certificate
version 2
cert algorithm 4
valid 150310210236Z -- 210522210236Z
cert pki 1
subject: 172.16.77.1
issuer: 172.16.77.1
serial number(9)
00 b6 96 7e c9 99 1f a8 f7 ...~.... .
rsa key size 2048 siglen 2048
basic constraints extension CA 1
global untrusted
ssl-decryption x509 certificate
version 2
cert algorithm 4
valid 150310210236Z -- 210522210236Z
cert pki 1
subject: 172.16.77.1
issuer: 172.16.77.1
serial number(9)
00 b6 96 7e c9 99 1f a8 f7 ...~.... .
rsa key size 2048 siglen 2048
basic constraints extension CA 1
SSL復号化設定を確認するには
> show system setting ssl-decrypt setting
vsys : vsys1
Forward Proxy Ready : yes
Inbound Proxy Ready : no
Disable ssl : no
Disable ssl-decrypt : no
Notify user : no
Proxy for URL : no
Wait for URL : no
Block revoked Cert : yes
Block timeout Cert : no
Block unknown Cert : no
Cert Status Query Timeout : 5
URL Category Query Timeout : 5
Fwd proxy server cert's key size: 0
Use Cert Cache : yes
Verify CRL : no
Verify OCSP : no
CRL Status receive Timeout : 5
OCSP Status receive Timeout : 5
Block unknown Cert : no
SSL復号化リソースのリストについては以下のサイトをご参照ください。
SSL Decryption Quick Reference - Resources (2016年4月時点でリンク先にアクセスできなくなっています。ご迷惑をおかけします)
SSL復号でサポートする暗号スイートについてのさらなる情報については以下のサイトをご参照ください。
SSL Decryption Not Working Due to Unsupported Cipher Suites
Limitations and Recommendations While Implementing SSL Decryption
How to Identify Root Cause for SSL Decryption Failure Issues
注意: 何かこの文章にさらなる追加をしたい場合は、下にコメントを追記してください。