Cifrado de discos de máquina virtual existentes

Completado

Supongamos que su empresa decide implementar Azure Disk Encryption (ADE) en todas las máquinas virtuales. Debe evaluar cómo implementar el cifrado en volúmenes de máquina virtual (VM) existentes. Aquí se examinan los requisitos de ADE y los pasos necesarios para cifrar discos en máquinas virtuales (VMs) Linux y Windows existentes. En la unidad siguiente, trabajará mediante el proceso de cifrado de discos de máquina virtual existentes.

Requisitos previos de Azure Disk Encryption

Para poder cifrar los discos de máquina virtual deberá realizar los siguientes pasos:

  1. Creación de un almacén de claves.
  2. Configuración de la directiva de acceso del almacén de claves para que admita el cifrado de disco.
  3. Use el almacén de claves para almacenar las claves de cifrado de ADE.

Azure Key Vault

Las claves de cifrado que ADE usa se pueden almacenar en Azure Key Vault. Azure Key Vault es una herramienta para almacenar y acceder a los secretos de forma segura. Un secreto es todo aquello cuyo acceso se quiere controlar de forma estrecha, como los certificados, las contraseñas o las claves de API. Azure Key Vault proporciona almacenamiento seguro escalable y de alta disponibilidad, tal como se define en los Módulos de Seguridad de Hardware (HSMs) validados por los Estándares Federales de Procesamiento de Información (FIPS) 140-2 Nivel 2. Con Key Vault, puede mantener el control completo de las claves usadas para cifrar los datos, además de administrar y auditar su uso.

Nota:

Azure Disk Encryption requiere que el almacén de claves y las máquinas virtuales estén en la misma región de Azure. Esto garantiza que los secretos de cifrado no crucen los límites regionales.

Puede configurar y administrar el almacén de claves con:

PowerShell

