So ändern Sie Zertifikate für VMware Vcenter Server-, Replication Server- und Site Recovery Manager-Bundles

Hallo!



Jeder, der VMware-Produkte verwendet, weiß oder weiß nicht, dass ein Zertifikatproblem viel Schmerz und Leid verursachen kann. Um nicht auf diesen Rechen zu treten, werde ich zeigen, wie Zertifikate für Produkte wie:



  • VMware Vcenter Server 6.7
  • VMware Replication Server 8.3
  • VMware Site Recovery Manager 8.3


Dafür brauchen wir:



  • Zertifikate
  • Kitt
  • Ein bisschen Geduld


Beim Vorbereiten von Zertifikaten verwende ich einen normalen Windows Server 2019 mit der Rolle des Active Directory-Zertifikatdienstes und openssl v1.1.1h.



Sie können ihn hier herunterladen



1. Erstellung von Zertifikaten



Ich werde einen lokalen Server zum Ausstellen von Zertifikaten verwenden, aber diese Methode eignet sich zum Ausstellen von Zertifikaten und auf kommerziellen Websites.



Bereiten wir Anfragen an die Zertifizierungsstelle vor.



Ich gab Namen wie FQDNs:



  • Vcenter Server heißt vc.home.local und ip 192.168.233.11
  • VMware Replication Server, den ich als vr.home.local und ip 192.168.233.12 bezeichnet habe
  • VMware Site Recovery Manage auch srm.home.local und ip 192.168.233.13


Für diese Namen bereiten wir Anfragen und private Schlüssel im openssl- Programm vor . Dazu erstellen wir eine kleine Konfigurationsdatei vc.cfg mit dem Inhalt. Als Nächstes ändere ich für jeden neuen Server den Inhalt dieser Datei, indem ich die Servernamen und IP-Adressen ersetze:



[req]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
countryName = RU
stateOrProvinceName = RO
localityName = RnD
organizationName = HOME
commonName = vc.home.local ()
emailAddress = root@home.local
[v3_req]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment, keyAgreement
subjectAltName = @alt_names
[alt_names]
DNS.1 = vc.home.local ()
IP.2 = 192.168.233.11 ()


Verwenden



Sie als Nächstes openssl 1.1 Do vc.home.local



openssl req -batch -new -newkey rsa:2048 -nodes -keyout vc.home.local.key -out vc.home.local.req -config vc.cfg


1.2 Ändern Sie den Namen und die IP des Servers in vc.cfg und geben Sie den Schlüssel und die Anforderung für vr.home.local frei



openssl req -batch -new -newkey rsa:2048 -nodes -keyout vr.home.local.key -out vr.home.local.req -config vc.cfg


1.3 Ändern Sie die Namen und die IP des Servers in vc.cfg und geben Sie den Schlüssel und die Anforderung für srm.home.local frei



openssl req -batch -new -newkey rsa:2048 -nodes -keyout srm.home.local.key -out srm.home.local.req -config vc.cfg


1.4 Außerdem benötigen Sie Zertifikate für vcenter-Dienste (vpxd, vsphere-webclient, vpxd-extension).

Wir erstellen diese mit dem folgenden Befehl:



openssl req -new -newkey rsa:2048 -nodes -keyout vpxd.key -out vpxd.req


Wir werden in einen kleinen Assistenten eintreten, in den wir Informationen über uns selbst oder über das Unternehmen eingeben. Stellen Sie sicher, dass Sie den Namen des Dienstes in das Feld "Common Name" eintragen. Wir wiederholen den Vorgang für die restlichen Leistungen. Als Ergebnis erhalten wir einen privaten Schlüssel und eine Zertifikatanforderung.







Generieren einer Schlüssel- und Zertifikatanforderung



Nachdem alle Anforderungen und Schlüssel fertig sind, stellen wir ein Zertifikat aus. Gehen Sie zum Zertifikatausstellungszentrum. Starten Sie die Zertifizierungsstellenkonsole .







Klicken Sie anschließend mit der rechten Maustaste (pkm) auf das Serverstammverzeichnis und wählen Sie Neue Anforderung ausgeben.







Wählen Sie unsere Anforderungsdatei mit der Erweiterung req aus.



Gehen Sie zum Menü Ausstehende Anforderungen . Wenn Sie es leer haben, drücken Sie F5 und das Fenster wird aktualisiert. Drücken Sie anschließend pkm und wählen Sie Problem:







