Come crittografare una VM su Azure utilizzando Key Vault e lo standard BitLocker
Microsoft Azure mette a disposizione nuovi strumenti per la sicurezza dei nostri dati. Utilizzando pochi comandi PowerShell e concetti base su Key Vault in questo articolo vedremo come crittografare il disco di una VM con lo standard BitLocker.
Prerequisiti:
-
Azure PowerShell
-
Configurazione di un Key Vault
Per soddisfare i prerequisiti potete consultare il precedente articolo https://www.ictpower.it/guide/configurare-microsoft-azure-keyvault.htm
Configurare la VM
Creiamo una nuova VM associata al resource group NewResourceGroup, che avevamo creato nel precedente articolo, utilizzando Resource Manager come modello di deployment.
Figura 1: Scelta del deployment model
Figura 2: parametri per la creazione della nuova VM
Assicuriamoci che tutte le configurazioni siano relative al resource group corretto, cioè quello dentro il quale abbiamo abilitato Key Vault.
Al termine della creazione della VM, cliccando su Disks è possibile constatare che il disco non è crittografato.
Figura 3: Verifica che il disco creato non è crittografato
Scarichiamo dal repository GitHub ufficiale di Azure lo script denominato Azure Disk Encryption Prerequisite Setup, che si occuperà di soddisfare i prerequisiti necessari.
Utilizzando PowerShell ISE, configuriamo il contesto nel quale lo script verrà eseguito con i comandi:
Login-AzureRmAccount
Set-AzureRmContext -SubscriptionId <SubscriptionID>
Eseguiamo lo script:
Figura 4: Esecuzione dello script che verifica i prerequisiti per Azure Disk Encryption
Durante l’esecuzione, lo script chiederà alcune informazioni:
-
Il resource group da utilizzare
-
Il nome di una chiave; se non presente sarà creata automaticamente
-
L’area geografica
-
Il nome di un’applicazione: questa verrà usata per scrivere il segreto nel Key Vault; se non presente, verrà anch’essa creata automaticamente.
Figura 5: Inserimento dei parametri nello script di verifica
Crittografare la VM
Per crittografare la VM è necessario alcuni comandi PowerShell. Dichiariamo qual è il resource group da utilizzare e il nome della VM interessata utilizzando i comandi:
$resourceGroupName = ‘NewResourceGroup’
$vmName = ‘VMtestKV’
Dopo aver configurato il contesto corretto, possiamo utilizzare il seguente comando per eseguire l’azione di crittografia:
Set-AzureRmVMDiskEncryptionExtension -ResourceGroupName $resourceGroupName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $keyVaultResourceId -VolumeType All
Confermiamo per concludere l’operazione:
Figura 6: richiesta di conferma prima dell’abilitazione della crittografia del disco
Al termine dell’esecuzione, lo script ritorna il seguente output:
Figura 7: Crittografia del disco completata
Verificando nuovamente nei dettagli della macchina potremo constatare che l’operazione è avvenuta correttamente.
Figura 8: Il disco della VM risulta crittografato
Conclusioni
Azure fornisce diverse soluzioni in ambito crittografico e quella descritta in questo articolo è particolarmente utile soprattutto se il monitoraggio delle macchine viene effettuato tramite Azure Security Center. Inoltre, con pochi click è possibile applicare la stessa procedura agli storage account in merito a files e blob, rispettando lo standard BitLocker e aumentando la sicurezza delle nostre infrastrutture su cloud.