Mithilfe der CLI können Sie das VMCA-Rootzertifikat durch ein von einer Zertifizierungsstelle (CA) signiertes Drittanbieterzertifikat ersetzen, das VMCA in der Zertifikatskette beinhaltet. In Zukunft beinhalten alle von VMCA generierten Zertifikate die Zertifikatskette. Vorhandene Zertifikate können Sie durch neu generierte Zertifikate ersetzen.
Wenn Sie VMCA als Zwischenzertifizierungsstelle verwenden oder wenn Sie benutzerdefinierte Zertifikate verwenden, stoßen Sie möglicherweise auf erhebliche Komplexität und das Potenzial für Beeinträchtigungen Ihrer Sicherheit sowie einen unnötigen Anstieg Ihres Betriebsrisikos. Weitere Informationen zum Verwalten von Zertifikaten innerhalb einer vSphere-Umgebung finden Sie im Blogbeitrag mit dem Titel New Product Walkthrough - Hybrid vSphere SSL Certificate Replacement (Neuer Produktfunktionstest - Ersetzen von hybriden vSphere-SSL-Zertifikaten) unter http://vmware.com/go/hybridvmca.
Ersetzen des Rootzertifikats (Zwischenzertifizierungsstelle) mithilfe der CLI
Der erste Schritt beim Ersetzen des VMCA-Zertifikats durch benutzerdefinierte Zertifikate besteht im Generieren einer Zertifikatsignieranforderung (Certificate Signing Request, CSR) sowie im Senden der zu signierenden CSR. Anschließend fügen Sie das signierte Zertifikat mithilfe der CLI als Rootzertifikat zu VMCA hinzu.
Sie können das Certificate Manager-Dienstprogramm oder ein anderes Tool zum Generieren der Signaturanforderung verwenden. DIE CSR muss die folgenden Anforderungen erfüllen:
- Schlüsselgröße: 2048 Bit (Minimum) bis 8192 (Maximum) (PEM-codiert)
- PEM-Format. VMware unterstützt PKCS8 und PKCS1 (RSA-Schlüssel). Wenn Schlüssel zu VECS hinzugefügt werden, werden sie in PKCS8 konvertiert.
- x509 Version 3
- Die Zertifizierungsstellenerweiterung muss für Stammzertifikate auf „true“ festgelegt werden und „cert sign“ muss in der Liste der Anforderungen vorhanden sein. Beispiel:
basicConstraints = critical,CA:true keyUsage = critical,digitalSignature,keyCertSign
- CRL-Signatur muss aktiviert sein.
- Erweiterte Schlüsselverwendung kann entweder leer sein oder Serverauthentifizierung enthalten.
- Keine explizite Beschränkung der Zertifikatskettenlänge. VMCA verwendet den OpenSSL-Standardwert von 10 Zertifikaten.
- Zertifikate mit Platzhalterzeichen oder mehr als einem DNS-Namen werden nicht unterstützt.
- Untergeordnete Zertifizierungsstellen von VMCA können nicht erstellt werden.
Im VMware-Knowledgebase-Artikel „Creating a Microsoft Certificate Authority Template for SSL certificate creation in vSphere 6.x“ unter https://kb.vmware.com/s/article/2112009 finden Sie ein Beispiel für die Verwendung der Microsoft-Zertifizierungsstelle.
- Schlüsselgröße: 2048 Bit (Minimum) bis 8192 Bit (Maximum).
- Schlüsselverwendung: Cert Sign
- Basiseinschränkung: Betrefftyp Zertifizierungsstelle
Prozedur
Beispiel: Ersetzen des Root-Zertifikats
Ersetzen Sie das VMCA-Root-Zertifikat durch das benutzerdefinierte Root-Zertifikat der Zertifizierungsstelle, indem Sie den Befehl certool mit der Option --rootca verwenden.
/usr/lib/vmware-vmca/bin/certool --rootca --cert=<path>/root.pem -–privkey=<path>/root.key
- Das neue benutzerdefinierte Root-Zertifikat wird dem Zertifikatspeicherort im Dateisystem hinzufügt.
- Das benutzerdefinierte Root-Zertifikat wird an den TRUSTED_ROOTS-Speicher in VECS angehängt.
- Das benutzerdefinierte Root-Zertifikat wird zu vmdir hinzugefügt.
Nächste Maßnahme
Sie können das ursprüngliche VMCA-Root-Zertifikat aus dem Zertifikatspeicher entfernen, wenn die Unternehmensrichtlinien dies verlangen. In diesem Fall müssen Sie das vCenter Single Sign-On-Signaturzertifikat ersetzen. Weitere Informationen hierzu finden Sie unter Ersetzen eines vCenter Server-STS-Zertifikats über die Befehlszeile.
Ersetzen von Maschinen-SSL-Zertifikaten (Zwischenzertifizierungsstelle) mithilfe der CLI
Nachdem Sie das signierte Zertifikat von der Zertifizierungsstelle erhalten haben, können Sie die CLI verwenden, um es zum VMCA-Rootzertifikat zu machen und alle Maschinen-SSL-Zertifikate zu ersetzen.
Diese Schritte sind im Wesentlichen mit den Schritten zum Ersetzen durch ein Zertifikat, das VMCA als Zertifizierungsstelle verwendet, identisch. In diesem Fall signiert jedoch VMCA alle Zertifikate mit der vollständigen Zertifikatskette.
Für jede Maschine ist ein Maschinen-SSL-Zertifikat für die sichere Kommunikation mit anderen Diensten erforderlich. Wenn mehrere vCenter Server-Instanzen in der Konfiguration des erweiterten verknüpften Modus verbunden sind, müssen Sie die Befehle zum Generieren von Maschinen-SSL-Zertifikaten auf jedem Knoten ausführen.
Voraussetzungen
SubjectAltName muss für jedes Maschinen-SSL-Zertifikat DNS Name=<Machine FQDN> enthalten.
Prozedur
Beispiel: Ersetzen der Maschinen-SSL-Zertifikate (VMCA ist die Zwischenzertifizierungsstelle)
- 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-<FQDN-example> Organization = VMware OrgUnit = VMware Engineering State = California Locality = Palo Alto Hostname = <FQDN>
- Generieren Sie ein Schlüsselpaar für das Maschinen-SSL-Zertifikat. Führen Sie diesen Befehl auf jedem vCenter Server-Knoten in einer Bereitstellung mit mehreren vCenter Server-Instanzen aus, die in der Konfiguration des erweiterten verknüpften Modus verbunden sind.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
Die Dateien ssl-key.priv und ssl-key.pub werden im aktuellen Verzeichnis erstellt.
- Generieren Sie das neue Maschinen-SSL-Zertifikat. Dieses Zertifikat ist VMCA-signiert. Wenn Sie das VMCA-Rootzertifikat durch ein benutzerdefiniertes Zertifikat ersetzt haben, signiert VMCA alle Zertifikate mit der vollständigen Zertifikatskette.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
Die Datei new-vmca-ssl.crt wird im aktuellen Verzeichnis erstellt.
- (Optional) Listen Sie den Inhalt von VECS auf.
/usr/lib/vmware-vmafd/bin/vecs-cli store list
- Beispiel-Ausgabe am vCenter Server:
output (on vCenter): MACHINE_SSL_CERT TRUSTED_ROOTS TRUSTED_ROOT_CRLS machine vsphere-webclient vpxd vpxd-extension hvc data-encipherment APPLMGMT_PASSWORD SMS wcp KMS_ENCRYPTION
- Beispiel-Ausgabe am vCenter Server:
- 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 jedem vCenter Server die folgenden Befehle 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.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT /usr/lib/vmware-vmafd/bin/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 vCenter Server die folgenden Befehle 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.
Ersetzen von Lösungsbenutzerzertifikaten (Zwischenzertifizierungsstelle) mithilfe der CLI
Nachdem Sie die Maschinen-SSL-Zertifikate ersetzt haben, können Sie die CLI verwenden, um Lösungsbenutzerzertifikate zu ersetzen.
- Zertifikate befinden sich entweder hinter einem Proxy-Server oder stellen benutzerdefinierte Zertifikate dar.
- Es werden keine Zwischenzertifizierungsstellen verwendet.
Sie ersetzen das Lösungsbenutzerzertifikat der Maschine und das Lösungsbenutzerzertifikat auf jedem vCenter Server-System.
Voraussetzungen
Für jedes Lösungsbenutzerzertifikat ist ein unterschiedlicher Wert für Subject erforderlich. Geben Sie beispielsweise den Lösungsbenutzernamen (z. B. vpxd) oder einen anderen eindeutigen Bezeichner an.
Prozedur
Beispiel: Ersetzen der Lösungsbenutzerzertifikate (Zwischenzertifizierungsstelle)
- Generieren Sie ein öffentliches/privates Schlüsselpaar für alle Lösungsbenutzer auf sämtlichen vCenter Server-Knoten in einer Konfiguration des erweiterten verknüpften Modus. Hierzu gehören ein Paar für die Maschinenlösung und ein Paar für jeden zusätzlichen Lösungsbenutzer (vpxd, vpxd-extension, vsphere-webclient, wcp).
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „machine“.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „vpxd“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „vpxd-extension“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „vsphere-webclient“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „wcp“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=wcp-key.priv --pubkey=wcp-key.pub
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „machine“.
- Generieren Sie vom neuen VMCA-Stammzertifikat signierte Lösungsbenutzerzertifikate für den Lösungsbenutzer „machine“ und für jeden zusätzlichen Lösungsbenutzer (vpxd, vpxd-extension, vsphere-webclient, wcp) auf allen vCenter Server-Knoten.
Hinweis: Der Parameter --Name muss eindeutig sein. Durch die Angabe des Namens des Lösungsbenutzerspeichers ist auf einfache Weise erkennbar, welches Zertifikat welchem Lösungsbenutzer zugeordnet ist. Dieses Beispiel umfasst in jedem Fall den Namen, z. B. vpxd oder vpxd-extension.
- Erstellen Sie eine Kopie der Datei /usr/lib/vmware-vmca/share/config/certool.cfg und ändern oder entfernen Sie dann nach Bedarf die Felder „Name“, „IP-Adresse“, „DNS-Name“ und „E-Mail-Adresse“ und benennen Sie die Datei um, z. B. in sol_usr.cfg.
- Generieren Sie ein Zertifikat für den Lösungsbenutzer „machine“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine --config sol_usr.cfg
- Generieren Sie ein Zertifikat für den Lösungsbenutzer „vpxd“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd --config sol_usr.cfg
- Generieren Sie ein Zertifikat für den Lösungsbenutzer „vpxd-extension“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension --config sol_usr.cfg
- Generieren Sie ein Zertifikat für den Lösungsbenutzer „vsphere-webclient“ auf jedem Verwaltungsknoten, indem Sie folgenden Befehl ausführen.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient --config sol_usr.cfg
- Generieren Sie ein Zertifikat für den Lösungsbenutzer wcp auf jedem Knoten, indem Sie den folgenden Befehl ausführen.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-wcp.crt --privkey=wcp-key.priv --Name=wcp --config sol_usr.cfg
- Ersetzen Sie die Lösungsbenutzerzertifikate in VECS durch die neuen Lösungsbenutzerzertifikate.
Hinweis: Die Parameter --store und --alias müssen genau mit den Standardnamen für die Dienste übereinstimmen.
- Ersetzen Sie das Lösungsbenutzerzertifikat „machine“ auf jedem Verwaltungsknoten:
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store machine --alias machine /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store machine --alias machine --cert new-machine.crt --key machine-key.priv
- Ersetzen Sie das Lösungsbenutzerzertifikat „vpxd“ auf jedem Knoten.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd --alias vpxd /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd --alias vpxd --cert new-vpxd.crt --key vpxd-key.priv
- Ersetzen Sie das Lösungsbenutzerzertifikat „vpxd-extension“ auf jedem Knoten.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd-extension --alias vpxd-extension /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd-extension --alias vpxd-extension --cert new-vpxd-extension.crt --key vpxd-extension-key.priv
- Ersetzen Sie das Lösungsbenutzerzertifikat „vsphere-webclient“ auf jedem Knoten.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vsphere-webclient --alias vsphere-webclient /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vsphere-webclient --alias vsphere-webclient --cert new-vsphere-webclient.crt --key vsphere-webclient-key.priv
- Ersetzen Sie das Lösungsbenutzerzertifikat „wcp“ auf jedem Knoten.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store wcp --alias wcp /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store wcp --alias wcp --cert new-wcp.crt --key wcp-key.priv
- Ersetzen Sie das Lösungsbenutzerzertifikat „machine“ auf jedem Verwaltungsknoten:
- Aktualisieren Sie den VMware Directory Service (vmdir) mit den neuen Lösungsbenutzerzertifikaten. Sie werden Zur Eingabe eines vCenter Single Sign On-Administratorkennworts aufgefordert.
- Führen Sie /usr/lib/vmware-vmafd/bin/dir-cli service list aus, um für jeden Lösungsbenutzer das eindeutige Dienst-ID-Suffix abzurufen. Sie führen diesen Befehl auf einem vCenter Server-System aus.
/usr/lib/vmware-vmafd/bin/dir-cli service list output: 1. machine-623bef28-0311-436e-b21f-6e0d39aa5179 2. vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa5179 3. vpxd-623bef28-0311-436e-b21f-6e0d39aa5179 4. vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa5179 5. hvc-623bef28-0311-436e-b21f-6e0d39aa5179 6. wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e
Hinweis: Wenn Sie Lösungsbenutzerzertifikate bei großen Bereitstellungen auflisten, enthält die Ausgabe von /usr/lib/vmware-vmafd/bin/dir-cli list alle Lösungsbenutzer aus allen Knoten. Führen Sie /usr/lib/vmware-vmafd/bin/vmafd-cli get-machine-id --server-name localhost aus, um für jeden Host nach der lokalen Maschinen-ID zu suchen. Jeder Lösungsbenutzername enthält die Maschinen-ID. - Ersetzen Sie das Zertifikat „machine“ im VM-Verzeichnis auf jedem vCenter Server-Knoten. Wenn beispielsweise „machine-6fd7f140-60a9-11e4-9e28-005056895a69“ der Lösungsbenutzer „machine“ auf dem vCenter Server ist, führen Sie diesen Befehl aus:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine.crt
- Ersetzen Sie das Lösungsbenutzerzertifikat „vpxd“ im VM-Verzeichnis auf jedem Knoten. Wenn beispielsweise „vpxd-6fd7f140-60a9-11e4-9e28-005056895a69“ die vpxd-Lösungsbenutzer-ID ist, führen Sie diesen Befehl aus:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
- Ersetzen Sie das Lösungsbenutzerzertifikat „vpxd-extension“ im VM-Verzeichnis auf jedem Knoten. Wenn beispielsweise „vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69“ die vpxd-extension-Lösungsbenutzer-ID ist, führen Sie diesen Befehl aus:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
- Ersetzen Sie das Lösungsbenutzerzertifikat „vsphere-webclient“ auf jedem Knoten. Wenn beispielsweise „vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69“ die vsphere-webclient-Lösungsbenutzer-ID ist, führen Sie diesen Befehl aus:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
- Ersetzen Sie das Lösungsbenutzerzertifikat „wcp“ auf jedem Knoten. Wenn beispielsweise wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e die ID des Lösungsbenutzers „wcp“ ist, führen Sie folgenden Befehl aus:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e --cert new-wcp.crt
- Führen Sie /usr/lib/vmware-vmafd/bin/dir-cli service list aus, um für jeden Lösungsbenutzer das eindeutige Dienst-ID-Suffix abzurufen. Sie führen diesen Befehl auf einem vCenter Server-System aus.