Cifrado de discos de máquina virtual existentes
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:
- Creación de un almacén de claves.
- Configuración de la directiva de acceso del almacén de claves para que admita el cifrado de disco.
- 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.
En el menú o la página Inicio de Azure Portal, seleccione Crear un recurso.
En el cuadro de búsqueda, busque y seleccione Almacén de claves. Aparecerá el panel Almacén de claves.
Seleccione Crear. Aparece el panel Crear un almacén de claves.
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. 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.
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. Seleccione Revisar + crear.
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.Compute
recuperar 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 -VolumeType
pará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.