Guia de resolução de problemas do Azure Disk Encryption para VMs do Linux
Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível
Este guia destina-se a profissionais de TI, analistas de segurança da informação e administradores de nuvem cujas organizações utilizam a Encriptação de Disco do Azure. Este artigo destina-se a ajudar na resolução de problemas relacionados com encriptação de disco.
Antes de executar qualquer uma das etapas abaixo, primeiro verifique se as VMs que você está tentando criptografar estão entre os tamanhos de VM e sistemas operacionais suportados e se você atendeu a todos os pré-requisitos:
- Requisitos adicionais das VMs
- Requisitos de rede
- Requisitos do armazenamento de chaves de encriptação
Solução de problemas de criptografia de disco do sistema operacional Linux
A criptografia de disco do sistema operacional Linux (SO) deve desmontar a unidade do sistema operacional antes de executá-la através do processo de criptografia de disco completo. Se não for possível desmontar a unidade, uma mensagem de erro de "falha ao desmontar após ..." é provável que ocorra.
Este erro pode ocorrer quando a encriptação de disco do SO é tentada numa VM com um ambiente que foi alterado a partir da imagem da galeria de stock suportada. Desvios da imagem suportada podem interferir com a capacidade da extensão de desmontar a unidade do sistema operacional. Exemplos de desvios podem incluir os seguintes itens:
- As imagens personalizadas não correspondem mais a um sistema de arquivos ou esquema de particionamento suportado.
- Aplicativos grandes como SAP, MongoDB, Apache Cassandra e Docker não são suportados quando são instalados e executados no sistema operacional antes da criptografia. O Azure Disk Encryption não consegue encerrar esses processos com segurança, conforme necessário na preparação da unidade do sistema operacional para criptografia de disco. Se ainda houver processos ativos mantendo identificadores de arquivo abertos na unidade do sistema operacional, a unidade do sistema operacional não poderá ser desmontada, resultando em uma falha na criptografia da unidade do sistema operacional.
- Scripts personalizados que são executados em tempo próximo à criptografia que está sendo habilitada ou se quaisquer outras alterações estiverem sendo feitas na VM durante o processo de criptografia. Esse conflito pode acontecer quando um modelo do Azure Resource Manager define várias extensões para executar simultaneamente ou quando uma extensão de script personalizada ou outra ação é executada simultaneamente à criptografia de disco. Serializar e isolar essas etapas pode resolver o problema.
- O Security Enhanced Linux (SELinux) não foi desativado antes de ativar a encriptação, pelo que o passo de desmontagem falha. O SELinux pode ser reativado após a conclusão da criptografia.
- O disco do SO utiliza um esquema LVM (Logical Volume Manager). Embora o suporte limitado ao disco de dados LVM esteja disponível, um disco do sistema operacional LVM não está.
- Os requisitos mínimos de memória não são cumpridos (7 GB são sugeridos para encriptação de disco do SO).
- As unidades de dados são montadas recursivamente sob o diretório /mnt/ ou umas às outras (por exemplo, /mnt/data1, /mnt/data2, /data3 + /data3/data4).
Atualize o kernel padrão para o Ubuntu 14.04 LTS
A imagem do Ubuntu 14.04 LTS vem com uma versão padrão do kernel de 4.4. Esta versão do kernel tem um problema conhecido no qual o out of Memory Killer encerra incorretamente o comando dd durante o processo de criptografia do sistema operacional. Este bug foi corrigido no kernel Linux ajustado do Azure mais recente. Para evitar esse erro, antes de habilitar a criptografia na imagem, atualize para o kernel ajustado do Azure 4.15 ou posterior usando os seguintes comandos:
sudo apt-get update
sudo apt-get install linux-azure
sudo reboot
Depois que a VM for reiniciada no novo kernel, a nova versão do kernel poderá ser confirmada usando:
uname -a
Atualizar o Agente de Máquina Virtual do Azure e as versões de extensão
As operações do Azure Disk Encryption podem falhar em imagens de máquina virtual usando versões sem suporte do Agente de Máquina Virtual do Azure. As imagens do Linux com versões do agente anteriores à 2.2.38 devem ser atualizadas antes de ativar a criptografia. Para obter mais informações, consulte Como atualizar o Agente Linux do Azure em uma VM e Suporte de versão mínima para agentes de máquina virtual no Azure.
A versão correta da extensão de agente convidado Microsoft.Azure.Security.AzureDiskEncryption ou Microsoft.Azure.Security.AzureDiskEncryptionForLinux também é necessária. As versões de extensão são mantidas e atualizadas automaticamente pela plataforma quando os pré-requisitos do agente de máquina virtual do Azure são satisfeitos e uma versão com suporte do agente de máquina virtual é usada.
A extensão Microsoft.OSTCExtensions.AzureDiskEncryptionForLinux foi preterida e não é mais suportada.
Não é possível criptografar discos Linux
Em alguns casos, a criptografia de disco Linux parece estar presa em "criptografia de disco do sistema operacional iniciada" e SSH está desativado. O processo de encriptação pode demorar entre 3 a 16 horas a terminar numa imagem de galeria de stock. Se forem adicionados discos de dados de vários terabytes, o processo poderá demorar dias.
A sequência de criptografia de disco do sistema operacional Linux desmonta a unidade do sistema operacional temporariamente. Em seguida, ele executa a criptografia bloco a bloco de todo o disco do sistema operacional, antes de remontá-lo em seu estado criptografado. A criptografia de disco do Linux não permite o uso simultâneo da VM enquanto a criptografia está em andamento. As características de desempenho da VM podem fazer uma diferença significativa no tempo necessário para concluir a criptografia. Essas características incluem o tamanho do disco e se a conta de armazenamento é padrão ou premium (SSD).
Enquanto a unidade do sistema operacional está sendo criptografada, a VM entra em um estado de manutenção e desativa o SSH para evitar qualquer interrupção no processo em andamento. Para verificar o status da criptografia, use o comando Get-AzVmDiskEncryptionStatus do Azure PowerShell e verifique o campo ProgressMessage. O ProgressMessage reportará uma série de estados à medida que os dados e os discos do SO são encriptados:
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
A ProgressMessage permanecerá na encriptação de disco do SO iniciada durante a maior parte do processo de encriptação. Quando a encriptação estiver concluída e for bem-sucedida, o ProgressMessage retornará:
PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"
OsVolumeEncrypted : Encrypted
DataVolumesEncrypted : NotMounted
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage : Encryption succeeded for all volumes
Depois que essa mensagem estiver disponível, espera-se que a unidade de sistema operacional criptografada esteja pronta para uso e que a VM esteja pronta para ser usada novamente.
Se as informações de inicialização, a mensagem de progresso ou um erro informar que a criptografia do sistema operacional falhou no meio desse processo, restaure a VM para o instantâneo ou backup feito imediatamente antes da criptografia. Um exemplo de mensagem é o erro "falha ao desmontar" descrito neste guia.
Antes de tentar novamente a criptografia, reavalie as características da VM e certifique-se de que todos os pré-requisitos sejam atendidos.
Solução de problemas do Azure Disk Encryption atrás de um firewall
Consulte Criptografia de disco em uma rede isolada
Solução de problemas de status de criptografia
O portal pode exibir um disco como criptografado mesmo depois de ter sido descriptografado dentro da VM. Isso pode ocorrer quando comandos de baixo nível são usados para descriptografar diretamente o disco de dentro da VM, em vez de usar os comandos de gerenciamento de criptografia de disco do Azure de nível superior. Os comandos de nível superior não apenas descriptografam o disco de dentro da VM, mas fora da VM também atualizam configurações importantes de criptografia no nível da plataforma e configurações de extensão associadas à VM. Se eles não forem mantidos alinhados, a plataforma não poderá relatar o status da criptografia ou provisionar a VM corretamente.
Para desabilitar a Criptografia de Disco do Azure com o PowerShell, use Disable-AzVMDiskEncryption seguido por Remove-AzVMDiskEncryptionExtension. A execução de Remove-AzVMDiskEncryptionExtension antes que a criptografia seja desabilitada falhará.
Para desabilitar a Criptografia de Disco do Azure com CLI, use az vm encryption disable.
Próximos passos
Neste documento, você aprendeu mais sobre alguns problemas comuns no Azure Disk Encryption e como solucionar esses problemas. Para obter mais informações sobre esse serviço e seus recursos, consulte os seguintes artigos: