Bevor Sie die Smartcard-Authentifizierung aktivieren, müssen Sie vCenter Server zum Anfordern von Clientzertifikaten konfigurieren.
Die Konfiguration verwendet Port 3128, der in vCenter Server automatisch eingerichtet und geöffnet wird.
Voraussetzungen
Kopieren Sie die Zertifikate der Zertifizierungsstelle in das vCenter Server-System, das zum Erstellen des vertrauenswürdigen Client-Zertifizierungsstellenspeichers verwendet werden soll. Dieser Speicher muss die von der Zertifizierungsstelle ausgestellten vertrauenswürdigen Zertifikate für das Clientzertifikat enthalten. Der Client ist hierbei der Browser, von dem aus der Smartcard-Prozess den Endbenutzer zur Eingabe von Informationen auffordert.
Hinweis:
vCenter Server 7.0 und höher unterstützt das HTTP/2-Protokoll. Alle modernen Browser und Anwendungen, einschließlich
vSphere Client, stellen Verbindungen zu
vCenter Server über HTTP/2 her. Für die Smartcard-Authentifizierung muss allerdings das HTTP/1.1-Protokoll verwendet werden. Durch das Aktivieren der Smartcard-Authentifizierung wird ALPN (Application-Layer Protocol Negotiation,
https://tools.ietf.org/html/rfc7301) für HTTP/2 deaktiviert. Dadurch wird faktisch verhindert, dass der Browser HTTP/2 verwendet. Anwendungen, die nur HTTP/2 verwenden, ohne sich auf ALPN zu stützen, funktionieren weiterhin.
Um die Smartcard-Authentifizierung abzuschließen, müssen Clients über Zugriff auf Port 3128/TCP auf dem entsprechenden vCenter Server verfügen. Überprüfen Sie die Perimeter Firewalls, um sicherzustellen, dass Zugriff gewährt wurde.
Die Verbindung wird während der Smartcard-Anmeldung an Port 3128 umgeleitet. Port 3128 unterstützt nur vorkonfigurierte gegenseitige Authentifizierungsverbindungen und ist nicht als direkter Browser-Endpoint vorgesehen. Er schickt keinen HSTS-Header zurück. Wenn Ihr Schwachstellenscanner dieses Verhalten meldet, kann es bedenkenlos ignoriert werden.
Prozedur
- Melden Sie sich bei der vCenter Server-Shell als Root-Benutzer an.
- Erstellen Sie einen vertrauenswürdigen Client-Zertifizierungsstellenspeicher auf dem vCenter Server mithilfe des genauen Pfads und PEM-Namens,
/usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
.
Warnung: Sie müssen den genauen Pfad und PEM-Namen
/usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
verwenden.
- Wechseln Sie in das Verzeichnis /usr/lib/vmware-sso/.
- Um den vertrauenswürdigen Client-Zertifizierungsstellenspeicher zu erstellen, führen Sie den Befehl openssl aus, wobei Sie Ihr vertrauenswürdiges Signaturzertifikat eingeben. Mit dem folgenden Befehl wird beispielsweise die Datei clienttrustCA.pem anhand des vertrauenswürdigen Signaturzertifikats xyzCompanySmartCardSigningCA.cer erstellt.
openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA.cer > /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
Sie können dem vertrauenswürdigen Client-Zertifizierungsstellenspeicher zusätzliche Zertifikate hinzufügen, indem Sie den Befehl
openssl mit dem Operator „>>“ ausführen, um das zusätzliche Zertifikat anzuhängen. Mit dem folgenden Befehl wird beispielsweise
xyzCompanySmartCardSigningCA2.cer an die vorhandene Datei
clienttrustCA.pem angehängt.
openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA2.cer >> /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
- Um zu überprüfen, ob der Inhalt der Datei clienttrustCA.pem die vertrauenswürdigen Zertifizierungsstellen enthält, die die Smartcard-Zertifikate signiert haben, führen Sie den Befehl keytool aus.
Beispiel:
keytool -printcert -file /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem | grep -i "owner\|sha1\|issuer:\|valid"
- Stellen Sie sicher, dass die Namen der Zertifizierungsstelle mit der Smartcard-Benutzerzertifikatskette übereinstimmen.
Sie können beispielsweise den folgenden Befehl ausführen.
sso-config.sh -get_authn_policy -t vsphere.local | grep trusted
Die Stamm- und Zwischenzertifikate müssen über übereinstimmende Fingerabdrücke, Namen, gültige Datumsangaben usw. verfügen.
Hinweis: Sie können auch den
vSphere Client verwenden (
).
- Starten Sie den STS-Dienst neu.
service-control --restart sts