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

Lesezeit
3 Minuten
Bis jetzt gelesen

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

11.10.2021 - 00:00
Veröffentlicht in:
Shielded-VMs erstellen
Zum Anlegen einer Shielded-VM benötigen Sie eine entsprechende Vorlage sowie eine PDK-Datei, die alle Daten des Guarded Hosts und seine Zertifikate enthält. Dazu installieren Sie eine neue VM und weisen dieser eine VHDX-Datei zu. Generell bereiten Sie diese Bereiche auf einem Hyper-V-Host vor, der (noch) nicht an HGS angebunden ist. Auf diesem installieren Sie zunächst die notwendigen Rollen und Features, um Shielded-VMs zu verwalten. Das geht wieder am einfachsten in der PowerShell mit:
Install-WindowsFeature -Name RSAT-Shielded-VM-Tools

Install-WindowsFeature -Name FabricShieldedTools -Restart
Auf dem Hyper-V-Host erzeugen Sie eine neue VM mit neuer virtueller Festplatte für die Vorlage. Achten Sie darauf, dass Sie für die virtuelle Festplatte zwei Partitionen anlegen, die Sie mit dem NTFS-Dateisystem formatieren. Auch im SCVMM müssen Sie zuerst eine Vorlage für Shielded-VMs erstellen. Die virtuelle Festplatte, die Sie als Vorlage verwenden, sollten Sie in einer produktiven Umgebung mit dem GPT-Partitionsstil initialisieren. Bei der virtuellen Festplatte darf es sich nicht um einen dynamischen Datenträger in der Festplattenverwaltung handeln, sondern Sie müssen einen Basis-Datenträger verwenden. Das liegt daran, dass BitLocker keine dynamischen Festplatten unterstützt.

Sind alle Features installiert und die virtuelle Festplatte der VM wurde mit Sysprep verallgemeinert, erstellen Sie ein selbstsigniertes Zertifikat, das Sie für die Shielded-VM-Vorlage verwenden. Damit Sie das Zertifikat später weiter nutzen können, speichern Sie die Daten in einer Variablen:
$certificate = New-SelfSignedCertificate -DnsName cert.contoso.int 
 -CertStoreLocation $certStoreLocation -KeyExportPolicy Exportable
Anschließend erstellen Sie die signierte Vorlage für die Shielded-VM. Hier verwenden Sie entweder die PowerShell oder den Assistenten "TemplateDiskWizard.exe" im Verzeichnis "C:\Windows\System32". In der PowerShell gehen Sie so vor:
$TemplatePath = "C:\protected_template.vhdx"
$TemplateName = "MyTemplate"
$Version = "1.1.1.1"
Protect-ServerVHDX -Path $TemplatePath -TemplateName $TemplateName 
 -Version $Version -Certificate $certificate
Ist die Vorlage erzeugt, richten Sie auf Basis dieser VHDX-Datei eine neue VM ein. In den Eigenschaften dieser VM können Sie über den Menüpunkt "Sicherheit" Einstellungen bezüglich der Shielded-VM vornehmen. Wichtig ist, dass Sie das Betriebssystem, das in der VHDX-Datei installiert ist, mit Sysprep generalisiert haben.


Bild 3: Die Konfiguration einer Shielded VM in Windows Server 2016 erfolgt über den Reiter "Sicherheit".

Erst danach bereiten Sie das Betriebssystem mit dem TemplateDiskWizard wie beschrieben vor. Dabei setzen Sie entweder auf die grafische Oberfläche des Tools oder auf das Protect-ServerVHDX-Cmdlet in der PowerShell. Die Konfiguration ist an dieser Stelle aber noch nicht abgeschlossen. Alle notwendigen Sicherheitseinstellungen finden Sie im erwähnten Whitepaper [1].

