はじめに
このドキュメントでは、フォワードプロキシまたはリバースプロキシのアクションが設定されている場合に、Cisco Multicloud Defense Gateway(MFP)がHTTPSトラフィックを処理する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- クラウドコンピューティングの基礎知識
- コンピュータネットワークの基礎知識
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
明示的なフォワードプロキシ
明示的なフォワードプロキシとは、明示的にプロキシを使用するようにコンピュータのネットワーク設定が構成されていることを意味します。クライアントからのトラフィックはプロキシサーバ宛てに送信され、プロキシサーバはトラフィックを実際の宛先に転送する前にそれを検査します。
明示的フォワードプロキシ(復号化例外あり)
次の図は、マルチクラウドゲートウェイがクライアントとWebサーバ間のパスに配置され、マルチクラウドゲートウェイが復号化例外を伴う転送プロキシとして機能するように設定されている場合のネットワークフローを示しています。
注:復号化例外とは、トラフィックの復号化と検査を行わないようマルチクラウドゲートウェイを使用するシナリオを指し、通常は財務、医療、および政府機関のWebサイトに適用されます。このような状況では、特定のFQDNの復号化例外をアクティブにします。
イメージ:明示的フォワードプロキシ(復号化例外あり)のフロー
[1]クライアントとマルチクラウドゲートウェイの間でTCP 3ウェイハンドシェイクが開始されます。
[2]ハンドシェイクが完了すると、クライアントはHTTP CONNECTを送信します。
[3] CONNECTヘッダーから、マルチクラウドゲートウェイはFQDNを識別し、FQDNフィルタリングポリシーを適用します。
[4]トラフィックが許可されている場合、ゲートウェイは新しいTCPハンドシェイク要求をサーバに対して開始し、HTTP CONNECTを転送します。
[5] HTTP STATUS応答メッセージがクライアントに透過的に転送されます。
[6]これ以降、すべてのメッセージは傍受されずに直接送信されます
Explicit Forward Proxy(復号あり)
トラフィックを復号化するようにExplicit forward proxyが設定されている間のトラフィックフローを次に示します。
イメージ – 明示的フォワードプロキシ(復号化済み)
[1]クライアントとマルチクラウドゲートウェイの間でTCP 3ウェイハンドシェイクが開始されます。
[2]ハンドシェイクが完了すると、クライアントはHTTP CONNECTを送信します。
[3] CONNECTヘッダーから、マルチクラウドゲートウェイはFQDNを識別し、FQDNフィルタリングポリシーを適用します。
[4]マルチクラウドゲートウェイは、サーバとのTCPハンドシェイクを開始します。
[5]マルチクラウドゲートウェイとサーバ間のTLSハンドシェイクが正常に完了した後、マルチクラウドゲートウェイはクライアントとマルチクラウドゲートウェイ間の復号化されたトラフィックに対して証明書を発行しました。
[6]この時点以降、クライアントとサーバ間のすべてのトラフィックが再度復号化され、暗号化されます。
透過的な転送プロキシ
透過的な転送プロキシ(復号化例外あり)
後続のシナリオでは、トラフィックがパブリックサーバをターゲットとし、ゲートウェイに復号化例外を伴うフォワードプロキシの設定がある場合のプロセスの概要を説明します。
イメージ:Transparent Forward Proxy(復号化例外あり)
[1]マルチクラウドゲートウェイがTCPハンドシェイクに応答する。
[2]クライアントはサーバにCLIENT HELLOを送信します。このCLIENT HELLOには、Server Name Identifier(SNI;サーバ名識別子)が含まれています。 ゲートウェイはこのパケットをインターセプトし、FQDNフィルタリングポリシーを実行します。
[3]トラフィックが許可され、URLに対して復号化例外が設定されている場合、マルチクラウドゲートウェイはSNIに対して別のDNS解決を実行します。
[4]マルチクラウドゲートウェイがサーバへのTCPハンドシェイクを開始します。
[5]マルチクラウドゲートウェイは、同じCLIENT HELLOを(クライアントから受信した際に)サーバに転送します。
[6]サーバから受信したSERVER HELLOは、変更なしでそのまま転送されます。
[7]この時点以降、すべてのパケットは何のアクションもなしに現状のまま送信されます
透過的な転送プロキシ(復号化済み)
以降のシナリオでは、トラフィックがパブリックサーバをターゲットとし、ゲートウェイがトラフィックを復号化するための転送プロキシの設定を持っている場合のプロセスの概要を説明します。
イメージ – 透過的な転送プロキシ(復号化済み)[1]マルチクラウドゲートウェイがTCPハンドシェイクに応答する。
[2]クライアントはサーバにCLIENT HELLOを送信します。このCLIENT HELLOには、Server Name Identifier(SNI;サーバ名識別子)が含まれています。 ゲートウェイはこのパケットをインターセプトし、FQDNフィルタリングポリシーを実行します。
[3]トラフィックが許可され、復号化がURLに対して設定されている場合、マルチクラウドゲートウェイはSNIに対して別のDNS解決を実行します。
[4]マルチクラウドゲートウェイが、サーバへのTCPハンドシェイクの開始を開始します。
[5]マルチクラウドゲートウェイとサーバ間のTLSハンドシェイクが正常に完了した後、マルチクラウドゲートウェイはクライアントとマルチクラウドゲートウェイ間の復号化されたトラフィックに対して証明書を発行しました。
[6]この時点以降、クライアントとサーバ間のすべてのトラフィックが再度復号化され、暗号化されます。
関連情報