Felsökningsguiden för Azure Disk Encryption för virtuella Linux-datorer

Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️

Den här guiden är avsedd för IT-proffs, informationssäkerhetsanalytiker och molnadministratörer vars organisationer använder Azure Disk Encryption. Den här artikeln hjälper dig att felsöka diskkrypteringsrelaterade problem.

Innan du utför något av stegen nedan kontrollerar du först att de virtuella datorer som du försöker kryptera finns bland de vm-storlekar och operativsystem som stöds och att du har uppfyllt alla krav:

Felsöka diskkryptering i Linux OS

Diskkryptering för Linux-operativsystem (OS) måste demontera OS-enheten innan den körs via den fullständiga diskkrypteringsprocessen. Om det inte går att demontera enheten visas ett felmeddelande om att det inte gick att demontera efter ..." sannolikt kommer att inträffa.

Det här felet kan inträffa när os-diskkryptering görs på en virtuell dator med en miljö som har ändrats från den avbildning av lagergalleriet som stöds. Avvikelser från avbildningen som stöds kan störa tilläggets möjlighet att demontera OS-enheten. Exempel på avvikelser kan vara följande:

  • Anpassade avbildningar matchar inte längre ett filsystem eller partitioneringsschema som stöds.
  • Stora program som SAP, MongoDB, Apache Cassandra och Docker stöds inte när de installeras och körs i operativsystemet före kryptering. Azure Disk Encryption kan inte stänga av dessa processer på ett säkert sätt vid förberedelse av OS-enheten för diskkryptering. Om det fortfarande finns aktiva processer som innehåller öppna filreferenser till OS-enheten kan os-enheten inte demonteras, vilket resulterar i ett fel vid kryptering av OS-enheten.
  • Anpassade skript som körs nära krypteringen som aktiveras, eller om andra ändringar görs på den virtuella datorn under krypteringsprocessen. Den här konflikten kan inträffa när en Azure Resource Manager-mall definierar flera tillägg som ska köras samtidigt, eller när ett anpassat skripttillägg eller en annan åtgärd körs samtidigt till diskkryptering. Att serialisera och isolera sådana steg kan lösa problemet.
  • Security Enhanced Linux (SELinux) har inte inaktiverats innan kryptering aktiveras, så avmonteringssteget misslyckas. SELinux kan återanvändas när krypteringen är klar.
  • OS-disken använder ett LVM-schema (Logical Volume Manager). Även om det finns ett begränsat stöd för LVM-datadiskar är det inte en LVM OS-disk.
  • Minimikraven för minne uppfylls inte (7 GB föreslås för OS-diskkryptering).
  • Dataenheter monteras rekursivt under katalogen /mnt/ eller varandra (till exempel /mnt/data1, /mnt/data2, /data3 + /data3/data4).

Uppdatera standardkärnan för Ubuntu 14.04 LTS

Ubuntu 14.04 LTS-avbildningen levereras med en standard kernelversion av 4.4. Den här kernelversionen har ett känt problem där Out of Memory Killer felaktigt avslutar dd-kommandot under OS-krypteringsprocessen. Den här buggen har åtgärdats i den senaste Azure-finjusterade Linux-kerneln. Innan du aktiverar kryptering på avbildningen kan du undvika det här felet genom att uppdatera till Den Azure-finjusterade kerneln 4.15 eller senare med hjälp av följande kommandon:

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

När den virtuella datorn har startats om till den nya kerneln kan den nya kernelversionen bekräftas med hjälp av:

uname -a

Uppdatera Azure Virtual Machine Agent och tilläggsversioner

Azure Disk Encryption-åtgärder kan misslyckas på avbildningar av virtuella datorer med versioner som inte stöds av Azure Virtual Machine Agent. Linux-avbildningar med agentversioner tidigare än 2.2.38 bör uppdateras innan kryptering aktiveras. Mer information finns i Så här uppdaterar du Azure Linux-agenten på en virtuell dator och Lägsta versionsstöd för agenter för virtuella datorer i Azure.

