Zertifikate für vCenter, ESXi und SSL erstellen, verteilen und verwalten


    Tags: , ,

    Zertifikate für vSphere ausstellen und verwaltenSämtliche vCenter-Dienste verwenden SSL für die Kommunikation miteinander und mit ESXi. Außer­dem nutzen Kompo­nenten wie der vSphere Web Client Zertifikate zur Authen­tifizierung bei vCenter SSO. Ihr Manage­ment war in der Vergan­gen­heit recht umständ­lich. VMware hat in Version 6.5 diese Kom­plexität ver­ringert.

    Bei der Bereitstellung und Verteilung von Zertifikaten spielen nun folgende Komponenten der vCenter-Architektur zusammen:

    1. Die VMware-Zertifizierungsstelle (VMCA) stellt Zertifikate für VMware-Lösungsbenutzer, Maschinenzertifikate für SSL und ESXi-Hostzertifikate aus, allerdings nur für solche Clients, die sich an der SSO-Domäne authentifizieren können. Die VMCA kann unverändert oder als Zwischen­zertifizierungs­stelle betrieben werden. Sie wird zentral vom Platform Services Controller (PSC) bereitgestellt.
    2. Der VMware-Verzeichnisdienst (VMDIR) verwaltet die SAML-Tickets für die Authenti­fizierung mit SSO. Auch der auf LDAP basierende VMDIR wird vom PSC bereitgestellt.
    3. Der VMware-Authentifizierungs-Framework-Daemon (VMAFD) stellt den VMware Endpoint Certificate Store (VECS) und weitere Authenti­fizierungs­dienste bereit. Während das VMAFD auf dem PSC läuft, existiert der VECS bei verteilten Setups sowohl auf dem PSC als auch auf jedem vCenter-Knoten. Allerdings interagieren nur vSphere-Administratoren direkt mit VECS, alle anderen Dienste werden intern verwendet.

    Lifecycle-Management von Zertifikaten mit VMCA und VECS.

    Das Zusammenspiel funktioniert dann wie folgt: Während SSO jeder Gruppe von Diensten (=Lösungs­benutzern) ein SAML-Token zur Verfügung stellt, mit dem sich speziell der Lösungsbenutzer authentifiziert, stellt ab vSphere 6 die integrierte VMware Certificate Authority (VMCA) für jeden ESXi-Host und jeden vCenter Server-Dienst ein Zertifikat bereit. Dieses ist standardmäßig von VMCA signiert. In einer vSphere-Umgebung gibt es also verschiedene Arten von Zertifikaten, zumindest im Hinblick auf den Einsatzzweck:

    EinsatzzweckAusstellerSpeicherort
    ESXi-Zertifikate VMCA (Standard, änderbar mit externer CA oder VMCA als Zwischen­zertifizierungs­stelle) Lokal auf dem ESXi-Host
    Maschinen-SSL-Zertifikate VMCA (Standard, änderbar mit externer CA oder VMCA als Zwischen­zertifizierungs­stelle) VECS auf dem entsprechenden vCenter-Node.
    Lösungs­benutzer-Zertifikate VMCA (Standard, änderbar zu externer CA oder VMCA als Zwischen­zertifizierungs­stelle) VECS auf dem entsprechenden vCenter-Node.
    vCenter SSO-SSL-Signaturzertifikat Bei der Installation bereitgestellt. Verwaltbar über den Web Client.
    SSL-Zertifikat für VMware Directory Service (VMDIR) Bei der Installation bereitgestellt. Achtung: ab vSphere 6.5 wird das Maschinen-SSL-Zertifikat als vmdir-Zertifikat verwendet.

    Tools für das Zertifikats-Management

    Für das Erzeugen, Erneuern und Verwalten von Zertifikaten steht Ihnen seit vSphere 6 eine Reihe von Werkzeugen für die Kommandozeile und im Web Client zur Verfügung. Sie können dafür z. B. im Web Client im administrativen Bereich unter Verwaltung => System­konfiguration => Knoten auf das betreffende vCenter im Tab Verwalten auf den Bereich Zertifizierungsstelle klicken.

    Anzeigen der Zertifikate im vSphere Web Client

    Hier müssen Sie dann zunächst durch erneutes Eingeben des Kennworts für das verwendete administrative Konto Ihre Identität bestätigen und können dann Aktive Zertifikate, Widerrufene Zertifikate, Abgelaufene Zertifikate und das Rootzertifikat anzeigen.

    Ferner stellt VMware seit der Version 6 eine Reihe leistungsfähiger CLI-Tools für das Zertifikats­management zur Verfügung. So dient etwa certool dem Generieren und Verwalten der Zertifikate und Schlüssel. Das Tool ist Teil von VMCAD, VMwares Dienst für die Zertifikat­verwaltung.

    Bei Verwendung von vCenter Server Appliance (vCSA) finden Sie es unter /usr/lib/vmware-vmca/bin/certool. Mit vecs-cli können Sie hingegen die Inhalte von VMware-Zertifikatspeicher­instanzen (VECS) verwalten. Das Tool ist Bestandteil von VMAFD, d. h. Sie finden es bei der vCSA unter /usr/lib/vmware-vmafd/bin/vecs-cli.

    Das Tool dir-cli dient dem Erstellen und Aktualisieren der Zertifikate im VMware Directory Service und ist ebenfalls Bestandteil von VMAFD, bei VCSA also unter /usr/lib/vmware-vmafd/bin/dir-cli zu finden.

    Teil der vCenter Single Sign On-Konfiguration ist auch sso-config. Sie benötigen es aber allenfalls für das Einrichten der zweistufigen Authentifizierung, da Sie die gewöhnliche SSO-Konfiguration inzwischen auch im Web-Client erledigen können. Müssen Sie im Verlauf eine Zertifikat­ersetzung einzelne Dienste neu starten, dann können Sie das an der vCSA mit dem neuen Kommando service-control tun.

    Zertifikats-Infrastruktur und Zertifikates-Management

    Sie haben unter vSphere 6.5 drei Möglichkeiten, eine Infrastruktur für das Zertifikate-Management aufzubauen und zu betreiben.

    1. Zertifikate erneuen: Sie können z. B. die VMCA veranlassen, ein neues Root-Zertifikat zu generieren und dann sämtliche Zertifikate in Ihrer Umgebung über die Web-Schnittstelle des Platform Services Controller verlängern.

    2. VMCA zu einer Zwischen­zertifizierungs­stelle machen: Sie können mit Hilfe des CLI-Tools vSphere Certificate Manager (/usr/lib/vmware-vmca/bin/certificate-manager) das Zertifikat der Certificate Signing Requests (CSRs) bearbeiten, um damit die VMCA selbst zur Zertifikatskette und anschließend die Zertifikatskette und den privaten Schlüssel zu Ihrer Umgebung hinzuzufügen. Verlängern Sie danach alle Zertifikate, stellt VMCA allen Maschinen und Lösungsbenutzern Zertifikate bereit, die von der vollständigen Zertifikatskette signiert sind.

      Die VMCA als Zwischenzertifizierungsstelle einrichten

    3. Zertifikate durch benutzerdefinierte Zertifikate ersetzen: Sie können aber auf den Einsatz von VMCA auch ganz verzichten und die CSRs für die zu ersetzenden Zertifikate generieren. Die gewünschte Zertifizierungsstelle (z. B. Active Directory) gibt für jede CSR ein Root-Zertifikat und ein signiertes Zertifikat zurück. Sie müssen dann das Root-Zertifikat und die benutzerdefinierten Zertifikate aus dem Platform Services Controller hochladen.

    Zertifikate durch externe CA ersetzen, VMCA nicht verwenden

    VMware stellt in einem sehr umfangreichen KB-Artikel 2145166 die meisten der hier skizzierten Möglichkeiten im Detail vor. Betreiber kleiner ESXi-Umgebungen werden sich in der Regel für Methode 1 oder 3 entscheiden. Möchten Sie mit eigenen Zertifikaten arbeiten, weil Sie z. B. bereits über eine eigene Zertifizierungsstelle, wie z. B. Active Directory verfügen und zudem die Warnungen der Client-Software vermeiden wollen, ist 3 der richtige Weg.

    Unser Beitrag SSL-Zertifikat für ESXi 5.5 mit AD CA ausstellen und installieren zeigt ausführlich, wie Sie Windows-seitig vorgehen müssen.

    Maschinen-Zertifikate ersetzen mit dem CLI-Tool certificate-manager

    Für den VMware-seitigen Ersetzungsvorgang nutzen Sie den certificate-manager. Der Vorteil bei der Verwendung dieses CLI-Tools besteht darin, dass Sie nicht mit vecs-cli oder certool interagieren müssen. Die beiden meist verwendeten Optionen sind 1. und 2.

    Vielen Nutzern genügt es, die Maschinen SSL-Zertifikate durch selbst signierte (z. B. durch Windows CA) Zertifikate zu ersetzen. Hier wählen Sie einfach den Punkt 1.

    Please provide valid SSO and VC privileged user credential to perform certificate operations.

    Enter username [Administrator@vsphere.local]:

    1. Generate Certificate Signing Request(s) and Key(s) for Machine SSL certificate

    2. Import custom certificate(s) and key(s) to replace existing Machine SSL certificate

    … und anschließend erneut 1, um den erforderlichen Certificate Signing Requst (CSR) zu generieren.

    Zertifikatsanforderung erstellen mit certificate-manager

    Nun könnten Sie diesen Request von ihrer Zertifikatsstelle signieren lassen und das Zertifikat im Base64-Format wieder auf dem Server zur Verfügung stellen. Ist das geschehen, können Sie es an dieser Stelle mit Option 1. importieren.

    Alternativ könnten Sie wie erwähnt auch unter Zuhilfenahme des Windows-Zertifikatsdienstes Zertifikate anfordern, ausstellen lassen und exportieren.

    Keine Kommentare