Shielded-VMs mit SCVMM verwalten
Grundsätzlich ist die Verwaltung von Shielded-VMs am besten mit System Center Virtual Machine Manager ab Version 2016 durchzuführen. Dazu richten Sie die HGS-Infrastruktur ein und konfigurieren einen Hyper-V-Host als Guarded Host. Der Guarded Host muss in SCVMM angebunden sein. Für die Cloud in SCVMM müssen Sie die hierzu die Unterstützung für Shielded-VMs aktivieren. Die Einstellungen dazu finden Sie in den Eigenschaften der Cloud in der SCVMM-Verwaltungskonsole über "In dieser privaten Cloud unterstützt" bei der Option "Unterstützung für geschützte VMs". Microsoft empfiehlt, Guarded Hosts in einer eigenen Hostgruppe zu betreiben.

Um Shielded-VMs verwalten zu können, müssen Sie auch SCVMM mit dem HGS-Server verbinden. Dazu benötigen Sie auf dem HGS-Server zunächst einige Informationen, an die Sie mit Get-HgsServer gelangen. Hier sind vor allem die verschiedenen URLs von Interesse. In der SCVMM-Konsole finden Sie bei "Settings" den Bereich "General". Hier klicken Sie doppelt auf "Host Guardian Service Settings" (auf deutschen Servern "Einstellungen für den Host-Überwachungsdienst").

Tragen Sie an dieser Stelle die URLs so ein, wie Sie diese mit dem Get-HgsServer-Cmdlet abgerufen haben. Danach öffnen Sie in der SCVMM-Konsole in der Fabric-Ansicht die Eigenschaften des Hosts, den Sie als Guarded Host konfiguriert haben. Navigieren Sie jetzt in den Eigenschaften des Hosts zu den HGS-Einstellungen und aktivieren Sie die Unterstützung für den Host Guardian Service. Darüber hinaus setzen Sie hier die Option, dass der Host die gleichen URLs nutzen soll, die Sie bereits in den Eigenschaften für SCVMM konfiguriert haben. Rufen Sie über das Kontextmenü den Status des Hosts auf, dürfen keine Fehler erscheinen und die Anbindung an HGS muss aktiviert und fehlerfrei hinterlegt sein. An dieser Stelle spielen vor allem die Optionen bei "HGS Client Overall" eine wichtige Rolle.


Bild 4: Mit dem Assistenten zum Erstellen von geschützten Datendateien sichern Sie Shielded-VMs ab.

Ist die Vorlage für die Shielded-VM vorbereitet, kopieren Sie diese in die Bibliothek von SCVMM und legen auf dieser Basis eine neue Shielded-VM an. Dazu müssen Sie lediglich die VHDX-Datei kopieren. Beim Einsatz von Shielded-VMs spielen noch die "Shielded Data Files" eine wichtige Rolle. Diese erzeugen Sie mit dem Tool "ShieldingDataFileWizard.exe" aus dem Verzeichnis "C:\Windows\System32". Auf Basis dieses Assistenten erstellen Sie PDK-Dateien, mit denen Sie neue Shielded VMs aufbauen. Legen Sie in SCVMM eine neue VM an, können Sie bereits während des Vorgangs durch die Option "Schutzunterstützung nach der Bereitstellung in der virtuellen Maschine aktivieren" die VM als Shielded-VM konfigurieren. Im Rahmen des Einrichtungsassistenten benötigen Sie dann die erstellte PDK-Datei. Microsoft zeigt im bereits vorgestellten Dokument [1] Wege der Fehlerbehandlung dieser nicht ganz einfachen Aufgabe.

Seite 2: Shielded-VMs erstellen und mit SCVMM verwalten

Der dritte und letzte Teil der Workshopserie dreht sich um das Zusammenspiel von Windows Azure Pack mit Shielded VMs und wie Sie HTTPS für HGS aktivieren. Im ersten Teil gingen wir auf die Voraussetzungen für Shielded-VMs ein und haben beschrieben, wie Sie Host Guardian Service als Serverrolle einrichten und damit VMs absichern.

<< Vorherige Seite Seite 2 von 2


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.

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

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.