複数の URL が同じ IP アドレスを使用する場合の復号化における URL カテゴリの解決方法

Printer Friendly Page

※この記事は以下の記事の日本語訳です。
Resolving the URL Category in Decryption When Multiple URLs Use the Same IP
https://live.paloaltonetworks.com/t5/Management-Articles/Resolving-the-URL-Category-in-Decryption-Wh...

 

PAN-OS 6.0

問題

Google のように同一 IP アドレスに紐付く複数の Web サービス (Google ドライブ、翻訳、ウェブ検索、Google+、マップ、Google Play、Gmail、カレンダーなど) がある場合に問題が発生します。

 

DNS が www.google.comwww.drive.google.com の両方を同じ IP アドレス(例:173.194.78.189)に解決する場合、ホストは google.com と drive.google.com の両方で同じ IP アドレスを使用します。そのため、最初のセッションで処理されるトラフィックが www.google.com の場合、ローカル キャッシュは IP アドレス 173.194.78.189 を "search-engines" にマッピングします。その後、次のホストが同じ宛先 IP アドレスを使用して www.drive.google.com にアクセスした場合、URL カテゴリは "online-personal-storage" ではなく "search-engines" にマッピングされます。

"online-personal-storage" のカテゴリを復号化するように設定された復号化ポリシーは、"search-engines" にマッピングされたトラフィックにマッチしないので、drive.google.com へアクセスした際のトラフィックは復号化されません。

 

詳細

SSL 復号化に関する問題のトラブルシューティングの際には、まず初めに復号化メカニズムが URL  カテゴリとどのように機能するかを理解することが肝心です。セキュアな SSL トンネルを確立するために、クライアントとサーバーは SSL ハンドシェイクを実施し、クライアントは通常、サーバ証明書に基づいてサーバーを認証します。HTTPS 接続は常にクライアントによって開始され、最初にサーバー URL を名前解決した後、名前解決した IP アドレス宛に Client Hello メッセージを送信します。クライアントはサーバー側からサーバー証明書を含む応答を待ちます。

 

適切な URL カテゴリに解決した上で、SSL トラフィックを復号化するかどうかを決定するために、Palo Alto Networks ファイアウォールはサーバーから受信した証明書のコモン ネーム (CN) フィールドを使用します。そのため、URL のカテゴリ識別はサーバー証明書の CN フィールドに基づいて行われます。解決された URL カテゴリはクライアント側から送信されたパケットの宛先 IP アドレスにマッピングされます。URL カテゴリを識別する処理を高速化するために、ファイアウォールはローカル キャッシュ メモリに各 URL と宛先 IP アドレスのマッピング情報を格納します。したがって、次に同じ宛先 IP アドレスへの SSL トラフィックが発生した際は、既にローカル キャッシュ ファイルに格納されている URL カテゴリで解決されます。復号化のための URL カテゴリのメカニズムは次のようになります:

  1. ファイアウォールによって Client Hello メッセージがインターセプトされます
  2. ファイアウォールはパケットの宛先 IP を決定します
  3. ファイアウォールは宛先 IP とローカル キャッシュ メモリに保存されている IP, URL カテゴリのマッピングリストを比較します
  4. リストに同じ IP が存在した場合、URL カテゴリはローカル キャッシュ メモリのリストで識別されます
  5. ローカル キャッシュのリストに同じ IP が存在しなかった場合、ファイアウォールはサーバー証明書の CN フィールドを確認するために、サーバーからの応答を待ちます
  6. URL カテゴリ識別が CN フィールドに基づいて行われ、サーバーの IP と URL カテゴリがマッピングされるとともに、次回以降に利用するためにローカル キャッシュ メモリのリストに追加されます

 

解決方法

PAN-OS 6.0 以降では SSL 復号化の適正化を目的として URL のカテゴリ識別の新しい方法を導入しました。この新しい方法はサーバー証明書の CN フィールドに基づくのではなく、SSL Client Hello メッセージの SNI (Server Name Indication) 値に基づきます。この方法を使用すると各状況下で Palo Alto Networks のファイアウォールがアップ ストリーム トラフィックの URL カテゴリを適切に識別し、その情報を基に正しい復号化ポリシーを適用することができます。

 

Screen Shot 2014-12-29 at 5.04.43 PM copy.jpg

 

注意: Windows XP の最終バージョンである IE 8.0 のような古いバージョンのブラウザでは SNI フィールドはサポートされていません。そのため、SNI を用いたこの解決方法は Windows XP や古いバージョンのブラウザを使用しているクライアントでは機能せず、引き続き CN フィールドを用いて識別されます。

 

著者: djoksimovic