スマート カード認証を有効にするには、クライアント証明書を要求するように vCenter Server を構成する必要があります。

この構成では、vCenter Server で自動的に設定およびオープンされるポート 3128 が使用されます。

前提条件

認証局 (CA) 証明書を vCenter Server システムにコピーして、信頼できるクライアント CA ストアの作成に使用します。このストアには、クライアント証明書のために CA によって発行された、信頼できる証明書が含まれている必要があります。ここでは、クライアントとは、スマート カード プロセスでエンド ユーザーに情報の入力を求めるメッセージが表示されるブラウザを指します。

注: vCenter Server 7.0 以降は、HTTP/2 プロトコルをサポートしています。すべての最新のブラウザおよびアプリケーション( vSphere Client など)は、HTTP/2 を使用して vCenter Server に接続します。ただし、スマート カード認証では、HTTP/1.1 プロトコルを使用する必要があります。スマート カード認証を有効にすると、HTTP/2 の Application-Layer Protocol Negotiation (ALPN、 https://tools.ietf.org/html/rfc7301) が無効になるため、実質的にブラウザで HTTP/2 が使用されることはありません。ALPN に依存せず、HTTP/2 のみを使用するアプリケーションは引き続き動作します。

スマート カード認証を完了するには、クライアントが該当する vCenter Server でポート 3128/TCP にアクセスすることを許可する必要があります。境界ファイアウォールを確認して、アクセス権が付与されていることを確認します。

接続は、スマート カード ログイン時にポート 3128 にリダイレクトされます。ポート 3128 は、事前構成済みの相互認証接続のみをサポートしており、直接的なブラウザ エンドポイントとしては想定されていません。HSTS ヘッダーは返されません。脆弱性スキャナからこの動作が報告されても、無視して問題ありません。

手順

  1. root ユーザーとして vCenter Server シェルにログインします。
  2. 正確なパスと PEM 名 (/usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem) を使用して、vCenter Server に信頼できるクライアント CA ストアを作成します。
    注意: 正確なパスと PEM 名 ( /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem) を使用する必要があります。
    1. /usr/lib/vmware-sso/ ディレクトリに移動します。
      cd /usr/lib/vmware-sso/
    2. 信頼できるクライアント CA ストアを作成するには、openssl コマンドを実行し、信頼された署名証明書を入力として取得します。たとえば、次のコマンドを実行すると、信頼された署名証明書 xyzCompanySmartCardSigningCA.cer から clienttrustCA.pem ファイルが作成されます。
      openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA.cer > /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
      信頼できるクライアント CA ストアに証明書を追加するには、「>>」演算子を使用して openssl コマンドを実行し、証明書を追加します。たとえば、次のコマンドを実行すると、既存の clienttrustCA.pem ファイルに xyzCompanySmartCardSigningCA2.cer が追加されます。
      openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA2.cer >> /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
  3. スマート カード証明書に署名した信頼できる CA が clienttrustCA.pem ファイルの内容に含まれていることを確認するには、keytool コマンドを実行します。
    例:
    keytool -printcert -file /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem | grep -i "owner\|sha1\|issuer:\|valid"
  4. CA 名がスマート カード ユーザー証明書チェーンと一致することを確認します。
    たとえば、次のコマンドを実行できます。
    sso-config.sh -get_authn_policy -t vsphere.local | grep trusted
    ルート証明書と中間証明書には、一致するサムプリント、名前、有効な日付などが含まれている必要があります。
    注: vSphere Client[管理] > [Single Sign-On] > [構成] > [ID プロバイダ] > [スマート カード認証] > [スマート カード認証の設定] > [信頼できる CA 証明書] > [追加])を使用することもできます。
  5. STS サービスを再起動します。
    service-control --restart sts