Gehen Sie als Nächstes zum Menü Ausgestellte Zertifikate und öffnen Sie unser Zertifikat.







Als nächstes müssen wir es auf der Festplatte speichern. Wechseln Sie dazu zur Registerkarte Komposition und klicken Sie auf die Schaltfläche In Datei kopieren... Als nächstes erscheint ein Assistent zum Speichern der Dateien. In diesem Fall müssen Sie Base64 und den Dateinamen auswählen. Vpxd.crt:







Speichern des Zertifikats.



Wir wiederholen das Ausstellungsverfahren für alle unsere Zertifikate. /



Wir benötigen noch ein Stammzertifikat. Öffnen Sie dazu ein beliebiges Zertifikat, wechseln Sie zur Registerkarte Zertifizierungspfad , wählen Sie unser Stammzertifikat aus und klicken Sie auf die Schaltfläche Zertifikat anzeigen. Außerdem werden wir es wie alle vorherigen speichern.







Dies ist nicht alles für VMware Replication Server und VMware Site Recovery Manager. Wir brauchen ein Zertifikat und einen Schlüsselcontainer. pfx Datei, es ist sehr einfach zu machen, wir brauchen private Schlüssel und eine Zertifikatdatei:



openssl pkcs12 -export -out vr.home.local.pfx -inkey vr.home.local.key -in vr.home.local.crt


OpenSSL fragt nach einem Passwort, überlegt sich ein Passwort und holt sich die begehrte Datei am Exit.

Damit ist die Erstellung der Zertifikate abgeschlossen und die Installation wird fortgesetzt.



2. Beginnen wir mit dem Wechsel mit Vcenter



Dazu gehen wir zum Bereich Administration und zum Abschnitt Zertifikate . Melden Sie sich als Administrator an.







Abschnitt zur Verwaltung von Zertifikaten.



Wenn wir zur Systemsteuerung gelangen, fügen wir zunächst das Stammzertifikat oder die vertrauenswürdigen Stammzertifikate hinzu. Scrollen Sie bis zum Ende und drücken Sie HINZUFÜGEN. Wir wählen unsere Zertifikat ca.crt







Root - Zertifikat Trusted hinzufügen Als



nächstes wir die aktuellen Zertifikate über den Menüpunkt ändern ersetzen:







die Zertifikate auswählen , dass wir für vcenter erstellt:

Für Dienste, wählen wir die Zertifikate der Leistungen in Absatz erstellt 1.4



Für Zertifikate __MACHINE_CERT und Maschinenzertifikat vc.home.local, erstellt in Absatz 1.1







Wir haben alle Zertifikate ersetzt, die uns über das Bedienfeld zur Verfügung stehen. Wenn in einer

Konfiguration die Komponenten von VMware Replication Server und VMware Site Recovery Manager fehlen, können Sie dies beenden und das VCentre nach dem Neustart des Servers genießen. Wenn Sie einen eigenständigen Server für die Ausstellung von Zertifikaten verwenden, empfehle ich Ihnen, Zertifikate für 10 Jahre oder länger zu erstellen. Wenn Sie kaufen, dann schauen Sie sich die Umstände an.



Für die korrekte Erkennung von Zertifikaten durch Ihre Browser müssen Sie das Stammzertifikat im Zertifikatspeicher des Betriebssystems installieren.



3. Ändern Sie das Zertifikat auf dem VMware Replication Server



Beginnen wir mit der Tatsache, dass Sie ein Stammzertifikat auf dem vr-Server installieren müssen, da es sich nicht in der Standard-Weboberfläche befindet. Dazu müssen wir uns über ssh beim Server anmelden, dieser ist jedoch standardmäßig deaktiviert. Lass es uns einschalten. Öffnen Sie die Konsole der virtuellen Maschine und melden Sie sich mit root an.

Wir aktivieren den SSH-Server.



/usr/bin/enable-sshd.sh


Anschließend können Sie über Putty eine Verbindung zum Server herstellen.



Alle Root-CA-Zertifikate befinden sich im JKS-Container entlang des Pfads /opt/vmware/hms/security/hms-truststore.jks.



Der Container hat jedoch ein Kennwort. Lassen Sie es uns mit dem folgenden Befehl herausfinden:



