Cvičení – šifrování existujících disků virtuálních počítačů

Dokončeno

Předpokládejme, že vyvíjíte aplikaci pro finanční správu pro nové obchodní startupy. Chcete zajistit, aby všechna data vašich zákazníků byla zabezpečená, takže jste se rozhodli implementovat Službu Azure Disk Encryption (ADE) na všech discích operačního systému a datových disků na serverech, které budou tuto aplikaci hostovat. V rámci požadavků na dodržování předpisů musíte také sami zodpovídat za správu vašich šifrovacích klíčů.

V této lekci zašifrujete disky stávajícího virtuálního počítače a budete ve službě Azure Key Valult spravovat vlastní šifrovací klíče.

Příprava prostředí

Začnete nasazením nového virtuálního počítače s Windows na virtuální počítač Azure.

Nasazení virtuálního počítače s Windows

Pokud chcete vytvořit a nasadit nový virtuální počítač s Windows, použijte napravo okno Azure PowerShellu.

  1. Definujte proměnnou PowerShellu, která obsahuje vybrané umístění. Použijete stejnou oblast jako u skupiny prostředků.

    $location = (Get-AzResourceGroup -name <rgn>[sandbox Resource Group]</rgn>).location
    

    Tip

    Můžete použít tlačítko Kopírovat pro kopírování příkazů do schránky. Pokud chcete vložit, klikněte pravým tlačítkem myši na nový řádek v terminálu Cloud Shellu a vyberte Vložit nebo použijte klávesovou zkratku Shift+Insert (⌘+V v macOS).

  2. Dále definujte pár další praktické proměnné pro zachycení názvu virtuálního počítače a skupiny prostředků. Všimněte si, že tady používáte předem vytvořenou skupinu prostředků. Normálně byste ve svém předplatném vytvořili novou skupinu prostředků pomocí New-AzResourceGroup.

    $vmName = "fmdata-vm01"
    $rgName = "<rgn>[sandbox Resource Group]</rgn>"
    
  3. Pokud chcete vytvořit nový virtuální počítač, použijte New-AzVm:

    New-AzVm `
        -ResourceGroupName $rgName `
        -Name $vmName `
        -Location $location `
        -OpenPorts 3389
    

    Když vás Cloud Shell vyzve, zadejte uživatelské jméno a heslo virtuálního počítače. Použijí se jako počáteční účet vytvořený pro virtuální počítač.

    Poznámka:

    Tento příkaz použije některé výchozí hodnoty, protože jsme nezadali mnoho možností. Konkrétně se tím vytvoří image Windows 2016 Server s velikostí pro Standard_DS1_v2. Mějte na paměti, že virtuální počítače úrovně Basic nepodporují ADE, pokud se rozhodnete určit velikost virtuálního počítače.

  4. Po nasazení virtuálního počítače zaznamenejte jeho podrobnosti do proměnné. Pomocí této proměnné můžete prozkoumat, co jste vytvořili:

    $vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
    
  5. Pomocí následujícího kódu můžete ověřit disk s operačním systémem připojený k virtuálnímu počítači:

    $vm.StorageProfile.OSDisk
    
    OsType                  : Windows
    EncryptionSettings      :
    Name                    : fmdata-vm01_OsDisk_1_6bcf8dcd49794aa785bad45221ec4433
    Vhd                     :
    Image                   :
    Caching                 : ReadWrite
    WriteAcceleratorEnabled :
    CreateOption            : FromImage
    DiskSizeGB              : 127
    ManagedDisk             : Microsoft.Azure.Management.Compute.Models.ManagedDiskP
                              arameters
    
  6. Zkontrolujte aktuální stav šifrování disku s operačním systémem (a všechny datové disky).

    Get-AzVmDiskEncryptionStatus  `
        -ResourceGroupName $rgName `
        -VMName $vmName
    

    Všimněte si, že disky jsou momentálně nešifrované.

    OsVolumeEncrypted          : NotEncrypted
    DataVolumesEncrypted       : NotEncrypted
    OsVolumeEncryptionSettings :
    ProgressMessage            : No Encryption extension or metadata found on the VM
    

Pojďme to změnit.

Šifrování disků virtuálních počítačů pomocí Azure Disk Encryption

Je potřeba chránit tato data, takže disky zašifrujeme. Pamatujte, že existuje několik kroků, které je třeba provést:

  1. Vytvořte trezor klíčů.

  2. Nastavte trezor klíčů pro podporu šifrování disků.

  3. Informujte Azure o šifrování disků virtuálních počítačů pomocí klíče uloženého v trezoru klíčů.

Tip

Jednotlivé kroky si projdeme, ale když tuto úlohu provádíte ve vlastním předplatném, můžete použít praktický skript PowerShellu, který jsme propojili v části Souhrn tohoto modulu.

