VMCA 署名付きルート証明書を新しく生成したら、環境内のすべてのマシン SSL 証明書を置き換えることができます。

他のサービスとの安全な通信を実現するため、各マシンにマシン SSL 証明書が必要です。マルチノード環境では、各ノードでマシン SSL 証明書生成コマンドを実行する必要があります。外部の Platform Services Controller を使用する vCenter ServerPlatform Services Controller を参照するには、--server パラメータを使用します。

前提条件

すべてのサービスを停止し、証明書の伝達およびストレージを処理するサービスを開始する準備ができている。

手順

  1. 新しい証明書を必要とするマシンごとに、certool.cfg のコピーを 1 つ作成します。
    certool.cfg は次の場所で見つけることができます。
    OS パス
    Windows C:\Program Files\VMware\vCenter Server\vmcad
    Linux /usr/lib/vmware-vmca/share/config/
  2. マシンの完全修飾ドメイン名 (FQDN) を含めるように、各マシンのカスタム構成ファイルを編集します。
    マシンの IP アドレスに対して NSLookup を実行して、名前の DNS リストを表示し、ファイルのホスト名フィールドでその名前を使用します。
  3. 各ファイルに、パブリック キーとプライベート キーのファイル ペアと証明書を生成し、カスタマイズした構成ファイルに渡します。
    例:
    certool --genkey --privkey=machine1.priv --pubkey=machine1.pub
    certool --gencert --privkey=machine1.priv --cert machine1.crt --Name=Machine1_Cert --config machine1.cfg
  4. すべてのサービスを停止し、証明書の作成、伝達、およびストレージを処理するサービスを開始します。
    サービス名は、Windows 上と vCenter Server Appliance 上で異なります。
    注: 外部 Platform Services Controller を使用している環境では、 vCenter Server ノード上で VMware Directory Service (vmdird) および VMware Certificate Authority (vmcad) を停止および開始する必要はありません。これらのサービスは、 Platform Services Controller で実行されます。
    Windows
    service-control --stop --all
    service-control --start VMWareAfdService
    service-control --start VMWareDirectoryService
    service-control --start VMWareCertificateService
    
    vCenter Server Appliance
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  5. 新しい証明書を VECS に追加します。
    SSL を介して通信するには、すべてのマシンのローカル証明書ストアに、新しい証明書が必要です。最初に既存のエントリを削除し、次に新しいエントリを追加します。
    vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT  
    vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert machine1.crt
     --key machine1.priv
  6. すべてのサービスを再開します。
    service-control --start --all
    

例: VMCA 署名付き証明書によるマシン証明書の置き換え

  1. SSL 証明書用の構成ファイルを作成し、そのファイルを現在のディレクトリに ssl-config.cfg として保存します。
    Country = US
    Name = vmca-<PSC-FQDN-example>
    Organization = <my_company>
    OrgUnit = <my_company Engineering>
    State = <my_state> 
    Locality = <mytown>
    Hostname = <FQDN>
  2. マシン SSL 証明書にキー ペアを生成します。このコマンドを各管理ノードと Platform Services Controller ノードで実行します。--server オプションは必要ありません。
    C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
    

    現在のディレクトリに ssl-key.priv および ssl-key.pub ファイルが作成されます。

  3. 新しいマシン SSL 証明書を生成します。この証明書は VMCA によって署名されます。VMCA ルート証明書をカスタム証明書で置き換える場合には、VMCA はすべての証明書に完全な証明書チェーンで署名します。
    • Platform Services Controller ノードまたは組み込みインストールで、次のように実行します。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
    • vCenter Server(外部インストール)の場合:
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg --server=<psc-ip-or-fqdn>

    現在のディレクトリに new-vmca-ssl.crt ファイルが作成されます。

  4. (オプション)VECS のコンテンツをリスト表示します。
    "C:\Program Files\VMware\vCenter Server\vmafdd\" vecs-cli store list
    • Platform Services Controller のサンプル出力:
      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
    • vCenter Server のサンプル出力:
      output (on vCenter):
      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
      vpxd
      vpxd-extension
      vsphere-webclient
      sms
  5. VECS 内のマシン SSL 証明書を新しいマシン SSL 証明書で置き換えます。--store--alias の値はデフォルト名と正確に一致させる必要があります。
    • Platform Services Controller で、次のコマンドを実行して MACHINE_SSL_CERT ストア内のマシン SSL 証明書を更新します。
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
      
    • 各管理ノードまたは組み込みデプロイで、次のコマンドを実行して MACHINE_SSL_CERT ストア内のマシン SSL 証明書を更新します。FQDN はマシンごとに異なるため、各マシンの証明書は別々に更新する必要があります。
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
      

次のタスク

使用している ESXi ホストの証明書を置き換えることもできます。『vSphere のセキュリティ』ドキュメントを参照してください。

マルチノード デプロイでルート証明書を置き換えた後は、外部の Platform Services Controller ノードを使用するすべての vCenter Server 上でサービスを再起動する必要があります。