Die vSphere Trust Authority (vTA) besteht aus dem Verwaltungs-Cluster und einem vertrauenswürdigen Schlüsselanbieter. Alle normalen ESXi-Cluster werden gegen den vTA-Cluster bestätigt. Diese Anleitung beschreibt, wie man eine solche Infrastruktur einrichtet, um die Integritä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 Vertrauensberechtigung. VMware empfiehlt, einen vom vCenter-Server-Administrator getrennten Benutzer zu verwenden.
Administrator von Vertrauensberechtigungen einrichten
Den Administrator von Vertrauensberechtigungen muss man sowohl dem vTA-Cluster als auch dem vertrauenswü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.
Dort kann man dann mit einem Klick auf Mitglieder hinzufügen einen User anlegen, hier heißt er trustedadmin.
Die Gruppenmitgliedschaft 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:
- Exportieren der Identität der zu bescheinigenden Hosts
- Aktivieren der vertrauenswürdigen Host-Dienste in einem vTA-Cluster
- Importieren der Identität der attestierenden Hosts in den Trust Authority Cluster
- Konfigurieren eines vertrauenswürdigen Schlüsselanbieters
- Exportieren der Identität des Trust Authority-Clusters
- Importieren der vTA-Cluster-Identität in den Attestierungs-Cluster
- Konfigurieren des vTA-Clusters als Schlüsselanbieter 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 Arbeitsplatzrechner, 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
Vertrauenswürdigen Benutzerprinzipal exportieren
Im folgenden Schritt muss man den vertrauenswürdigen Benutzerprinzipal aus dem vCenter-Server, der den vertrauenswü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 vertrauenswürdigen Benutzerprinzipal 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 Zuhilfenahme 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 vertrauenswürdigen Dienste des vTA-Clusters ab:
Get-TrustAuthorityCluster "<Cluster-Name- TrustAuhorityCluster>"
Danach weist man den aktuellen Status der vertrauenswü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 vertrauenswü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