/opt/vmware/hms/bin/hms-configtool -cmd list | grep keystore


Als nächstes speichern wir unsere ca.crt auf dem Server. Normalerweise mache ich dies über Texteditoren. Auf dem lokalen Computer öffne ich das Zertifikat mit einem Notizblock und kopiere es in die Zwischenablage. Auf dem Remote-Computer verwende ich den vi-Editor, den ich einfüge und speichere. Danach können wir unser Zertifikat mit dem folgenden Befehl in den Container schreiben:



/usr/java/default/bin/keytool -import -trustcacerts -alias root -file /root/ca.crt -keystore /opt/vmware/hms/security/hms-truststore.jks -storepass     


Dann sagen wir Ja zu der Anfrage zum Hinzufügen . Das war's, wir haben unser Stammzertifikat erfolgreich hinzugefügt.



Wir rufen das Server-Kontrollfeld unter vr.home.local auf : 5480



Gehen Sie zur Registerkarte Konfiguration , zum Feld PKCS12-Datei hochladen (* .pfx) und

wählen Sie unsere pfx-Datei aus. Klicken Sie auf Hochladen und installieren Sie die







vr-Serverkonfiguration.



Nach dem Neustart des Webservers und der Anmeldung versuchen wir, die Konfiguration mit der Schaltfläche Dienst speichern und neu starten zu speichern:







Und es wird eine Fehlermeldung angezeigt:



Unhandled exception com.vmware.vim.vmomi.client.exception.SslException: javax.net.ssl.SSLException: Certificate thumbprint mismatch, expected:


Der Server teilt uns mit, dass die Zertifikatausdrucke der Dienste in der Mitte nicht übereinstimmen.



Öffnen Sie putty und stellen Sie eine Verbindung zu unserem vc.home.local-Center her. Starten Sie



bash mit dem Shell-Befehl:







Wechseln Sie in das Verzeichnis:



cd /usr/lib/vmidentity/tools/scripts/


Und wir sehen uns den Status dieses Dienstes an:



./lstool.py list --url https://localhost/lookupservice/sdk --no-check-cert --ep-type com.vmware.cis.cs.identity.sso 2>/dev/null






Wenn Sie unser Zertifikat vc.home.local.crt in einem Texteditor öffnen und vergleichen, stellt sich heraus, dass die Zertifikate unterschiedlich sind. Tatsache ist, dass die Weboberfläche im Center nicht alle Zertifikate ändert.



Wir kopieren den Inhalt des Zertifikats in die Datei /tmp/old.crt. Vergessen Sie nicht, dass der Inhalt des Zertifikats zwischen den Tags ----- BEGIN CERTIFICATE ----- und ----- END CERTIFICATE ----- liegen muss.



Es sollte so aussehen :







Öffnen Sie jetzt unser neues Zertifikat im vc.home.local.crt-Center in einem Texteditor

und kopieren Sie es in der Datei /tmp/new.crt nach vc. Als



Nächstes ermitteln Sie den sha1-Hash der Datei /tmp/old.crt. Sie benötigen ihn dort, um die alten Zertifikate durch zu ersetzen Neu.



openssl x509 -in /tmp/old.crt -noout -fingerprint -sha1


Führen Sie als Nächstes das Ersatzskript aus:



./ls_update_certs.py --url https://vc.home.local/lookupservice/sdk --fingerprint 86:0D:BB:--- ----:C7:0E:D1:3E:17:39 --certfile /tmp/new.crt --user administrator@home.local --password 


Am Ende des Skripts enthält der Bericht die Anzahl der ersetzten Zertifikate.



Gehen Sie danach zu vr.home.local: 5480 und speichern Sie die Konfiguration. Wenn Sie alles richtig gemacht haben, sollte der Server die Konfiguration erfolgreich speichern und den Server vr-Dienst starten.







3. Ersetzen des Zertifikats durch VMware Site Recovery Manage



Auf diesem Server wird alles über die Weboberfläche im Menü Zertifikat erledigt .



Wir gehen zum Verwaltungspanel srm.home.local : 5480



  1. Fügen Sie unsere Wurzel ca mit der Schaltfläche HINZUFÜGEN hinzu
  2. Ändern Sie das aktuelle Zertifikat mit der Schaltfläche ÄNDERN







Damit ist die Änderung aller Zertifikate abgeschlossen.



Danke an alle!



All Articles