Nachdem Sie ein neues VMCA-signiertes Rootzertifikat generiert haben, können Sie alle Maschinen-SSL-Zertifikate in Ihrer Umgebung ersetzen.

Vorbereitungen

Sie sollten darauf vorbereitet sein, alle Dienste zu beenden und die Dienste für die Weitergabe und Speicherung von Zertifikaten zu starten.

Warum und wann dieser Vorgang ausgeführt wird

Für jede Maschine ist ein Maschinen-SSL-Zertifikat für die sichere Kommunikation mit anderen Diensten erforderlich. Bei einer Bereitstellung mit mehreren Knoten müssen Sie die Befehle zum Generieren von Maschinen-SSL-Zertifikaten auf jedem Knoten ausführen. Verwenden Sie den Parameter --server, um von einem vCenter Server mit externem Platform Services Controller aus auf den Platform Services Controller zu verweisen.

Prozedur

  1. Erstellen Sie eine Kopie von certool.cfg für jede Maschine, für die ein neues Zertifikat erforderlich ist.

    certool.cfg finden Sie in den folgenden Speicherorten:

    Betriebssystem

    Pfad

    Windows

    C:\Program Files\VMware\vCenter Server\vmcad

    Linux

    /usr/lib/vmware-vmca/share/config/

  2. Bearbeiten Sie die benutzerdefinierte Konfigurationsdatei für jede Maschine, um den FDQN dieser Maschine anzugeben.

    Führen Sie NSLookup für die IP-Adresse der Maschine aus, um die DNS-Liste für den Namen anzuzeigen, und verwenden Sie diesen Namen für das Feld „Hostname“ in der Datei.

  3. Generieren Sie für jede Datei ein öffentliches/privates Schlüsseldateipaar sowie ein Zertifikat und übergeben Sie die Konfigurationsdatei, die Sie soeben angepasst haben.

    Beispiel:

    certool --genkey --privkey=machine1.priv --pubkey=machine1.pub
    certool --gencert --privkey=machine1.priv --cert machine1.crt --Name=Machine1_Cert --config machine1.cfg
  4. Beenden Sie alle Dienste und starten Sie die Dienste für die Zertifikaterstellung, Weitergabe und Speicherung.

    Die Dienstnamen sind unter Windows und bei der vCenter Server Appliance unterschiedlich.

    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. Fügen Sie VECS das neue Zertifikat hinzu.

    Alle Maschinen benötigen das neue Zertifikat im lokalen Zertifikatspeicher für die Kommunikation über SSL. Zunächst löschen Sie den vorhanden Eintrag und fügen dann den neuen Eintrag hinzu.

    vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT  
    vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert machine1.cert
     --key machine1.priv
  6. Starten Sie alle Dienste neu.
    service-control --start --all
    

Ersetzen der Maschinenzertifikate durch VMCA-signierte Zertifikate

  1. Erstellen Sie eine Konfigurationsdatei für das SSL-Zertifikat und speichern Sie sie unter dem Namen ssl-config.cfg im aktuellen Verzeichnis.

    Country = US
    Name = vmca-<PSC-FQDN-example>
    Organization = <my_company>
    OrgUnit = <my_company Engineering>
    State = <my_state> 
    Locality = <mytown>
    Hostname = <FQDN>
  2. Generieren Sie ein Schlüsselpaar für das Maschinen-SSL-Zertifikat. Führen Sie diesen Befehl auf jedem Verwaltungsknoten und Platform Services Controller-Knoten aus. Die Option --server ist dabei nicht erforderlich.

    C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
    

    Die Dateien ssl-key.priv und ssl-key.pub werden im aktuellen Verzeichnis erstellt.

  3. Generieren Sie das neue Maschinen-SSL-Zertifikat. Dieses Zertifikat ist VMCA-signiert. Falls Sie das VMCA-Rootzertifikat durch ein benutzerdefiniertes Zertifikat ersetzt haben, signiert VMCA alle Zertifikate mit der vollständigen Zertifikatskette.

    • In einem Platform Services Controller-Knoten oder einer eingebetteten Installation:

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
    • Auf einem vCenter Server (externe Installation):

      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>

    Die Datei new-vmca-ssl.crt wird im aktuellen Verzeichnis erstellt.

  4. (Optional) Listen Sie den Inhalt von VECS auf.

    "C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli store list
    • Ausgabe auf Platform Services Controller:

      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
    • Ausgabe auf vCenter Server:

      output (on vCenter):
      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
      vpxd
      vpxd-extension
      vsphere-webclient
      sms
  5. Ersetzen Sie das Maschinen-SSL-Zertifikat in VECS durch das neue Maschinen-SSL-Zertifikat. Die Werte --store und --alias müssen genau mit den Standardnamen übereinstimmen.

    • Führen Sie auf dem Platform Services Controller den folgenden Befehl aus, um das Maschinen-SSL-Zertifikat im MACHINE_SSL_CERT-Speicher zu aktualisieren.

      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
      
    • Führen Sie auf jedem Verwaltungsknoten oder für jede eingebettete Bereitstellung den folgenden Befehl aus, um das Maschinen-SSL-Zertifikat im MACHINE_SSL_CERT-Speicher zu aktualisieren. Sie müssen das Zertifikat für jede Maschine separat aktualisieren, da jedes Zertifikat einen unterschiedlichen FQDN aufweist.

      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
      

Nächste Maßnahme

Sie können auch die Zertifikate für Ihre ESXi-Hosts ersetzen. Weitere Informationen finden Sie in der Dokumentation zu vSphere-Sicherheit.

Nach dem Ersetzen des Rootzertifikats bei einer Bereitstellung mit mehreren Knoten müssen Sie die Dienste für alle vCenter Server-Knoten mit externem Platform Services Controller neu starten.