Rätt version av gästagenttillägget Microsoft.Azure.Security.AzureDiskEncryption eller Microsoft.Azure.Security.AzureDiskEncryptionForLinux krävs också. Tilläggsversioner underhålls och uppdateras automatiskt av plattformen när förhandskraven för Azure Virtual Machine-agenten uppfylls och en version av agenten för den virtuella datorn som stöds används.

Tillägget Microsoft.OSTCExtensions.AzureDiskEncryptionForLinux har blivit inaktuellt och stöds inte längre.

Det går inte att kryptera Linux-diskar

I vissa fall verkar Linux-diskkryptering ha fastnat vid "OS-diskkryptering har startats" och SSH är inaktiverat. Krypteringsprocessen kan ta mellan 3 och 16 timmar att slutföra på en avbildning av ett lagergalleri. Om datadiskar i flera terabyte läggs till kan processen ta flera dagar.

Krypteringssekvensen för Linux OS-disk demonterar operativsystemet tillfälligt. Den utför sedan block-för-block-kryptering av hela OS-disken innan den återmonteras i sitt krypterade tillstånd. Linux-diskkryptering tillåter inte samtidig användning av den virtuella datorn medan krypteringen pågår. Prestandaegenskaperna för den virtuella datorn kan göra stor skillnad i den tid som krävs för att slutföra krypteringen. Dessa egenskaper omfattar storleken på disken och om lagringskontot är standard- eller premiumlagring (SSD).

När operativsystemenheten krypteras går den virtuella datorn in i ett underhållstillstånd och inaktiverar SSH för att förhindra avbrott i den pågående processen. Om du vill kontrollera krypteringsstatusen använder du kommandot Azure PowerShell Get-AzVmDiskEncryptionStatus och kontrollerar fältet ProgressMessage. ProgressMessage rapporterar en serie statusar när data- och OS-diskarna krypteras:

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

ProgressMessage kommer att finnas kvar i OS-diskkryptering som startats under större delen av krypteringsprocessen. När krypteringen är klar och lyckas returnerar ProgressMessage :

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

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

När det här meddelandet är tillgängligt förväntas den krypterade OS-enheten vara redo att användas och den virtuella datorn är redo att användas igen.

Om startinformationen, förloppsmeddelandet eller ett fel rapporterar att OS-krypteringen har misslyckats mitt i den här processen återställer du den virtuella datorn till ögonblicksbilden eller säkerhetskopieringen som gjordes omedelbart före krypteringen. Ett exempel på ett meddelande är felet "det gick inte att demontera" som beskrivs i den här guiden.

Innan du försöker använda kryptering igen ska du utvärdera egenskaperna för den virtuella datorn igen och se till att alla förutsättningar är uppfyllda.

Felsöka Azure Disk Encryption bakom en brandvägg

Se Diskkryptering i ett isolerat nätverk

Felsöka krypteringsstatus

Portalen kan visa en disk som krypterad även efter att den har okrypterats i den virtuella datorn. Detta kan inträffa när lågnivåkommandon används för att direkt avkryptera disken inifrån den virtuella datorn, i stället för att använda azure diskkrypteringshanteringskommandon på högre nivå. Kommandon på högre nivå avkrypterar inte bara disken från den virtuella datorn, utan även utanför den virtuella datorn uppdaterar de viktiga krypteringsinställningar på plattformsnivå och tilläggsinställningar som är associerade med den virtuella datorn. Om dessa inte hålls i justering kan plattformen inte rapportera krypteringsstatus eller etablera den virtuella datorn korrekt.

Om du vill inaktivera Azure Disk Encryption med PowerShell använder du Disable-AzVMDiskEncryption följt av Remove-AzVMDiskEncryptionExtension. Det går inte att köra Remove-AzVMDiskEncryptionExtension innan krypteringen inaktiveras.

Om du vill inaktivera Azure Disk Encryption med CLI använder du az vm encryption disable.

Nästa steg

I det här dokumentet har du lärt dig mer om några vanliga problem i Azure Disk Encryption och hur du felsöker dessa problem. Mer information om den här tjänsten och dess funktioner finns i följande artiklar: