Partilhar via


Guia de resolução de problemas do Azure Disk Encryption para VMs do Linux

Aplica-se a: ✔️ Conjuntos de dimensionamento flexíveis de VMs ✔️ do Linux

Este guia destina-se a profissionais de TI, analistas de segurança de informações e administradores da cloud cujas organizações utilizam o Azure Disk Encryption. Este artigo destina-se a ajudar na resolução de problemas relacionados com encriptação de discos.

Antes de seguir qualquer um dos passos abaixo, primeiro certifique-se de que as VMs que está a tentar encriptar estão entre os tamanhos e sistemas operativos de VM suportados e que cumpriu todos os pré-requisitos:

Resolver problemas de encriptação do disco do SO Linux

A encriptação do disco do sistema operativo Linux (SO) tem de desmontar a unidade do SO antes de a executar através do processo de encriptação de disco completo. Se não conseguir 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 do disco do SO é tentada numa VM com um ambiente que foi alterado a partir da imagem da galeria de stock suportada. Os desvios da imagem suportada podem interferir com a capacidade da extensão de desmontar a unidade do SO. Os exemplos de desvios podem incluir os seguintes itens:

  • As imagens personalizadas já não correspondem a um sistema de ficheiros ou esquema de criação de partições suportado.
  • As aplicações grandes como SAP, MongoDB, Apache Cassandra e Docker não são suportadas quando são instaladas e executadas no SO antes da encriptação. O Azure Disk Encryption não consegue encerrar estes processos de forma segura, conforme necessário na preparação da unidade do SO para encriptação de disco. Se ainda existirem processos ativos com alças de ficheiro abertas na unidade do SO, a unidade do SO não pode ser desmontada, o que resulta numa falha na encriptação da unidade do SO.
  • Scripts personalizados que são executados em tempo próximo da encriptação que está a ser ativada ou se estão a ser efetuadas outras alterações na VM durante o processo de encriptação. Este conflito pode ocorrer quando um modelo de Resource Manager do Azure define várias extensões para serem executadas em simultâneo ou quando uma extensão de script personalizado ou outra ação é executada simultaneamente na encriptação de disco. Serializar e isolar tais passos pode resolver o problema.
  • O Linux Avançado de Segurança (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 encriptação estar concluída.
  • O disco do SO utiliza um esquema LVM (Logical Volume Manager). Embora o suporte limitado do disco de dados LVM esteja disponível, um disco do SO LVM não está.
  • Os requisitos mínimos de memória não são cumpridos (são sugeridos 7 GB para a encriptação do disco do SO).
  • As unidades de dados são montadas de forma recursiva no diretório /mnt/ ou entre si (por exemplo, /mnt/data1, /mnt/data2, /data3 + /data3/data4).

Atualizar o kernel predefinido para Ubuntu 14.04 LTS

A imagem Ubuntu 14.04 LTS é fornecida com uma versão de kernel predefinida da versão 4.4. Esta versão do kernel tem um problema conhecido em que o Assassino Sem Memória termina incorretamente o comando dd durante o processo de encriptação do SO. Este erro foi corrigido no kernel linux otimizado mais recente do Azure. Para evitar este erro, antes de ativar a encriptação na imagem, atualize para o kernel otimizado do Azure 4.15 ou posterior com os seguintes comandos:

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

Depois de a VM ser reiniciada no novo kernel, a nova versão do kernel pode ser confirmada com:

uname -a

Atualizar o Agente da 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áquinas virtuais com versões não suportadas do Agente de Máquina Virtual do Azure. As imagens do Linux com versões de agente anteriores à 2.2.38 devem ser atualizadas antes de ativar a encriptação. Para obter mais informações, veja How to update the Azure Linux Agent on a VM and Minimum version support for virtual machine agents in Azure (Como atualizar o Agente linux do Azure numa VM e o Suporte mínimo de versões para agentes de máquinas virtuais no Azure).

A versão correta da extensão do 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 da Máquina Virtual do Azure são cumpridos e é utilizada uma versão suportada do agente da máquina virtual.

A extensão Microsoft.OSTCExtensions.AzureDiskEncryptionForLinux foi preterida e já não é suportada.

Não é possível encriptar discos linux

Em alguns casos, a encriptação do disco do Linux parece estar bloqueada em "Encriptação do disco do SO iniciada" e O SSH está desativado. O processo de encriptação pode demorar entre 3 a 16 horas a concluir numa imagem de galeria de stock. Se forem adicionados discos de dados com vários terabytes, o processo poderá demorar dias.

A sequência de encriptação do disco do SO Linux desmonta temporariamente a unidade do SO. Em seguida, executa a encriptação bloco a bloco de todo o disco do SO, antes de o montar novamente no estado encriptado. A Encriptação de Discos do Linux não permite a utilização simultânea da VM enquanto a encriptação estiver em curso. As características de desempenho da VM podem fazer uma diferença significativa no tempo necessário para concluir a encriptação. Estas características incluem o tamanho do disco e se a conta de armazenamento é de armazenamento standard ou premium (SSD).

Enquanto a unidade do SO está a ser encriptada, a VM entra num estado de manutenção e desativa o SSH para evitar qualquer interrupção no processo em curso. Para verificar o estado de encriptação, utilize o Azure PowerShell comando Get-AzVmDiskEncryptionStatus e verifique o campo ProgressMessage. ProgressMessage irá comunicar 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 do disco do SO iniciada durante a maior parte do processo de encriptação. Quando a encriptação for concluída e bem-sucedida, ProgressMessage irá devolver:

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 de esta mensagem estar disponível, espera-se que a unidade de SO encriptada esteja pronta para utilização e a VM esteja pronta para ser utilizada novamente.

Se as informações de arranque, a mensagem de progresso ou um erro indicarem que a encriptação do SO falhou a meio deste processo, restaure a VM para o instantâneo ou cópia de segurança efetuada imediatamente antes da encriptação. Um exemplo de uma mensagem é o erro "falha ao desmontar" descrito neste guia.

Antes de reattecar a encriptação, reavalie as características da VM e certifique-se de que todos os pré-requisitos estão satisfeitos.

Resolver problemas do Azure Disk Encryption atrás de uma firewall

Veja Encriptação de Disco numa rede isolada

Resolver problemas de estado de encriptação

O portal pode apresentar um disco como encriptado mesmo depois de não ter sido encriptado na VM. Isto pode ocorrer quando os comandos de baixo nível são utilizados para desencriptar diretamente o disco a partir da VM, em vez de utilizar os comandos de gestão do Azure Disk Encryption de nível superior. Os comandos de nível superior não só desencriptam o disco a partir da VM, como também atualizam definições importantes de encriptação ao nível da plataforma e definições de extensão associadas à VM. Se estes não forem mantidos em alinhamento, a plataforma não poderá comunicar o estado de encriptação nem aprovisionar a VM corretamente.

Para desativar o Azure Disk Encryption com o PowerShell, utilize Disable-AzVMDiskEncryption seguido de Remove-AzVMDiskEncryptionExtension. Executar Remove-AzVMDiskEncryptionExtension antes de a encriptação ser desativada falhará.

Para desativar o Azure Disk Encryption com a CLI, utilize az vm encryption disable.

Passos seguintes

Neste documento, aprendeu mais sobre alguns problemas comuns no Azure Disk Encryption e como resolver esses problemas. Para obter mais informações sobre este serviço e as respetivas capacidades, veja os seguintes artigos: