Průvodce řešením potíží se službou Azure Disk Encryption pro virtuální počítače s Linuxem

Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️

Tato příručka je určená it specialistům, analytikům zabezpečení informací a správcům cloudu, jejichž organizace používají Službu Azure Disk Encryption. Tento článek vám pomůže s řešením potíží souvisejících se šifrováním disků.

Před provedením libovolného z následujících kroků se nejprve ujistěte, že virtuální počítače, které se pokoušíte šifrovat, patří mezi podporované velikosti virtuálních počítačů a operační systémy a že jste splnili všechny požadavky:

Řešení potíží s šifrováním disku operačního systému Linux

Šifrování disku s operačním systémem Linux musí před spuštěním úplného procesu šifrování disku odpojit jednotku operačního systému. Pokud jednotku nelze odpojit, zobrazí se chybová zpráva "nepodařilo se odpojit po ..." se pravděpodobně objeví.

K této chybě může dojít při pokusu o šifrování disku s operačním systémem na virtuálním počítači s prostředím, které se změnilo z podporované image z galerie cenných papírů. Odchylky od podporované image můžou narušit schopnost rozšíření odpojit jednotku operačního systému. Příklady odchylek mohou zahrnovat následující položky:

  • Přizpůsobené image už neodpovídají podporovanému systému souborů nebo schématu dělení.
  • Velké aplikace, jako jsou SAP, MongoDB, Apache Cassandra a Docker, se při instalaci a spuštění v operačním systému před šifrováním nepodporují. Azure Disk Encryption nemůže tyto procesy bezpečně podle potřeby vypnout při přípravě jednotky operačního systému na šifrování disku. Pokud stále existují aktivní procesy, které na jednotce operačního systému uchovávají otevřené popisovače souborů, nelze jednotku operačního systému odpojit, což způsobí selhání šifrování jednotky operačního systému.
  • Vlastní skripty, které se spouštějí v těsné blízkosti povoleného šifrování, nebo pokud během procesu šifrování na virtuálním počítači probíhají nějaké jiné změny. K tomuto konfliktu může dojít, když šablona Azure Resource Manager definuje více rozšíření, která se mají spouštět současně, nebo když se současně spustí rozšíření vlastních skriptů nebo jiná akce pro šifrování disku. Tento problém může vyřešit serializace a izolace takových kroků.
  • Security Enhanced Linux (SELinux) nebyl před povolením šifrování zakázán, takže krok odpojení selže. Po dokončení šifrování je možné SELinux znovu povolit.
  • Disk s operačním systémem používá schéma Správce logických svazků (LVM). I když je k dispozici omezená podpora datových disků LVM, disk s operačním systémem LVM k dispozici není.
  • Nejsou splněné minimální požadavky na paměť (pro šifrování disku s operačním systémem se doporučuje 7 GB).
  • Datové jednotky se rekurzivně připojují k adresáři /mnt/ nebo k sobě navzájem (například /mnt/data1, /mnt/data2, /data3 + /data3/data4).

Aktualizace výchozího jádra pro Ubuntu 14.04 LTS

Image Ubuntu 14.04 LTS se dodává s výchozí verzí jádra 4.4. Tato verze jádra má známý problém, při kterém nástroj Out of Memory Killer nesprávně ukončí příkaz dd během procesu šifrování operačního systému. Tato chyba je opravená v nejnovějším linuxovém jádru laděného pro Azure. Pokud se chcete této chybě vyhnout, před povolením šifrování pro image aktualizujte pomocí následujících příkazů jádro vyladěné pro Azure 4.15 nebo novější:

sudo apt-get update
sudo apt-get install linux-azure
sudo reboot

Po restartování virtuálního počítače do nového jádra je možné ověřit novou verzi jádra pomocí:

uname -a

Aktualizace agenta virtuálního počítače Azure a verzí rozšíření

Operace služby Azure Disk Encryption můžou selhat u imagí virtuálních počítačů používajících nepodporované verze agenta virtuálního počítače Azure. Image Linuxu s verzemi agenta staršími než 2.2.38 by se měly aktualizovat před povolením šifrování. Další informace najdete v tématech Postup aktualizace agenta Azure pro Linux na virtuálním počítači a Minimální podpora verzí pro agenty virtuálních počítačů v Azure.

