Schritt-für-Schritt-Anleitung: vSphere Trust Authority konfigurieren

    Virtuelle Maschinen verschlüsselnDie vSphere Trust Authority (vTA) besteht aus dem Verwaltungs-Cluster und einem vertrauens­würdigen Schlüssel­anbieter. Alle normalen ESXi-Cluster werden gegen den vTA-Cluster bestätigt. Diese Anleitung be­schreibt, wie man eine solche Infra­struktur ein­richtet, um die Inte­grität der Hosts zu prüfen.

    Zum Einrichten von vTA braucht man zunächst einen Trust-Authority-Administrator. Hierbei handelt es sich um einen User, welcher der vSphere-Gruppe TrustedAdmins angehört. Dieser Benutzer wird dann zum Administrator der Vertrauens­berechtigung. VMware empfiehlt, einen vom vCenter-Server-Administrator getrennten Benutzer zu verwenden.

    Administrator von Vertrauens­berechtigungen einrichten

    Den Administrator von Vertrauens­berechtigungen muss man sowohl dem vTA-Cluster als auch dem vertrauens­würdigen Cluster hinzufügen. Dazu klickt man im Menü Verwaltung im Abschnitt Single Sign-On auf Benutzer und Gruppen, wechselt zum Tab Gruppen und öffnet die Gruppe TrustedAdmins.

    Gruppe 'TrustedAdmins' im vSphere Client öffnen

    Dort kann man dann mit einem Klick auf Mitglieder hinzufügen einen User anlegen, hier heißt er trustedadmin.

    Konto mit dem Namen 'trustedadmin' in der Gruppe 'TrustedAdmins' erstellen

    Die Gruppen­mitgliedschaft wird von ESXi mithilfe der SAML-Token-Authentifizierung überprüft. Ist das erledigt, dann kann sich der vTA-Administrator um das Aktivieren und Konfigurieren von vSphere Trust Authority kümmern.

    Schritte zum Einrichten von vTA

    Der Workflow zur Einrichtung von vSphere Trust Authority sieht in der Übersicht wie folgt aus:

    1. Exportieren der Identität der zu bescheinigenden Hosts
    2. Aktivieren der vertrauenswürdigen Host-Dienste in einem vTA-Cluster
    3. Importieren der Identität der attestierenden Hosts in den Trust Authority Cluster
    4. Konfigurieren eines vertrauens­würdigen Schlüssel­anbieters
    5. Exportieren der Identität des Trust Authority-Clusters
    6. Importieren der vTA-Cluster-Identität in den Attestierungs-Cluster
    7. Konfigurieren des vTA-Clusters als Schlüssel­anbieter für den Attestierungs-Cluster

    vTA mit PowerCLI konfigurieren

    Die Konfiguration selbst ist bislang allerdings nur via PowerCLI möglich. Hierzu verbindet man sich zunächst mit dem zu attestierenden Host:

    Connect-VIServer -server <ESXi-Host-FQDN> -User root -Password <Password>

    Den Host-Namen parkt man dann der Einfachheit halber gleich in einer Variablen.

    $vmhost = Get-VMHost

    Dann überprüft man den TPM-Endorsement-Schlüssel des ESXi-Hosts und packt auch diesen in eine neue Variable:

    $tpm2 = Get-Tpm2EndorsementKey -VMHost $vmhost

    Danach exportiert man mithilfe des TPM-Endorsement-Schlüssels das CA-Zertifikat des TPM-Geräts in ein  Verzeichnis auf dem Arbeitsplatz­rechner, in unserem Beispiel nach D:\vTA\:

    Export-Tpm2CACertificate -Tpm2EndorsementKey $tpm2 -FilePath D:\vTA\ca-cert.zip

    Anschließend exportiert man die ESXi-Image-Metadaten vom Host.

    Export-VMHostImageDb -VMHost $vmhost -FilePath D:\vTA\image.tgz

    Vertrauens­würdigen Benutzer­prinzipal exportieren

    Im folgenden Schritt muss man den vertrauens­würdigen Benutzer­prinzipal aus dem vCenter-Server, der den vertrauens­würdigen (attestierten) Cluster verwaltet, exportieren. Diese Informationen werden dann in das vCenter importiert, das den vTA-Cluster verwaltet.

    Dazu verbindet man sich  zunächst per PowerCLI zum vCenter-Server, das den Trusted-Cluster (attested) verwaltet.

    Connect-VIServer -server <VCSA-TrustedCluster-FQDN> -User trustedadmin@vsphere.local `
    -Password <Password>

    Dann exportiert man den vertrauens­würdigen Benutzer­prinzipal in das gleiche Verzeichnis auf dem Arbeitsrechner, hier  D:\vTA\

    Export-TrustedPrincipal -FilePath D:\vTA\principal.json

    Trust Authority Services aktivieren

    Nun kann man sich dem Aktivieren der Trust Authority Services widmen. Dazu verbindet man sich unter Zuhilfe­nahme der Credentials des Trusted Administrator erneut per PowerCLI zum vCenter, das den vTA-Cluster verwaltet:

    Connect-VIServer -server <VCSA-TrustAuhorityCluster-FQDN> `
    -User trustedadmin@vsphere.local -Password <Password>

    Dort ruft man zunächst den aktuellen Status der vertrauens­würdigen Dienste des vTA-Clusters ab:

    Get-TrustAuthorityCluster "<Cluster-Name- TrustAuhorityCluster>"

    Danach weist man den aktuellen Status der vertrauens­würdigen Dienste des vTA-Clusters einer Variablen zu

    $TAcluster = Get-TrustAuthorityCluster "<Cluster-Name- TrustAuhorityCluster>"

    und aktiviert dann die vertrauenswürdigen Dienste im vTA-Cluster:

    Set-TrustAuthorityCluster -TrustAuthorityCluster $TAcluster -State Enabled

    Hier muss man mit "y" bestätigen, um den vTA-Cluster zu aktivieren.

    Vertrauenswürdige Hosts in den vTA-Cluster importieren

    Im vierten Schritt importiert man dann die vertrauens­würdigen Host-Informationen in den vTA-Cluster. Auch das geschieht per PowerCLI:

    New-TrustAuthorityPrincipal -TrustAuthorityCluster $TAcluster `
    -FilePath D:\vTA\principal.json

    Um zu überprüfen, ob der vorherige Import erfolgreich war, ruft man die Informationen am besten gleich wieder ab:

    Get-TrustAuthorityPrincipal -TrustAuthorityCluster $TAcluster

    Jetzt muss man noch das TPM-CA-Zertifikat vom vertrauens­würdigen Cluster in den vTA-Cluster importieren:

    New-TrustAuthorityTpm2CACertificate -Name tpmca -TrustAuthorityCluster $TAcluster `
    -FilePath D:\vTA\ca-cert.zip

    Anschließend importiert man die ESXi-Image-Metadaten aus dem vertrauens­würdigen Cluster in den vTA-Cluster:

    New-TrustAuthorityVMHostBaseImage -TrustAuthorityCluster $TAcluster `
    -FilePath D:\vTA\image.tgz

    Dieser Schritt bestimmt, welche Versionen von ESXi vom Trust Authority Cluster als vertrauens­würdig eingestuft werden.

    Vertrauens­würdigen Schlüsselanbieter im vTA-Cluster anlegen

    Nun erstellt man den vertrauens­würdigen Schlüssel­anbieter im vTA-Cluster, damit dieser die Verschlüsselungs­schlüssel von einem Schlüssel­verwaltungs-Server (KMS) anfordern kann. Dazu gibt man den Namen des Schlüssel­anbieters an, hier "TA-Cluster-KMS1".

    New-TrustAuthorityKeyProvider -TrustAuthorityCluster $TAcluster -MasterKeyId 1 `
    -Name TA-Cluster-KMS1 -KmipServerAddress <IP-Adresse KMIP-Server>

    Die so genannte MasterKeyId hat normalerweise die Form einer längeren UUID. Da wir für dieses Beispiel PyKMIP als KMS verwenden, ist die ID  etwas kürzer. In der Praxis hängt der Wert hängt vom verwendeten KMS-Anbieter ab. Der Einfachheit halber packen wir zunächst den Schlüsselanbieter in eine  Variable:

    $kp = Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $TAcluster

    Dann erstellt man das Client-Zertifikat des vertrauens­würdigen Schlüssel­anbieters.

    New-TrustAuthorityKeyProviderClientCertificate -KeyProvider $kp

    Ob das erfolgreich war, zeigt der Aufruf:

    Get-TrustAuthorityKeyProviderServerCertificate -KeyProviderServer $kp.KeyProviderServers

    Auch das KMS-Zertifikat parken wir in einer Variablen:

    $cert = Get-TrustAuthorityKeyProviderServerCertificate `
    -KeyProviderServer $kp.KeyProviderServers

    Nun fügt man das KMS-Zertifikat dem vertrauens­würdigen Schlüssel­anbieter mit einem vertrauens­würdigen Status hinzu

    Add-TrustAuthorityKeyProviderServerCertificate -ServerCertificate $cert

    Danach exportieren wir die Einstellungen für den vTA-Cluster. Diese Informationen werden dann in den vertrauens­würdigen Cluster importiert

    Export-TrustAuthorityServicesInfo -TrustAuthorityCluster $TAcluster `
    -FilePath D:\vTA\cluster_settings.json

    Um eine Verbindung zum vTA-Cluster herzustellen, importiert man dessen Einstellungen in den Cluster der vertrauens­würdigen Hosts. Hier stellt man wieder mithilfe von PowerCLI eine Verbindung zu dem vCenter Server her, der den vertrauens­würdigen Cluster verwaltet:

    Connect-VIServer -server <VCSA-TrustedCluster-FQDN> `
    -User trustedadmin@vsphere.local -Password <Password>

    Auch hier stecken wir den vertrauens­würdigen Cluster zunächst in eine Variable:

    $TrustedCluster = Get-TrustedCluster "<Cluster-Name- TrustAuhorityCluster>"

    Dann importiert man die Informationen de vTA-Clusters:

    Import-TrustAuthorityServicesInfo –FilePath D:\vTA\cluster_settings.json

    Danach aktiviert man den vertrauenswürdigen Cluster:

    Set-TrustedCluster -TrustedCluster $TrustedCluster -State Enabled

    Anbieter für vertrauens­würdige Schlüssel

    Zum Schluss konfiguriert man den Anbieter für vertrauens­würdige Schlüssel für den Cluster mit den vertrauenswürdigen Hosts so, dass dieser Verschlüsselungs­schlüssel empfangen kann. Das erfolgt wieder im vSphere-Client des vCenter-Servers, das den vertrauenswürdigen Cluster verwaltet.

    Hierzu markiert man das logische vCenter-Objekt in der Host & Cluster-Ansicht, navigiert zur  Registerkarte Konfigurieren und wählt im Abschnitt Sicherheit die Option Schlüsselanbieter aus. Dort klickt man dann auf Vertrauens­würdige Schlüsselanbieter hinzufügen. Alle verfügbaren Anbieter sollten den Status Verbunden aufweisen.

    Fazit

    Die vSphere Trust Authority ist eine neue und grundlegende Technologie, mit der man auf einer sehr "tiefen" Ebene Vertrauen in die verwendete Hardware- und Software-Konfigurationen imple­mentieren kann.

    Die vSphere Trust Authority erhöht allerdings die Komplexität durch einen separaten Cluster und viele zusätzliche Konfigurations­schritte. In kleinen Umgebungen ist der Aufwand möglicherweise unverhältnis­mäßig.

    Sicherheits­orientierte Nutzer mit größeren Bereit­stellungen werden jedoch erkennen, dass das neue Feature viel Potenzial hat. Außerdem kann ein einziger vTA-Verwaltungs-Cluster tausende Hosts und Cluster zu bestätigen.

    Die Kosten und die Komplexität dieses Clusters werden daher durch das geringere Risiko und das höhere Vertrauen ausgeglichen, das vTA für das gesamte Unternehmen mit sich bringt.

    Keine Kommentare