Security mit Shielded-VMs und Host Guardian Service (2)

Lesezeit
3 Minuten
Bis jetzt gelesen

Security mit Shielded-VMs und Host Guardian Service (2)

11.10.2021 - 00:00
Veröffentlicht in:
Der Host Guardian Service sorgt in der Datacenter Edition für die Sicherheit von VMs. Virtuelle Server lassen sich so härten und vor anderen Administratoren, Angreifern und unberechtigten Zugriffen abschotten. Zusammen mit Shielded-VM verweigert dieser Sicherheitsmechanismus Angreifern und Malware den Zugriff auf die Daten der VM. Auch Netzwerke, die von Angreifern übernommen wurden oder bei denen andere Bereiche kompromittiert sind, stellen keine Gefahr für derart gesicherte VMs dar. In der zweiten Folge des Workshops beschäftigen wir uns mit der Konfiguration des Host Guardian Service und zeigen, wie Sie Shielded-VMs erstellen und mit SCVMM verwalten.
Host Guardian Service konfigurieren
Wenn Sie auf einem Server die HGS-Serverrolle installiert haben, zum Beispiel in der PowerShell mit
Install-WindowsFeature 
 -Name HostGuardianServiceRole 
 -IncludeManagementTools -Restart
erstellen Sie auf dem Server zunächst eine neue AD-Domäne. Danach initialisieren Sie den HGS-Server. Im ersten Schritt öffnen Sie dazu eine PowerShell-Sitzung und konfigurieren die neue Domäne für HGS:
Install-HgsServer -HgsDomainName "hostgs.com" 
 -SafeModeAdministratorPassword (read-host  -prompt <Kennwort> -assecurestring) 
 -Restart
Danach richten Sie die Umgebung ein. Sie können für Testumgebungen ein selbstsigniertes Zertifikat verwenden, in produktiven Umgebungen ist jedoch ein Zertifikat aus den AD-Zertifikatsdiensten zu bevorzugen. Die Konfiguration ist am einfachsten, wenn Sie die einzelnen Werte, die Sie in der PowerShell angeben müssen, zuvor in Variablen speichern, wie im Listing "Zertifikat für HGS erzeugen" gezeigt. Tragen Sie bei den jeweiligen Befehlen die Daten Ihrer Umgebung ein. Die Ausführung der Befehle darf keine Fehler verursachen.


 
Anschließend müssen Sie sicherstellen, dass die Namensauflösung zwischen den beiden Active-Directory-Gesamtstrukturen funktioniert. Dazu arbeiten Sie am besten mit bedingten Weiterleitungen in beiden Umgebungen. Ihr DNS-Server kann nur Anfragen der Clients beantworten, für die Zonen hinterlegt wurden. Wollen Sie auch andere Zonen auflösen, müssen Sie im DNS konfigurieren, welche Server gefragt werden sollen. Der DNS-Server überprüft zunächst, ob er für die Domäne zuständig ist. Wenn er weder Zone noch Delegation findet, werden die DNS-Server gefragt, die über den Eintrag "Bedingte Weiterleitungen" in der Konsolenstruktur hinterlegt sind.

Sobald die Namensauflösung funktioniert, können Sie auf dem HGS-Server die Vertrauensstellung zwischen HGSAD und dem Fabric-AD einrichten, also Ihrem produktiven AD, in dem sich die Guarded Hosts befinden. In der PowerShell erledigen Sie dies beispielsweise wie folgt:
$HGSDomainName = "hostgs.com"
$ADDomainName = "contoso.int"
$ADDomainUser = "Administrator"
$ADAdminPasswd = "Kennwort" netdom trust $HGSDomainName 
 /domain:$ADDomainName /userD:$ADDomainName\$ADDomainUser 
 /passwordD:$ADAdminPasswd /add
Die Hyper-V-Hosts, die Sie mit HGS absichern wollen, müssen Mitglied einer neuen AD-Gruppe sein. Dazu legen Sie die AD-Gruppe an und nehmen die Hyper-V-Hosts auf. Zusätzlich müssen Sie noch die SIDs der Hyper-V-Hosts auslesen und auf dem HGS-Server importieren. In dieser Umgebung gehen wir davon aus, dass die Fabric-Domäne die Bezeichnung "contoso.int" hat und der erste Guarded Host die Bezeichnung "hpdl20.contoso.int":
$GuardedGroupName="GuardedHosts"
$guardedhost="hpdl20.contoso.int" 
$GroupMember="CN=hpdl20,OU=Computers,DC=contoso,DC=int"
$guardedGroup = New-ADGroup -Name 
$GuardedGroupName -SamAccountName "GuardedHosts" -GroupCategory Security 
-GroupScope Global Add-ADGroupMember -Identity $GuardedGroupName 
-Members $GroupMember
In der PowerShell lesen Sie auch die SID aus, die Sie später wiederum auf dem HGS-Server einlesen, um den Hyper-V-Host als Guarded Host zu konfigurieren. Danach legen Sie fest, welche AD-Gruppe in der Fabric-Domäne die sicheren Hyper-V-Host enthält:
Add-HgsAttestationHostGroup -Name "GuardedHosts" 
 -Identifier "S-1-5-21-260484123-1724494931-1379840826-1109"


