Verschlüsseln vorhandener VM-Datenträger

Abgeschlossen

Angenommen, Ihr Unternehmen hat sich entschieden, Azure Disk Encryption (ADE) auf allen VMs zu implementieren. In diesem Fall müssen Sie evaluieren, wie Sie die Verschlüsselung auf allen vorhandenen VM-Volumes durchführen. Hier werden die Anforderungen für ADE und die Schritte zum Verschlüsseln von Datenträgern auf vorhandenen Linux- und Windows-VMs beschrieben. In der nächsten Lerneinheit wird der Prozess der Verschlüsselung vorhandener VM-Datenträger behandelt.

Azure Disk Encryption: Voraussetzungen

Bevor Sie Ihre VM-Datenträger verschlüsseln können, müssen Sie folgende Schritte durchführen:

  1. Erstellen Sie einen Schlüsseltresor.
  2. Richten Sie die Zugriffsrichtlinie des Schlüsseltresors so ein, dass Datenträgerverschlüsselung unterstützt wird.
  3. Verwenden Sie den Schlüsseltresor, um die Verschlüsselungsschlüssel für ADE zu speichern.

Azure Key Vault

Die von ADE verwendeten Verschlüsselungsschlüssel können in Azure Key Vault gespeichert werden. Azure Key Vault ist ein Tool zum sicheren Speichern von Geheimnissen und Zugreifen darauf. Als Geheimnis werden alle Elemente bezeichnet, für die Sie den Zugriff streng kontrollieren möchten, z. B. API-Schlüssel, Kennwörter oder Zertifikate. Azure Key Vault ermöglicht die hoch verfügbare und skalierbare sichere Speicherung in Hardwaresicherheitsmodulen (HSMs) mit Überprüfung gemäß Federal Information Processing Standards (FIPS) 140-2 Level 2. Mit Key Vault erhalten Sie die vollständige Kontrolle über die Schlüssel, die zum Verschlüsseln Ihrer Daten verwendet werden, und Sie können Ihre Schlüsselnutzung verwalten und überwachen.

Hinweis

Für Azure Disk Encryption müssen sich Ihre Key Vault-Instanz und Ihre VMs in derselben Azure-Region befinden. So wird sichergestellt, dass Verschlüsselungsgeheimnisse nicht über Grenzen von Regionen hinweg verwendet werden.

Sie können Ihren Schlüsseltresor mithilfe der folgenden Dienste konfigurieren und verwalten:

PowerShell

