Erstellen eines linux-abgeschirmten VM-Vorlagendatenträgers
Gilt für: Windows Server 2022, Windows Server 2019
In diesem Thema wird erläutert, wie Sie einen Vorlagendatenträger für abgeschirmte Linux-VMs vorbereiten, die zum Instanziieren eines oder mehrerer Mandanten-VMs verwendet werden können.
Voraussetzungen
Zum Vorbereiten und Testen einer abgeschirmten Linux-VM benötigen Sie die folgenden Ressourcen:
- Ein Server mit Virtualisierungskapazität, der Windows Server, Version 1709 oder höher ausgeführt wird
- Ein zweiter Computer (Windows 10 oder Windows Server 2016), der Hyper-V-Manager ausführen kann, um eine Verbindung mit der Konsole des ausgeführten virtuellen Computers herzustellen.
- Ein ISO-Image für ein unterstütztes Linux-abgeschirmtes VM-OSes:
- Ubuntu 16.04 LTS mit dem 4.4 Kernel
- Red Hat Enterprise Linux 7.3
- SUSE Linux Enterprise Server 12 Service Pack 2
- Internetzugriff zum Herunterladen des lsvmtools-Pakets und Betriebssystemupdates
Wichtig
Neuere Versionen der vorherigen Linux-OSes können einen bekannten TPM-Treiberfehler enthalten, der verhindert, dass sie erfolgreich als abgeschirmte VMs bereitgestellt werden. Es wird nicht empfohlen, Ihre Vorlagen oder abgeschirmten VMs auf eine neuere Version zu aktualisieren, bis ein Fix verfügbar ist. Die Liste der oben unterstützten OSes wird aktualisiert, wenn die Updates öffentlich gemacht werden.
Vorbereiten einer Linux-VM
Abgeschirmte VMs werden von sicheren Vorlagendatenträgern erstellt. Vorlagendatenträger enthalten das Betriebssystem für die VM und Metadaten, einschließlich einer digitalen Signatur der Partitionen "/boot" und "/root", um sicherzustellen, dass kerne Betriebssystemkomponenten vor der Bereitstellung nicht geändert werden.
Um einen Vorlagendatenträger zu erstellen, müssen Sie zunächst einen regulären virtuellen Computer (unshielded) erstellen, den Sie als Basisimage für zukünftige abgeschirmte VMs vorbereiten. Die Software, die Sie installieren und konfigurationsänderungen an dieser VM vornehmen, gelten für alle abgeschirmten VMs, die von diesem Vorlagendatenträger erstellt wurden. Diese Schritte führen Sie durch die bloßen Mindestanforderungen, um eine Linux-VM für die Templatisierung vorzubereiten.
Hinweis
Die Linux-Datenträgerverschlüsselung wird konfiguriert, wenn der Datenträger partitioniert wird. Dies bedeutet, dass Sie eine neue VM erstellen müssen, die mit dm-crypt vorab verschlüsselt ist, um einen linux-abgeschirmten VM-Vorlagendatenträger zu erstellen.
Stellen Sie auf dem Virtualisierungsserver sicher, dass Hyper-V und die Hyper-V-Supportfunktionen von Host Guardian installiert werden, indem Sie die folgenden Befehle in einer PowerShell-Konsole mit erhöhten Rechten ausführen:
Install-WindowsFeature Hyper-V, HostGuardian -IncludeManagementTools -Restart
Laden Sie das ISO-Image aus einer vertrauenswürdigen Quelle herunter, und speichern Sie es auf Ihrem Virtualisierungsserver oder auf einer Dateifreigabe, auf die auf Ihren Virtualisierungsserver zugegriffen werden kann.
Installieren Sie auf Ihrem Verwaltungscomputer, auf dem Windows Server Version 1709 ausgeführt wird, die abgeschirmten VM-Remoteserver-Verwaltungstools, indem Sie den folgenden Befehl ausführen:
Install-WindowsFeature RSAT-Shielded-VM-Tools
Öffnen Sie Hyper-V-Manager auf Ihrem Verwaltungscomputer, und stellen Sie eine Verbindung mit Ihrem Virtualisierungsserver her. Sie können dies tun, indem Sie auf "Verbinden zu Server..." klicken. klicken Sie im Bereich "Aktionen" oder klicken Sie mit der rechten Maustaste auf den Hyper-V-Manager, und wählen Sie "Verbinden zu Server..." aus. Geben Sie den DNS-Namen für Ihren Hyper-V-Server an, und geben Sie ggf. die anmeldeinformationen an, die erforderlich sind, um eine Verbindung herzustellen.
Konfigurieren Sie mithilfe des Hyper-V-Managers einen externen Switch auf Ihrem Virtualisierungsserver, damit die Linux-VM auf das Internet zugreifen kann, um Updates zu erhalten.
Erstellen Sie als Nächstes einen neuen virtuellen Computer, um das Linux-Betriebssystem zu installieren. Klicken Sie im Bereich "Aktionen" auf "NewVirtual> Machine", um den Assistenten anzuzeigen. Geben Sie einen Anzeigenamen für Ihren virtuellen Computer an, z. B. "Vor templatisiertes Linux", und klicken Sie auf "Weiter".
Wählen Sie auf der zweiten Seite des Assistenten die Generation 2 aus, um sicherzustellen, dass die VM mit einem UEFI-basierten Firmwareprofil bereitgestellt wird.
Schließen Sie den rest des Assistenten entsprechend Ihren Vorlieben ab. Verwenden Sie keinen unterschiedlichen Datenträger für diesen virtuellen Computer; abgeschirmte VM-Vorlagendatenträger können keine unterschiedlichen Datenträger verwenden. Verbinden Sie schließlich das ISO-Image, das Sie zuvor auf das virtuelle DVD-Laufwerk für diese VM heruntergeladen haben, damit Sie das Betriebssystem installieren können.
Wählen Sie im Hyper-V-Manager Ihren neu erstellten virtuellen Computer aus, und klicken Sie im Bereich "Aktionen" auf Verbinden... um eine virtuelle Konsole der VM anzufügen. Klicken Sie im angezeigten Fenster auf " Start ", um den virtuellen Computer zu aktivieren.
Fahren Sie mit dem Setupprozess für Ihre ausgewählte Linux-Verteilung fort. Während jede Linux-Distribution einen anderen Setup-Assistenten verwendet, müssen die folgenden Anforderungen für VMs erfüllt werden, die zu Linux-abgeschirmten VM-Vorlagendatenträgern werden:
- Der Datenträger muss mithilfe des GPT-Layouts (GUID Paritioning Table) partitioniert werden.
- Die Stammpartition muss mit dm-crypt verschlüsselt werden. Die Passphrase sollte auf Passphrase (alle Kleinbuchstaben) festgelegt werden. Diese Passphrase wird zufällig und die Partition erneut verschlüsselt, wenn eine abgeschirmte VM bereitgestellt wird.
- Die Startpartition muss das Ext2-Dateisystem verwenden.
Sobald Ihr Linux-Betriebssystem vollständig gestartet wurde und Sie angemeldet sind, wird empfohlen, die Pakete für die Linux-virtuelle Kernel- und die zugehörigen Hyper-V-Integrationsdienste zu installieren. Darüber hinaus möchten Sie einen SSH-Server oder ein anderes Remoteverwaltungstool installieren, um auf die VM zuzugreifen, sobald sie abgeschirmt ist.
Führen Sie auf Ubuntu den folgenden Befehl aus, um diese Komponenten zu installieren:
sudo apt-get install linux-virtual linux-tools-virtual linux-cloud-tools-virtual linux-image-extra-virtual openssh-server
Führen Sie auf RHEL stattdessen den folgenden Befehl aus:
sudo yum install hyperv-daemons openssh-server sudo service sshd start
Führen Sie auf SLES den folgenden Befehl aus:
sudo zypper install hyper-v sudo chkconfig hv_kvp_daemon on sudo systemctl enable sshd
Konfigurieren Sie Ihr Linux-Betriebssystem wie gewünscht. Jede software, die Sie installieren, Benutzerkonten, die Sie hinzufügen, und systemweite Konfigurationsänderungen, die Sie vornehmen, gelten für alle zukünftigen VMs, die von diesem Vorlagendatenträger erstellt wurden. Sie sollten keine geheimen oder unnötigen Pakete auf dem Datenträger speichern.
Wenn Sie planen, System Center Virtual Machine Manager zum Bereitstellen Ihrer VMs zu verwenden, installieren Sie den VMM-Gast-Agent, um VMM zu ermöglichen, Ihr Betriebssystem während der VM-Bereitstellung zu spezialisieren. Die Spezialisierung ermöglicht es jedem virtuellen Computer, sicher mit verschiedenen Benutzern und SSH-Schlüsseln, Netzwerkkonfigurationen und benutzerdefinierten Setupschritten einzurichten. Erfahren Sie, wie Sie den VMM-Gast-Agent in der VMM-Dokumentation abrufen und installieren .
Fügen Sie als Nächstes das Microsoft Linux-Software-Repository zu Ihrem Paket-Manager hinzu.
Installieren Sie mit Ihrem Paket-Manager das lsvmtools-Paket, das das linux-abgeschirmte VM-Bootloader shim, Bereitstellungskomponenten und Datenträgervorbereitungstool enthält.
# Ubuntu 16.04 sudo apt-get install lsvmtools # SLES 12 SP2 sudo zypper install lsvmtools # RHEL 7.3 sudo yum install lsvmtools
Wenn Sie das Anpassen des Linux-Betriebssystems abgeschlossen haben, suchen Sie das lsvmprep-Installationsprogramm auf Ihrem System, und führen Sie es aus.
# The path below may change based on the version of lsvmprep installed # Run "find /opt -name lsvmprep" to locate the lsvmprep executable sudo /opt/lsvmtools-1.0.0-x86-64/lsvmprep
Herunterfahren Sie Ihren virtuellen Computer.
Wenn Sie Prüfpunkte Ihrer VM (einschließlich automatischer Prüfpunkte, die von Hyper-V mit dem Windows 10 Fall Creators Update erstellt wurden), sollten Sie sie löschen, bevor Sie fortfahren. Prüfpunkte erstellen unterschiedliche Datenträger (AVHDX), die vom Vorlagendatenträger-Assistenten nicht unterstützt werden.
Um Prüfpunkte zu löschen, öffnen Sie Hyper-V-Manager, wählen Sie Ihren virtuellen Computer aus, klicken Sie mit der rechten Maustaste auf den obersten Prüfpunkt im Prüfpunktbereich, und klicken Sie dann auf "Prüfpunktunterstruktur löschen".
Schützen des Vorlagendatenträgers
Die vm, die Sie im vorherigen Abschnitt vorbereitet haben, ist fast bereit, als linux-abgeschirmter VM-Vorlagendatenträger verwendet zu werden. Der letzte Schritt besteht darin, den Datenträger über den Vorlagendatenträger-Assistenten auszuführen, der den aktuellen Status der Stamm- und Startpartitionen digital signiert und signiert. Die Hash- und digitale Signatur werden überprüft, wenn eine abgeschirmte VM bereitgestellt wird, um sicherzustellen, dass keine nicht autorisierten Änderungen an den beiden Partitionen zwischen der Vorlagenerstellung und -bereitstellung vorgenommen wurden.
Abrufen eines Zertifikats zum Signieren des Datenträgers
Um die Datenträgermessungen digital zu signieren, müssen Sie ein Zertifikat auf dem Computer abrufen, auf dem Sie den Vorlagendatenträger-Assistenten ausführen. Das Zertifikat muss die folgenden Anforderungen erfüllen:
Certificate-Eigenschaft | Erforderlicher Wert |
---|---|
Schlüsselalgorithmus | RSA |
Mindestschlüsselgröße | 2.048 Bits |
Signaturalgorithmus | SHA256 (Empfohlen) |
Schlüsselverwendung | Digitale Signatur |
Details zu diesem Zertifikat werden Mandanten angezeigt, wenn sie ihre abschirmenden Datendateien erstellen und Datenträger autorisieren, denen sie vertrauen. Daher ist es wichtig, dieses Zertifikat von einer Zertifizierungsstelle gegenseitig von Ihnen und Ihren Mandanten zu erhalten. In Unternehmensszenarien, in denen Sie sowohl hoster als auch mandant sind, können Sie dieses Zertifikat von Ihrer Unternehmenszertifizierungsstelle ausstellen. Schützen Sie dieses Zertifikat sorgfältig, da jeder, der in Besitz dieses Zertifikats ist, neue Vorlagendatenträger erstellen kann, die mit Ihrem authentischen Datenträger identisch sind.
In einer Testlaborumgebung können Sie ein selbstsigniertes Zertifikat mit dem folgenden PowerShell-Befehl erstellen:
New-SelfSignedCertificate -Subject "CN=Linux Shielded VM Template Disk Signing Certificate"
Verarbeiten des Datenträgers mit dem Cmdlet "Vorlagendatenträger-Assistent"
Kopieren Sie den Vorlagendatenträger und das Zertifikat auf einen Computer mit Windows Server, Version 1709, und führen Sie dann die folgenden Befehle aus, um den Signaturvorgang zu initiieren.
Der VHDX, den Sie für den -Path
Parameter bereitstellen, wird mit dem aktualisierten Vorlagendatenträger überschrieben. Stellen Sie daher sicher, dass Sie vor dem Ausführen des Befehls eine Kopie erstellen.
Wichtig
Die auf Windows Server 2016 oder Windows 10 verfügbaren Remoteserver-Verwaltungstools können nicht verwendet werden, um einen linux-abgeschirmten VM-Vorlagendatenträger vorzubereiten. Verwenden Sie nur das Cmdlet Protect-TemplateDisk, das auf Windows Server, Version 1709 oder den Remoteserver-Verwaltungstools verfügbar ist, die auf Windows Server 2019 verfügbar sind, um einen abgeschirmten VM-Vorlagendatenträger für Linux vorzubereiten.
# Replace "THUMBPRINT" with the thumbprint of your template disk signing certificate in the line below
$certificate = Get-Item Cert:\LocalMachine\My\THUMBPRINT
Protect-TemplateDisk -Path 'C:\temp\MyLinuxTemplate.vhdx' -TemplateName 'Ubuntu 16.04' -Version 1.0.0.0 -Certificate $certificate -ProtectedTemplateTargetDiskType PreprocessedLinux
Der Vorlagendatenträger kann jetzt verwendet werden, um abgeschirmte Linux-VMs bereitzustellen. Wenn Sie System Center Virtual Machine Manager zum Bereitstellen Ihrer VM verwenden, können Sie die VHDX jetzt in Ihre VMM-Bibliothek kopieren.
Sie können auch den Volumensignaturkatalog aus dem VHDX extrahieren. Diese Datei wird verwendet, um Informationen über das Signaturzertifikat, den Datenträgernamen und die Version für VM-Besitzer bereitzustellen, die Ihre Vorlage verwenden möchten. Sie müssen diese Datei in den Schutzdatendatei-Assistenten importieren, um Sie, den Vorlagenautor im Besitz des Signaturzertifikats, zu autorisieren, um diese und zukünftige Vorlagendatenträger für sie zu erstellen.
Um den Volumensignaturkatalog zu extrahieren, führen Sie den folgenden Befehl in PowerShell aus:
Save-VolumeSignatureCatalog -TemplateDiskPath 'C:\temp\MyLinuxTemplate.vhdx' -VolumeSignatureCatalogPath 'C:\temp\MyLinuxTemplate.vsc'