Den Befehl führen Sie wiederum in der PowerShell des HGS-Servers aus. Die SID können Sie auch in der PowerShell mit
get-adgroup <Name der Gruppe>
auslesen. Sind alle notwendigen Features für die HGS-Anbindung von Hyper-V installiert, melden Sie sich in der PowerShell des Hyper-V-Hosts am HGS an. Dazu ist es wichtig, dass in der Gesamtstruktur mit den Hyper-V-Hosts die HGS-Domäne als DNS-Weiterleitung konfiguriert ist und umgekehrt. Im folgenden Beispiel ist der Name der GHS-Domäne "hostgs.com". Den Befehl führen Sie auf dem Hyper-V-Host aus. Beachten Sie, im Befehl die korrekten Daten Ihrer Umgebung einzugeben:
Set-HgsClientConfiguration -AttestationServerUrl "http://hostgs.com/Attestation" 
-KeyProtectionServerUrl "http://hostgs.com/KeyProtection" -confirm:$false
Die erfolgreiche Anmeldung testen Sie am Guarded Host durch
Get-HgsClientConfiguration
Auf dem HGS-Server überprüfen Sie die Konfiguration des Host Guardian Services mit dieser Zeile:
Get-HgsTrace -RunDiagnostics
Die korrekte Konfiguration der Umgebung bringen Sie in der PowerShell mit
Test-HGSServer -HgsDomainName <HGS-Domäne>
in Erfahrung. Vor allem in Umgebungen, in denen Sie die Bereitstellung erst testen und dann aktiv schalten, sollten Sie vor der Übernahme in die Produktivumgebung einen Blick auf das Ergebnis dieses Cmdlets werfen. Microsoft bietet Whitepaper [1] zur Fehlerbehandlung, wenn einzelne Bereiche nicht korrekt funktionieren. Zusätzlich rufen Sie mit
Get-HgsServer
Get-HgsAttestationPolicy
Informationen zur erstellten Umgebung ab. Hier sollten die URLs und Daten fehlerfrei erscheinen. Die geschützten Hyper-V-Hosts und die angebundenen SCVMM-Server müssen über diese URLs mit den Servern kommunizieren können.

Außerdem sollten Sie mit dem Internet Explorer auf dem Server überprüfen, ob der HGS auf Anfragen antwortet. Dazu rufen Sie die URL "http://localhost/KeyProtection/servic/metadata/2014-07/metadata.xml" auf. Als Antwort erscheint eine XML-Seite mit Informationen.

In produktiven Umgebungen sollten Sie noch die Einträge in der Ereignisanzeige der HGS-Server überwachen. Entweder nutzen Sie dazu Tools wie System Center Operations Manager oder andere Überwachungswerkzeuge. Sie können dazu auch ein Ereignisabonnement erstellen. Im Rahmen des Abonnements können Sie die Ereignisse filtern:
Microsoft-Windows-HostGuardianService-Attestation/Admin,
MicrosoftWindows-HostGuardianService-Attestation/Operational,
Microsoft-Windo ws-HostGuardianService-KeyProtection/Admin,
Microsoft-WindowsHostGuardianService-KeyProtection/Operational
Seite 2: Shielded-VMs erstellen und mit SCVMM verwalten


Seite 1 von 2 Nächste Seite >>


jp/ln/Thomas Joos

[1] https://docs.microsoft.com/en-us/windows-server/security/guarded-fabric-shielded-vm/guarded-fabric-deployment-overview

Ähnliche Beiträge

IT-Tage 2023 – Konferenz für Entwicklung, Datenbanken, DevOps, Security und KI

„Alles unter einem Dach!“ ist das Motto der IT-Tage, der Jahreskonferenz des Fachmagazins Informatik Aktuell. Unter anderem werden Subkonferenzen zu den Themen Software-Entwicklung und -Architektur, Datenbanken, DevOps, Cloud & Serverless, IT-Security, Künstliche Intelligenz, Java, Python oder .NET angeboten.

Security mit Shielded-VMs und Host Guardian Service (3)

Der Host Guardian Service sorgt in der Datacenter Edition für die Sicherheit von VMs. Virtuelle Server lassen sich so härten und vor anderen Administratoren, Angreifern und unberechtigten Zugriffen abschotten. Zusammen mit Shielded-VM verweigert dieser Sicherheitsmechanismus Angreifern und Malware den Zugriff auf die Daten der VM. Auch Netzwerke, die von Angreifern übernommen wurden oder bei denen andere Bereiche kompromittiert sind, stellen keine Gefahr für derart gesicherte VMs dar. Im dritten und letzten Workshop-Teil geht es um das Zusammenspiel von Windows Azure Pack mit Shielded VMs und wie Sie HTTPS für HGS aktivieren.