New-AzKeyVault -Location <location> `
    -ResourceGroupName <resource-group> `
    -VaultName "myKeyVault" `
    -EnabledForDiskEncryption

Azure CLI

az keyvault create \
    --name "myKeyVault" \
    --resource-group <resource-group> \
    --location <location> \
    --enabled-for-disk-encryption True

Portal de Azure

Azure Key Vault es un recurso que puede crear en Azure Portal mediante el proceso habitual de creación de recursos.

  1. En el menú o la página Inicio de Azure Portal, seleccione Crear un recurso.

  2. En el cuadro de búsqueda, busque y seleccione Almacén de claves. Aparecerá el panel Almacén de claves.

  3. Seleccione Crear. Aparece el panel Crear un almacén de claves.

  4. En la pestaña Aspectos básicos, escriba los valores siguientes para cada opción.

    Configuración Valor
    Detalles del proyecto
    Suscripción Seleccione la suscripción en la que se va a colocar el almacén de claves (el valor predeterminado es la suscripción actual).
    Resource group Seleccione un grupo de recursos existente o cree uno nuevo.
    Detalles de instancia
    Nombre del almacén de claves Escriba un nombre para el almacén de claves.
    Region Seleccione la región en la que reside la máquina virtual.
    Plan de tarifa Estándar. Puede seleccionar Estándar o Premium para el plan de tarifa. La principal diferencia es que el nivel Premium permite claves respaldadas por cifrado de hardware.

    Captura de pantalla en la que se muestra el panel Almacén de claves.

  5. Seleccione Siguiente para ir a la pestaña Configuración de acceso. Debe cambiar las directivas de acceso para que admitan el cifrado de disco. De manera predeterminada, agrega su cuenta a la directiva.

  6. En la pestaña Configuración de acceso, escriba el valor siguiente para la configuración.

    Configuración Value
    Acceso a los recursos Active la casilla de Azure Disk Encryption para el cifrado de volúmenes. Si quiere, puede quitar la cuenta, ya que no es necesaria si solo piensa usar el almacén de claves para el cifrado de disco.
  7. Seleccione Revisar + crear.

  8. Una vez superada la validación, para crear el almacén de claves, seleccione Crear.

Habilitación de directivas de acceso en el almacén de claves

Azure necesita acceso a las claves de cifrado o secretos del almacén de claves para ponerlos a disposición de la máquina virtual para el proceso de arranque y descifrado de los volúmenes. Habilitó este acceso en los pasos anteriores al cambiar la directiva de acceso.

Hay tres directivas que puede habilitar:

  • Cifrado de Disk: Se requiere para el cifrado de Azure Disk.
  • Implementación: (Opcional) Permite al proveedor de recursos Microsoft.Computerecuperar secretos de este almacén de claves cuando se hace referencia a este almacén de claves en la creación de recursos. Por ejemplo, al crear una máquina virtual.
  • Template Deployment: (Opcional) permite que Azure Resource Manager obtenga los secretos de este almacén de claves cuando se haga referencia al almacén de claves en una implementación de plantilla.

Aquí le mostramos cómo habilitar la directiva de cifrado de disco. Las otras dos directivas son similares pero usan otras marcas.

Set-AzKeyVaultAccessPolicy -VaultName <keyvault-name> -ResourceGroupName <resource-group> -EnabledForDiskEncryption
az keyvault update --name <keyvault-name> --resource-group <resource-group> --enabled-for-disk-encryption true

Cifrado de un disco de máquina virtual existente

Cuando haya configurado el almacén de claves, puede cifrar la máquina virtual mediante la CLI de Azure o Azure PowerShell. La primera vez que cifre una máquina virtual Windows, puede elegir cifrar todos los discos o solo el del sistema operativo. En algunas distribuciones de Linux, solo se pueden cifrar los discos de datos. Para ser aptos para el cifrado, los discos de Windows deben estar formateados como volúmenes del sistema de archivos de nueva tecnología (NTFS).

Advertencia

Antes de poder activar el cifrado debe tomar una instantánea o realizar una copia de seguridad de los discos administrados. La marca SkipVmBackup siguiente informa a la herramienta de que la copia de seguridad se ha completado en los discos administrados. Sin la copia de seguridad, no puede recuperar la máquina virtual si se produce un error en el cifrado por algún motivo.

Para habilitar el cifrado mediante PowerShell, ejecute el cmdlet Set-AzVmDiskEncryptionExtension.


Set-AzVmDiskEncryptionExtension `
    -ResourceGroupName <resource-group> `
    -VMName <vm-name> `
    -VolumeType [All | OS | Data]
    -DiskEncryptionKeyVaultId <keyVault.ResourceId> `
    -DiskEncryptionKeyVaultUrl <keyVault.VaultUri> `
     -SkipVmBackup

Para habilitar el cifrado mediante la CLI de Azure, ejecute el comando az vm encryption enable y especifique el volumen que quiera cifrar mediante el parámetro --volume-type [all | os | data]. Este es un ejemplo de cifrado de todos los volúmenes de una máquina virtual:

az vm encryption enable \
    --resource-group <resource-group> \
    --name <vm-name> \
    --disk-encryption-keyvault <keyvault-name> \
    --volume-type all

Visualización del estado del disco

Puede comprobar si discos concretos están cifrados.

Get-AzVmDiskEncryptionStatus  -ResourceGroupName <resource-group> -VMName <vm-name>
az vm encryption show --resource-group <resource-group> --name <vm-name>

Ambos comandos devuelven el estado de cada disco conectado a la máquina virtual especificada.

Descifrado de unidades

Para invertir el cifrado a través de PowerShell ejecute el cmdlet Disable-AzVMDiskEncryption.

Disable-AzVMDiskEncryption -ResourceGroupName <resource-group> -VMName <vm-name>

En la CLI de Azure, ejecute el comando vm encryption disable.

az vm encryption disable --resource-group <resource-group> --name <vm-name>

Estos comandos deshabilitan el cifrado de los volúmenes de tipo all para la máquina virtual especificada. Al igual que con la versión de cifrado, para decidir qué discos se descifrarán es posible especificar un -VolumeTypeparámetro[All | OS | Data]. El valor predeterminado es All si no se proporciona otro.

Advertencia

Deshabilitar el cifrado de disco de datos en la máquina virtual de Windows cuando se han cifrado los discos de datos y de sistema operativo no funciona según lo previsto. En su lugar, debe deshabilitar el cifrado en todos los discos.

En el ejercicio siguiente, probará algunos de estos comandos en una nueva máquina virtual.