Creare un laboratorio con Hyper-V e Windows Server 2019 utilizzando Microsoft Azure

Grazie all’utilizzo di machine virtuali Azure della serie v3 e v4 (Dsv3, Dv3, Esv3, Ev3) è possibile utilizzare la nested virtualization, una funzionalità che consente di eseguire Hyper-V all’interno di una macchina virtuale (VM) Hyper-V. In questo modo è possibile realizzare laboratori per testare facilmente nuove funzionalità oppure per creare degli ambienti complessi che richiedono l’uso di più VM.

In questa guida vi mostrerò come creare una macchina virtuale Azure della dimensione D32s v3 e installare all’interno il ruolo Hyper-V. In più permetterò le macchine virtuali annidate di navigare in internet.

Dal portale di Azure procedete alla creazione di una nuova VM con Windows Server 2019 e seguite le indicazioni mostrate nelle figure sotto.

Oltre alle classiche configurazioni per una nuova VM, ho aggiunto un paio di altre configurazioni:

  • Ho disabilitato l’apertura della porta RDP. Successivamente abiliterò il Just In Time VM Access
  • Ho abilitato lo spegnimento automatico della VM. Visto i costi della VM, meglio non rischiare di lasciarla accesa più del dovuto.

Figura 1: Creazione di una nuova VM del tipo Standards D32s v3

Figura 2: Disabilitazione dell’accesso alle porte per le connessioni provenienti dall’IP pubblico

0

Figura 3: Conferma della disabilitazione delle porte per le connessioni dall’IP pubblico della VM

Figura 4: Abilitazione dello spegnimento automatico della VM

Figura 5: Convalida delle scelte effettuate per la creazione della VM

Una volta completata la creazione della macchina virtuale, potrete fare click sul tasto Connect per collegarvi in desktop remoto alla VM e noterete che sarà possibile abilitare il Just In time Access. Gli attacchi di forza bruta generalmente prendono di mira le porte di gestione per tentare di ottenere l’accesso a una macchina virtuale. Se l’attacco ha esito positivo, un utente malintenzionato può assumere il controllo della macchina virtuale e penetrare nell’ambiente.

Un modo per ridurre l’esposizione agli attacchi di forza bruta consiste nel limitare la quantità di tempo per cui la porta è aperta. La porta di gestione, nel nostro caso la porta RDP 3389, deve essere aperta solo quando è necessario connettersi alla macchina virtuale per eseguire attività di manutenzione. Quando è abilitata l’opzione JIT, il Centro sicurezza usa il Network Security Group (NSG) e le regole del firewall di Azure per limitare l’accesso alle porte di gestione in modo che non possano essere usate dagli utenti malintenzionati.

Figura 6: abilitazione del Just In Time Acces sper la VM per aumentare la sicurezza

Procedete quindi all’abilitazione della funzionalità Just In Time Access. L’apertura della porta ha una durata predefinita di 3 ore.

Figura 7: Abilitazione della funzionalità Just In Time Access

Figura 8: Abilitazione della funzionalità Just In Time Access completata

Dopo l’abilitazione di questo tipo di funzionalità vedrete che saranno create delle regole nel Network Security Group che permetteranno l’accesso alla porta TCP 3389

Figura 9: Creazione della regola per l’accesso alla porta TCP 3389

Installazione del ruolo di Hyper-V all’interno della macchina virtuale Azure

Utilizzando la connessione desktop remoto, procedete all’installazione del ruolo Hyper-V all’interno della VM. Come ben sapete, è possibile farlo sia graficamente utilizzando il Server Manager sia lanciando il comando PowerShell con privilegi elevati:

 

Per maggiori informazioni su come abilitare la virtualizzazione annidata in una macchina virtuale di Azure vi rimando alla lettura dell’articolo https://docs.microsoft.com/it-it/azure/virtual-machines/windows/nested-virtualization

Figura 10: Installazione di Hyper-V all’interno della VM Azure

Se volete permettere alle vostre macchine virtuali annidate di poter navigare in Internet, sarà necessario prima creare un virtual switch di tipo Internal e successivamente abilitare un NAT Gateway. I comandi per effettuare questa operazione sono davvero semplici e vanno eseguiti in un prompt di PowerShell con privilegi elevati:

 

Figura 11: Creazione di un NAT switch per far navigare le VM annidate

Quando create la macchina virtuale annidata, se volete permettere la navigazione Internet, ricordatevi di collegarla al NAT virtual switch che avete creato.

Figura 12. Collegamento della VM al NAT virtual switch

Assegnate alla macchina virtuale un indirizzo IP statico per dargli modo di navigare attraverso il NAT virtual switch. È ovviamente anche possibile utilizzare il servizio DHCP installato su un’altra macchina virtuale collegata allo stesso virtual switch.

Figura 13: Assegnazione alla VM annidata di un indirizzo IP per la navigazione attraverso il NAT Switch

Come è possibile vedere dall’immagine sotto, la macchina virtuale annidata può navigare in internet.

Figura 14: La macchina virtuale annidata può navigare in internet

Conclusioni

Creare un laboratorio di test utilizzando la virtualizzazione annidata grazie ad una macchina virtuale in Azure è un’operazione semplicissima, che permette di poter sfruttare al massimo le funzionalità offerte dal Cloud. In pochi semplici passaggi è possibile abilitare il ruolo di Hyper-V e cominciare a creare le prime macchine virtuali. Se volete permettere alle macchine virtuali annidate di navigare in internet sarà anche possibile creare un NAT virtual switch all’interno della VM Azure.