TLS 検査 は、暗号化された TLS チャネルを介してネットワーク内の高度な脅威を検出して防止します。このトピックでは、TLS 検査 機能に関連する概念について説明します。
TLS プロトコル
このトピックでは、クライアントとサーバ間で暗号化チャネルを確立するために TLS プロトコル ハンドシェイクがどのように機能するかを説明します。次の TLS プロトコルの図は、暗号化チャネルを形成するために必要なさまざまな手順を示しています。
TLS プロトコルの概要は次のとおりです。
- TLS がクライアントとサーバ間で確立された TCP セッションを介して TLS セッションを開始します(3 ウェイ ハンドシェイクともいいます)。
- クライアントが、サポートされている TLS バージョンと暗号、Server Name Indication (SNI) 拡張機能を含むクライアント Hello を送信します。TLS クライアント Hello の SNI は、内部、外部、またはバイパス復号プロファイルを使用するためにコンテキスト プロファイルでトラフィックを分類するために TLS 検査 が使用するものです。
- サーバが、認証と識別のためのサーバ証明書と、クライアントから提示されたバージョンと暗号を使用したサーバ Hello で応答します。
- クライアントが証明書を検証し、最終バージョンと暗号を検証すると、対称セッション キーが生成され、サーバに送信されます。
- 暗号化された TLS チャネルを介してアプリケーション データを交換する安全な TLS トンネルを開始するため、サーバはセッション キーを検証し、完成したメッセージを送信します。
デフォルトでは、TLS プロトコルは X.509 証明書を使用してクライアントに対してサーバ ID のみを証明します。サーバに対するクライアントの認証はアプリケーション レイヤーに残ります。
TLS 復号タイプ
TLS 検査 機能を使用すると、ユーザーは復号またはバイパスするポリシーを定義できます。TLS 検査機能では、次の 2 種類の復号が可能です。
- 内部 TLS 復号:サービス、証明書、プライベート キーを所有するエンタープライズ内部サービスに送信されるトラフィック用です。これは TLS リバース プロキシまたは受信復号とも呼ばれます。
- 外部 TLS 復号:エンタープライズがサービス、証明書、プライベート キーを所有していない外部サービス(インターネット)に送信されるトラフィック用です。これは TLS 転送プロキシまたは送信復号とも呼ばれます。
次の図は、TLS 内部復号タイプと外部復号タイプでトラフィックがどのように処理されるかを示しています。
次の図と表は、NSX で NSX TLS 外部復号がどのように機能するかを示しています。
コールアウト | ワークフロー |
---|---|
1 | TLS クライアント Hello SNI が TLS 検査 ポリシー コンテキスト プロファイルと一致します。 |
2 | NSX が、クライアントからの TLS セッションをインターセプトし、目的のサーバとの新しいセッションを開始します。 |
3 | NSX が、TLS バージョンと暗号(構成可能)を適用します。 |
4 | サーバが、TLS 証明書を使用してクライアントに応答します。 |
5 | NSX が、信頼されている CA バンドルを使用してサーバ証明書を検証し、プロキシ CA 証明書を動的に生成してクライアントに提示します。 |
次の図と表は、NSX で NSX TLS 内部復号がどのように機能するかを示しています。
コールアウト | ワークフロー |
---|---|
1 | TLS クライアント Hello SNI が、内部ドメイン用に構成された TLS 検査ポリシー コンテキスト プロファイルと一致します。 |
2 | NSX が、クライアントからの TLS セッションをインターセプトし、目的のサーバとの新しいセッションを開始します。 |
3 | NSX が TLS バージョン/暗号(構成可能)を適用します。 |
4 | サーバが、TLS ハンドシェイクの一部として証明書を返します(検証はオプション)。 |
5 | NSX が、構成の一部としてアップロードされたサーバの証明書をクライアントに提示します。 |