Vytvořte trezor klíčů.

Abychom mohli vytvořit Azure Key Vault, musíme povolit službu v našem předplatném. Jedná se o jednorázový úkon.

Tip

V závislosti na vašem předplatném může být potřeba povolit poskytovatele Microsoft.KeyVault pomocí rutiny Register-AzResourceProvider. To není nutné v předplatném sandboxu Azure.

  1. Určete název nového trezoru klíčů. Musí být jedinečný a může mít 3 až 24 znaků, které se skládají z číslic, písmen a pomlček. Zkuste na konec přidat několik náhodných čísel a nahraďte následující číslo 1234:

    $keyVaultName = "mvmdsk-kv-1234"
    
  2. Vytvoření služby Azure Key Vault pomocí New-AzKeyVault:

    • Ujistěte se, že je umístěná ve stejné skupině prostředků a ve stejném umístění jako váš virtuální počítač.
    • Povolení trezoru klíčů pro použití s šifrováním disků
    • Zadání jedinečného názvu trezoru klíčů
    New-AzKeyVault -VaultName $keyVaultName `
        -Location $location `
        -ResourceGroupName $rgName `
        -EnabledForDiskEncryption
    

    Z tohoto příkazu se zobrazí upozornění na to, že nemají přístup žádní uživatelé.

    WARNING: Access policy is not set. No user or app have access permission to use this vault. This can happen if the vault was created by a service principal. To set access policies, use Set-AzKeyVaultAccessPolicy.
    

    Je to v pořádku, protože k ukládání šifrovacích klíčů pro virtuální počítač používáte jenom trezor a uživatelé k datům nebudou potřebovat přístup.

Šifrování disku

Skoro jste připraveni šifrovat disky. Než to uděláte, tady je upozornění na vytváření záloh.

Důležité

Pokud se jedná o produkční systém, museli byste provést zálohu spravovaných disků, a to buď pomocí služby Azure Backup, nebo vytvořením snímku. Snímky můžete vytvářet na webu Azure Portal nebo prostřednictvím příkazového řádku. V PowerShellu byste použili rutinu New-AzSnapshot . Vzhledem k tomu, že se jedná o jednoduché cvičení a jakmile budete hotovi, budete tato data vystavovat, tento krok přeskočíte.

  1. Pokud chcete uchovávat informace o trezoru klíčů, definujte proměnnou:

    $keyVault = Get-AzKeyVault `
        -VaultName $keyVaultName `
        -ResourceGroupName $rgName
    
  2. Dále spuštěním Set-AzVmDiskEncryptionExtension rutiny zašifrujte disky virtuálních počítačů.

    • Parametr VolumeType umožňuje určit, které disky chcete šifrovat: [Vše | OS | Data]. Ve výchozím nastavení se nastaví vše. Pro některé distribuce Linuxu lze zašifrovat pouze datové disky.
    • Příznak pro spravované disky můžete zadat SkipVmBackup , pokud neexistuje žádný snímek.
    Set-AzVmDiskEncryptionExtension `
        -ResourceGroupName $rgName `
        -VMName $vmName `
        -VolumeType All `
        -DiskEncryptionKeyVaultId $keyVault.ResourceId `
        -DiskEncryptionKeyVaultUrl $keyVault.VaultUri `
        -SkipVmBackup
    
  3. Rutina vás upozorní, že virtuální počítač musí být převeden do režimu offline a že úloha může trvat několik minut. Pokračujte a pokračujte:

    Enable AzureDiskEncryption on the VM
    This cmdlet prepares the VM and enables encryption which may reboot the machine and takes 10-15 minutes to
    finish. Please save your work on the VM before confirming. Do you want to continue?
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
    
  4. Po dokončení spuštění rutiny znovu zkontrolujte stav šifrování:

    Get-AzVmDiskEncryptionStatus  -ResourceGroupName $rgName -VMName $vmName
    

    Disk s operačním systémem by teď měl být šifrovaný. Všechny připojené datové disky, které jsou viditelné pro Windows, jsou také šifrované.

    OsVolumeEncrypted          : Encrypted
    DataVolumesEncrypted       : NoDiskFound
    OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
    ProgressMessage            : Provisioning succeeded
    

Poznámka:

Nové disky přidané po šifrování se automaticky nešifrují . Spuštěním rutiny Set-AzVMDiskEncryptionExtension můžete znovu zašifrovat nové disky. Pokud k virtuálnímu počítači, který už má disky šifrované, přidáte disky, nezapomeňte zadat nové číslo v posloupnosti. Kromě toho se disky, které nejsou viditelné pro operační systém, nebudou šifrovány. Aby se disk zobrazil, musí být správně rozdělený na oddíly, naformátovaný a připojený k rozšíření BitLockeru.