Vyžaduje se také správná verze rozšíření agenta hosta Microsoft.Azure.Security.AzureDiskEncryption Nebo Microsoft.Azure.Security.AzureDiskEncryptionForLinux. Verze rozšíření platforma udržuje a aktualizuje automaticky, když jsou splněné požadavky na agenta virtuálního počítače Azure a použije se podporovaná verze agenta virtuálního počítače.

Rozšíření Microsoft.OSTCExtensions.AzureDiskEncryptionForLinux je zastaralé a už se nepodporuje.

Nejde zašifrovat disky s Linuxem

V některých případech se zdá, že se šifrování disku s Linuxem zaseklo na stavu "Šifrování disku operačního systému bylo spuštěno" a protokol SSH je zakázaný. Dokončení procesu šifrování u image z fotobanky může trvat 3 až 16 hodin. Pokud se přidají datové disky o velikosti více terabajtů, může tento proces trvat několik dní.

Posloupnost šifrování disku operačního systému Linux dočasně odpojí jednotku operačního systému. Pak provede blok po bloku šifrování celého disku s operačním systémem, než ho znovu připojí do šifrovaného stavu. Šifrování disku v Linuxu neumožňuje souběžné použití virtuálního počítače, zatímco probíhá šifrování. Charakteristiky výkonu virtuálního počítače můžou výrazně změnit dobu potřebnou k dokončení šifrování. Mezi tyto charakteristiky patří velikost disku a to, jestli se jedná o úložiště úrovně Standard nebo Premium (SSD).

Během šifrování jednotky s operačním systémem přejde virtuální počítač do stavu údržby a zakáže SSH, aby nedošlo k přerušení probíhajícího procesu. Pokud chcete zkontrolovat stav šifrování, použijte příkaz Azure PowerShell Get-AzVmDiskEncryptionStatus a zkontrolujte pole ProgressMessage. ProgressMessage bude hlásit řadu stavů, protože data a disky s operačním systémem jsou šifrované:

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings :
ProgressMessage            : Transitioning

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : Encryption succeeded for data volumes

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

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

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : OS disk encryption started

Zpráva ProgressMessage zůstane v šifrování disku operačního systému spuštěné po většinu procesu šifrování. Po dokončení a úspěšném šifrování ProgressMessage vrátí:

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : Encrypted
DataVolumesEncrypted       : NotMounted
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : Encryption succeeded for all volumes

Jakmile je tato zpráva k dispozici, očekává se, že šifrovaná jednotka s operačním systémem bude připravená k použití a virtuální počítač je připravený k opětovnému použití.

Pokud informace o spuštění, zpráva o průběhu nebo chyba hlásí, že během tohoto procesu selhalo šifrování operačního systému, obnovte virtuální počítač do snímku nebo zálohy pořízené bezprostředně před šifrováním. Příkladem zprávy je chyba "nepodařilo se odpojit", která je popsaná v této příručce.

Před opětovnou šifrou znovu vyhodnoejte vlastnosti virtuálního počítače a ujistěte se, že jsou splněné všechny požadavky.

Řešení potíží se službou Azure Disk Encryption za bránou firewall

Viz Šifrování disků v izolované síti.

Řešení potíží se stavem šifrování

Na portálu se disk může zobrazit jako šifrovaný i po jeho zrušení v rámci virtuálního počítače. K tomu může dojít v případě, že příkazy nízké úrovně slouží k přímému zrušení šifrování disku z virtuálního počítače místo použití příkazů pro správu služby Azure Disk Encryption vyšší úrovně. Příkazy vyšší úrovně nejen odšifrují disk z virtuálního počítače, ale také aktualizují důležitá nastavení šifrování na úrovni platformy a nastavení rozšíření přidružená k virtuálnímu počítači. Pokud se tyto hodnoty nezachovají v souladu, platforma nebude moct nahlásit stav šifrování ani správně zřídit virtuální počítač.

Pokud chcete zakázat službu Azure Disk Encryption pomocí PowerShellu, použijte rutinu Disable-AzVMDiskEncryptionEncryption následovanou rutinou Remove-AzVMDiskEncryptionExtension. Spuštění Remove-AzVMDiskEncryptionExtension před zakázání šifrování selže.

Pokud chcete zakázat službu Azure Disk Encryption pomocí rozhraní příkazového řádku, použijte příkaz az vm encryption disable.

Další kroky

V tomto dokumentu jste se dozvěděli více o některých běžných problémech se službou Azure Disk Encryption a o tom, jak tyto problémy řešit. Další informace o této službě a jejích možnostech najdete v následujících článcích: