Utilizzare il virtual Trusted Platform Module (vTPM) per abilitare BitLocker e il VM Shielding in Hyper-V
BitLocker Drive Encryption è una funzionalità di protezione dei dati integrata nei sistemi operativi Microsoft che permette di crittografare l’intera partizione del sistema operativo e degli altri dischi presenti. BitLocker è incluso nelle versioni Enterprise ed Ultimate di Windows 7 e nelle versioni Pro ed Enterprise di Windows 8, 8.1 e Windows 10. È ovviamente presente anche nelle versioni di Windows Server, a partire da Windows Server 2008. BitLocker usa per impostazione predefinita l’algoritmo di crittografia AES con una chiave di 128 bit.
BitLocker To Go è invece pensato per unità rimovibili, come pendrive USB, schede SD, unità disco rigido esterne e altre unità formattate con i file system NTFS, FAT16, FAT32 o exFAT. BitLocker to Go è disponibile da Windows 7 in poi.
BitLocker garantisce tre modalità operative. Le prime due modalità richiedono un dispositivo hardware per la cifratura (Trusted Platform Module versione 1.2 o successivo), mentre la terza no.
- Modo operativo trasparente: questa modalità sfrutta le capacità dell’hardware TPM 1.2 e TPM 2.0 per garantire una esperienza di utilizzo trasparente; l’utente effettua il login al sistema operativo normalmente. La chiave usata per la criptazione del disco rigido viene memorizzata (in forma sempre crittografata) all’interno del chip TPM che viene restituita al loader dell’OS solo se i file di avvio appaiono non manomessi.
- Modo autenticazione utente: questa modalità richiede che l’utente inserisca una chiave di autenticazione nell’ambiente pre-boot in modo da poter avviare il sistema operativo. Al momento dell’avvio del sistema è possibile utilizzare due sistemi di autenticazionne: un PIN inserito dall’utente oppure un dispositivo USB che contiene la chiave di avvio necessaria.
- Chiave USB: l’utente deve inserire un pendrive USB che contiene la chiave di avvio nel computer per poter avviare il sistema operativo protetto.
In questa guida mi voglio occupare dell’attivazione di BitLocker anche all’interno delle macchine virtuali ed in particolar modo vi voglio mostrare come permettere ad una VM che gira su Hyper-V di poter utilizzare un virtual TPM (vTPM). Per scrivere questa guida ho utilizzato Windows 10 con Client Hyper-V, ma le stesse operazioni valgono anche se utilizzate Windows Server. Il virtual TPM è infatti disponibile da Windows Server 2012 R2 in poi.
Creazione della VM
Procedete alla creazione della VM, prestando attenzione solo al fatto che il vTPM può essere abilitato su macchine virtuali Generation 2.
Figura 1: Wizard di creazione di una nuova macchina virtuale
Figura 2: Scelta della generazione della macchina virtuale
Figura 3: Completamento della creazione della macchina virtuale
Abilitazione del virtual TPM (vTPM)
Per poter abilitare il vTPM è sufficiente abilitarlo dalla configurazione della VM. Cliccate col tasto destro sulla VM e scegliete Settings. Nella voce Security scegliete Enable Trusted Platform Module.
NOTA: è possibile attivare il vTPM anche se nella macchina host non è presente un chip TPM reale.
Figura 4: Attivazione del vTPM per la macchina virtuale
La stessa operazione si può effettuare con PowerShell, utilizzando la cmdlet Get-VMSecurity per verificare l’attivazione e la cmdlet Enable-VMTPM per attivare la funzionalità, come mostrato in figura:
Figura 5: Attivazione del vTPM utilizzando PowerShell
Dopo aver abilitato il vTPM è possibile verificare che nel Device Manager della macchina virtuale sia visibile il Trusted Platform Module 2.0
Figura 6: Il Trusted Platform Module 2.0 è visibile nella VM
Abilitazione della funzionalità Bitlocker
Per abilitare BitLocker è sufficiente cercare dal menù Start la parola BitLocker oppure andare nel pannello di controllo. Cliccate sulla voce Turn on BitLocker per il disco di sistema e seguite la procedura guidata. Trovate maggiori dettagli al link https://support.microsoft.com/it-it/help/4028713/windows-10-turn-on-device-encryption
Salvate la chiave di ripristino di BitLocker in un luogo sicuro. Io ho scelto di stamparla, ma è possibile salvarla nel OneDrive personale (per poi recuperarla dall’indirizzo https://onedrive.live.com/recoverykey ) oppure salvarla su un pendrive USB. La chiave di sblocco non può essere salvata sul disco di sistema. Il ripristino di BitLocker è il processo con cui è possibile ripristinare l’accesso a un’unità protetta da BitLocker, se non è possibile sbloccare l’unità. Verrà chiesta la chiave di ripristino a 48 cifre che avete salvato al momento dell’attivazione.
Nelle schermate sotto è descritto il processo di attivazione di BitLocker per il disco di sistema.
Figura 7: Attivazione di BitLocker per il disco di sistema
Figura 8: Richiesta di salvataggio della chiave di ripristino
Figura 9: Richiesta di cifrare solo lo spazio utilizzato o tutto l’hard disk
Figura 10: Richiesta del tipo di cifratura da utilizzare
Figura 11: Configurazione dell’attivazione del BitLocker completata
Figura 12: Cifratura del disco completata
Se il disco della VM viene spostato su un’altra macchina o si tenta di montarlo su un host riceverete il messaggio di errore che vi invita a sbloccare il disco protetto da BitLocker, impedendo così che si posa accedere al contenuto della VM.
Figura 13: Il disco crittografato non è leggibile se viene avviato in un’altra VM o viene montato sulla macchina Host
Protezione di una macchina virtuale tramite Shielding
Per proteggersi dalla possibilità che l’infrastruttura (Fabric) possa essere compromessa e si possa accedere ai file delle VM, Microsoft ha introdotto le Hyper-V Shielded VM, macchine virtuali (Generation 2) che hanno un virtual TPM (Trusted Platform Module), cifrate utilizzando BitLocker Drive Encryption e che possono essere eseguite solo su alcuni Host di virtualizzazione approvati all’interno del Fabric. La funzionalità è disponibile in Windows 10, in Windows Server 2016 e in Windows Server 2019.
Per sapere come gestire le Shielded VM in Windows Server 2016 o in Windows Server 2019 vi rimando alla lettura del mio articolo https://www.ictpower.it/sistemi-operativi/creare-un-guarded-fabric-con-ladmin-trusted-attestation-e-le-shielded-vms-in-windows-server-2016.htm
Per abilitare la protezione della VM è sufficiente cliccare col tasto destro sulla VM e scegliere Settings. Nella voce Security scegliete Enable Shielding
Figura 14: Abilitazione della protezione della VM
Quando la macchina è protetta non è più possibile utilizzare il Virtual Machine Connector, il client che lanciate dall’Hyper-V Manager, che vi avvisa che d’ora in poi potrete connettervi alla VM utilizzando solo il Desktop remoto oppure l’Enhanced Session Mode, una funzionalità introdotta in Hyper-V 2012 R2 che permette di connettersi alle VM tramite il protocollo RDP utilizzando il VMBus, anche se la macchina non ha una scheda di rete. Il protocollo RDP permette di poter effettuare la copia di file nella VM, di collegare i dispositivi locali e USB, di usare gli appunti e di ridimensionare lo schermo della VM.
Figura 15: La macchina virtuale non è più accessibile tramite Virtual Machine Connector
Figura 16: La macchina virtuale è accessibile solo tramite RDP oppure tramite Enhanced Session Mode
Da Windows 10, versione 1709, anche Client Hyper-V può ospitare le Shielded VM utilizzando l’Attestation con un Server HGS (Host Guardian Service) remoto, mentre prima di questa versione era possibile farlo solo utilizzando il local mode, cioè facendo in modo che le encryption key del vTPM venissero salvate localmente. Per approfondimenti vi rimando all’articolo https://blogs.technet.microsoft.com/datacentersecurity/2018/01/05/shielded-vm-local-mode-and-hgs-mode/
Conclusioni
La crittografia dei dischi con Bitlocker impedisce accessi non autorizzati in caso di smarrimento o furto del proprio device. Grazie al virtual TPM possiamo implementare questa funzionalità anche all’interno delle macchine virtuali, aumentando la sicurezza dei nostri dati.
Trovate altri articoli su BitLocker al link https://www.ictpower.it/?s=bitlocker