Solucionar el error de Azure Disk Encryption: RUNTIME_E_KEYVAULT_SECRET_WRAP_WITH_KEK_FAILED

Al habilitar Azure Disk Encryption para tu máquina virtual (VM), es posible que encuentres el siguiente error:

JSON'code': 'VMExtensionProvisioningError',
'message': 'VM has reported a failure when processing extension 'AzureDiskEncryption' (publisher 'Microsoft.Azure.Security' and type 'AzureDiskEncryption'). Error message: '[2.5.0.3] Failed to enable Azure Disk Encryption on the VM with the following exception details:\n Microsoft.Cis.Security.BitLocker.BitlockerIaasVMExtension.BitlockerFailedToSendEncryptionSettingsException: The fault reason was: '0xc142506f  RUNTIME_E_KEYVAULT_SECRET_WRAP_WITH_KEK_FAILED  Key vault secret wrap with key encryption key failed.'.\r\n   at Microsoft.Cis.Security.BitLocker.BitlockerIaasVMExtension.WireProtocol.WireProtocolMessage.SendEncryptionSettingsToHost() in C:\\__w\\1\\s\\src\\BitLocker\\BitlockerIaasVMExtension\\WireProtocol\\WireProtocolMessage.cs:line 210\r\n   at Microsoft.Cis.Security.BitLocker.BitlockerIaasVMExtension.BitlockerExtension.SendEncryptionSettingsToHostV3(VmEncryptionSettings vmSettings) in C:\\__w\\1\\s\\src\\BitLocker\\BitlockerIaasVMExtension\\BitlockerExtension.cs:line 1092'. More information on troubleshooting is available at https://aka.ms/VMExtensionADEWindowsTroubleshoot.'

Análisis del error

El mensaje de error indica que el problema se debe a la excepción RUNTIME_E_KEYVAULT_SECRET_WRAP_WITH_KEK_FAILED. Esto significa que Key Vault falló durante la operación de encapsular la clave de cifrado usando la clave de cifrado de claves (KEK).

Es importante tener en cuenta que el sistema operativo de la VM que se está utilizando es Windows 11 Pro, que tiene problemas de compatibilidad conocidos con Azure Disk Encryption debido a la falta de compatibilidad con claves RSA de 2048 bits.

Causas comunes

  1. Longitud de la clave RSA: Windows 11 y Windows Server 2022 no admiten claves RSA de 2048 bits para Azure Disk Encryption.
  2. Dependencias faltantes: Algunas configuraciones de Windows Server requieren componentes adicionales, como bdehdcfg o .NET Framework.

Documentación oficial

Microsoft ha reconocido esta limitación en el artículo Habilitar Azure Disk Encryption para VM de Windows y ofrece una sección de preguntas frecuentes que recomienda usar longitudes de clave RSA mayores para determinadas versiones del sistema operativo.


Para resolver el error y habilitar correctamente Azure Disk Encryption, sigue uno de los dos enfoques detallados a continuación:

Solución 1: usar la clave de cifrado de BitLocker (BEK)

Azure Disk Encryption admite el cifrado con la clave de cifrado de BitLocker (BEK). Usar BEK en lugar de una clave de cifrado de claves (KEK) puede evitar el problema de encapsulación en Key Vault.

  1. Modificar la configuración de cifrado:
    • Abre Azure Portal.
    • Ve a tu VM y selecciona Disks.
    • Configura el cifrado de disco con BEK en lugar de KEK.
  2. Probar el cifrado:
    • Reinicia la VM después de habilitar el cifrado de disco.
    • Verifica que el cifrado se haya aplicado correctamente y sin errores.

Solución 2: aumentar la longitud de la clave RSA

Windows 11 y Windows Server 2022 requieren una longitud de clave RSA superior a 2048 bits. Actualiza tus claves de Key Vault a RSA 3072 o RSA 4096 para resolver este problema.

  1. Crear una nueva clave RSA:
    • Ve a Azure Key Vault en Azure Portal.
    • Selecciona Keys y haz clic en Generate/Import.
    • Elige RSA-HSM con un tamaño de clave de 3072 o 4096 bits.
  2. Actualizar la configuración de cifrado de disco:
    • Usa la nueva clave RSA en tu configuración de cifrado.
    • Reinicia la VM para aplicar los cambios.
  3. Verificar el cifrado:
    • Comprueba el estado de aprovisionamiento para asegurarte de que la extensión de cifrado de disco se ejecuta correctamente.

Consideraciones clave

Para otras versiones de Windows Server, asegúrate de que las siguientes dependencias estén instaladas:

Sistema operativoRequisito
Windows Server 2012 R2 CoreInstala el componente bdehdcfg .
Windows Server 2016 CoreInstala el componente bdehdcfg .
Windows Server 2008 R2Instala .NET Framework 4.5 a través de Windows Update (KB2901983).

Consulta la documentación sobre requisitos previos de Azure Disk Encryption.


Ejemplo de fragmento de código

A continuación se muestra un ejemplo de Azure CLI para actualizar la longitud de la clave RSA de Key Vault:

BASH# Create a new RSA key with 4096 bits in Azure Key Vault
az keyvault key create \
  --vault-name <YourKeyVaultName> \
  --name <YourKeyName> \
  --kty RSA \
  --size 4096

Asegúrate de sustituir <YourKeyVaultName> y <YourKeyName> por los nombres reales de tu Key Vault y de tu clave.


Referencias

Para obtener más ayuda con la solución de problemas y orientación, explora los siguientes recursos:

Deja un comentario