New-AzKeyVault -Location <location> `
    -ResourceGroupName <resource-group> `
    -VaultName "myKeyVault" `
    -EnabledForDiskEncryption

Azure CLI

az keyvault create \
    --name "myKeyVault" \
    --resource-group <resource-group> \
    --location <location> \
    --enabled-for-disk-encryption True

Azure-Portal

Azure Key Vault ist eine Ressource, die im Azure-Portal über den normalen Prozess zur Ressourcenerstellung erstellt werden kann.

  1. Klicken Sie im Menü des Azure-Portals oder auf der Startseite auf Ressource erstellen.

  2. Suchen Sie im Suchfeld nach Schlüsseltresor und wählen Sie den Eintrag aus. Der Bereich Schlüsseltresor wird angezeigt.

  3. Wählen Sie Erstellen aus. Der Bereich Schlüsseltresor erstellen wird angezeigt.

  4. Füllen Sie auf der Registerkarte Grundlagen die folgenden Felder für jede Einstellung aus.

    Einstellung Wert
    Projektdetails
    Subscription Wählen Sie das Abonnement aus, in dem der Schlüsseltresor platziert werden soll (standardmäßig Ihr aktuelles Abonnement).
    Ressourcengruppe Wählen Sie eine vorhandene Ressourcengruppe aus, oder erstellen Sie eine neue.
    Instanzendetails
    Name des Schlüsseltresors Geben Sie einen Namen für den Schlüsseltresor ein.
    Region Wählen Sie die Region aus, in der sich Ihre VM befindet.
    Tarif Standard: Sie können zwischen den Tarifen Standard und Premium auswählen. Der Hauptunterschied besteht darin, dass beim Premium-Tarif die Verwendung von Schlüsseln mit Hardwareverschlüsselung möglich ist.

    Screenshot des Bereichs „Schlüsseltresor“.

  5. Wählen Sie Weiter aus, um zur Registerkarte „Zugriffskonfiguration“ zu wechseln. Sie müssen die Zugriffsrichtlinien ändern, um die Datenträgerverschlüsselung zu unterstützen. Standardmäßig wird der Richtlinie Ihr Konto hinzugefügt.

  6. Geben Sie auf der Registerkarte Zugriffskonfiguration den folgenden Wert für die Einstellung ein.

    Einstellung Wert
    Zugriff auf Ressourcen Aktivieren Sie das Kontrollkästchen Azure Disk Encryption für Volumeverschlüsselung. Wenn Sie möchten, können Sie Ihr Konto nun entfernen, da es zum Verwenden des Schlüsseltresors für die Datenträgerverschlüsselung nicht erforderlich ist.
  7. Klicken Sie auf Überprüfen + erstellen.

  8. Klicken Sie nach der Überprüfung auf Erstellen, um den neuen Schlüsseltresor zu erstellen.

Aktivieren von Zugriffsrichtlinien im Schlüsseltresor

Azure benötigt Zugriff auf die Verschlüsselungsschlüssel oder geheimen Schlüssel in Ihrem Schlüsseltresor, um sie für die VM zur Verfügung zu stellen, damit die Volumes gestartet und entschlüsselt werden können. Diesen Zugriff haben Sie in den vorherigen Schritten aktiviert, als Sie die Zugriffsrichtlinie geändert haben.

Sie können drei unterschiedliche Richtlinien aktivieren:

  • Datenträgerverschlüsselung: Erforderlich für Azure Disk Encryption.
  • Bereitstellung: (Optional:) Der Ressourcenanbieter Microsoft.Compute wird aktiviert, um Geheimnisse aus diesem Schlüsseltresor abzurufen, wenn auf diesen Schlüsseltresor bei der Ressourcenerstellung verwiesen wird. Dies erfolgt z. B. beim Erstellen einer VM.
  • Vorlagenbereitstellung: (Optional:) Azure Resource Manager kann aus diesem Schlüsseltresor Geheimnisse abrufen, wenn auf diesen in einer Vorlagenbereitstellung verwiesen wird.

Hier erfahren Sie, wie Sie die Datenträgerverschlüsselungsrichtlinie aktivieren: Die beiden anderen Richtlinien sind zwar ähnlich, verwenden jedoch unterschiedliche Flags.

Set-AzKeyVaultAccessPolicy -VaultName <keyvault-name> -ResourceGroupName <resource-group> -EnabledForDiskEncryption
az keyvault update --name <keyvault-name> --resource-group <resource-group> --enabled-for-disk-encryption true

Verschlüsseln eines vorhandenen VM-Datenträgers

Nach dem Einrichten des Schlüsseltresors können Sie die VM verschlüsseln, indem Sie entweder die Azure CLI oder Azure PowerShell verwenden. Beim ersten Verschlüsseln einer Windows-VM können Sie auswählen, ob Sie alle Datenträger oder nur den Betriebssystemdatenträger verschlüsseln möchten. Unter einigen Linux-Distributionen können nur die Datenträger verschlüsselt werden. Um für die Verschlüsselung geeignet zu sein, müssen Ihre Windows-Datenträger als NTFS-Volumes (New Technology File System) formatiert sein.

Warnung

Sie müssen eine Momentaufnahme oder eine Sicherung von verwalteten Datenträgern erstellen, bevor Sie die Verschlüsselung aktivieren. Das folgende SkipVmBackup-Flag teilt dem Tool mit, dass die Sicherung auf den verwalteten Datenträgern abgeschlossen wurde. Ohne die Sicherung können Sie die VM nicht wiederherstellen, wenn es bei der Verschlüsselung aus irgendeinem Grund zu Fehlern kommt.

Führen Sie das Cmdlet Set-AzVmDiskEncryptionExtension aus, um die Verschlüsselung mithilfe von PowerShell zu aktivieren.


Set-AzVmDiskEncryptionExtension `
    -ResourceGroupName <resource-group> `
    -VMName <vm-name> `
    -VolumeType [All | OS | Data]
    -DiskEncryptionKeyVaultId <keyVault.ResourceId> `
    -DiskEncryptionKeyVaultUrl <keyVault.VaultUri> `
     -SkipVmBackup

Führen Sie für die Azure-Befehlszeilenschnittstelle zum Aktivieren der Verschlüsselung den Befehl az vm encryption enable aus, und geben Sie das Volume an, das Sie mithilfe des --volume-type [all | os | data]-Parameters verschlüsseln möchten. Dieses Beispiel veranschaulicht die Verschlüsselung aller Volumes für eine VM:

az vm encryption enable \
    --resource-group <resource-group> \
    --name <vm-name> \
    --disk-encryption-keyvault <keyvault-name> \
    --volume-type all

Status der Festplatte anzeigen

Sie können überprüfen, ob bestimmte Datenträger verschlüsselt sind oder nicht.

Get-AzVmDiskEncryptionStatus  -ResourceGroupName <resource-group> -VMName <vm-name>
az vm encryption show --resource-group <resource-group> --name <vm-name>

Beide Befehle geben den Status sämtlicher an die angegebene VM angefügten Datenträger zurück.

Entschlüsseln von Laufwerken

In PowerShell können Sie die Verschlüsselung mithilfe des Cmdlets Disable-AzVMDiskEncryption zurücknehmen.

Disable-AzVMDiskEncryption -ResourceGroupName <resource-group> -VMName <vm-name>

In der Azure CLI müssen Sie hingegen den Befehl vm encryption disable ausführen.

az vm encryption disable --resource-group <resource-group> --name <vm-name>

Diese Befehle deaktivieren die Verschlüsselungen für Volumes mit dem Typ all für die angegebene VM. Wie bei der Verschlüsselung können Sie den -VolumeType-Parameter [All | OS | Data] angeben, um festzulegen, welche Datenträger entschlüsselt werden sollen. Wenn nichts anderes angegeben wird, ist diese Einstellung standardmäßig auf All festgelegt.

Warnung

Das Deaktivieren der Datenträgerverschlüsselung auf einer Windows-VM funktioniert nicht wie erwartet, wenn sowohl das Betriebssystem als auch die Datenträger verschlüsselt wurden. Stattdessen müssen Sie die Verschlüsselung auf allen Datenträgern deaktivieren.

In der nächsten Übung probieren Sie einige dieser Befehle auf einer neuen VM aus.