このセクションでは、NSX Advanced Load Balancer ユーザー インターフェイスと CLI を使用してクライアント SSL 証明書の検証を構成する手順について説明します。

ユーザー インターフェイス構成

[クライアント SSL 証明書の検証] オプションを設定する手順は、次のとおりです。

  1. [テンプレート] > [プロファイル] > [アプリケーション] の順に移動します。

  2. 既存のプロファイルを編集するか、[作成] をクリックして新しいプロファイルを定義します。

  3. 新しいアプリケーション プロファイルが作成される間、[セキュリティ] セクションにある [セキュリティ] タブをクリックします。

  4. クライアント証明書の検証で定義する [検証タイプ] の選択肢は次のとおりです。

    1. [なし] — クライアント証明書の検証は、NSX Advanced Load Balancer では実行しません。これがデフォルトの値です。

    2. [要求]NSX Advanced Load Balancer では検証対象のクライアント証明書を要求しますが、それをクライアントから提供することは必須ではありません。

    3. [必須] — 検証対象のクライアント証明書を提示する必要があります。



CLI 構成

NSX Advanced Load Balancer CLI では、前述の選択肢をモードとして参照します。シェル コマンド configure の後に、次に示す 3 つのサブコマンドのいずれかが使用されます。

[admin:10-130-180-138]: > configure applicationprofile my-profile
[admin:10-130-180-138]: applicationprofile:http_profile> ssl_client_certificate_mode ssl_client_certificate_none
[admin:10-130-180-138]: applicationprofile:http_profile> ssl_client_certificate_mode ssl_client_certificate_request
[admin:10-130-180-138]: applicationprofile:http_profile> ssl_client_certificate_mode ssl_client_certificate_require

NSX Advanced Load Balancer 経由の SSL 通信でクライアント証明書認証を使用する場合、そのクライアント証明書は最初の SSL ハンドシェイク時に提示されます。この証明書が NSX Advanced Load Balancer Controller によって検証されるのは、Request モードおよび Require モードの場合です。

SSL ハンドシェイクが正常に完了し、検証タイプが Request に設定され、証明書がクライアントから提示されない場合、接続が確立されます。ただし、Linux ページに記載の診断セクションで言及している原因のいずれかにより、有効でない証明書がクライアントから提示された場合、SSL ハンドシェイクが完了した場合でも、NSX Advanced Load Balancer からはすぐに HTTP 400 応答が返されます。

無効なクライアント証明書の処理を有効にするため、allow_invalid_client_cert 構成オプションがサポートされています。

この機能は、次のように仮想サービス内で構成します。

[admin:10-130-180-138]: > configure virtualservice *virtualservicename*

[admin:10-130-180-138]: virtualservice> allow_invalid_client_cert 

デフォルト値は False です。これは、クライアントが無効な証明書を提示した場合は要求が処理されない、ということです。allow_invalid_client_cert フラグの値が True に設定されている場合、無効な証明書のシナリオに対処する責任が課されます。avi.ssl.check_client_cert_validity() 関数を使用すると、要求を終了することも、接続を閉じることもできます。

NSX Advanced Load Balancer で無効な証明書が許可されている場合でも、特定のエラーに基づいたアクションを取ることが推奨されます。

クライアント証明書の検証の DataScript 関数

詳細については、『VMware NSX Advanced Load BalancerDataScript ガイド』のトピック「DataScript 関数によるクライアント証明書の検証」を参照してください。