Per aggiungere uno strato extra di sicurezza per gli accessi esterni all'infrastruttura VMware Horizon il processo di login deve essere rafforzato con una soluzione di autenticazione multi-fattore (MFA) come ad esempio Azure MFA.
Nel mercato ci sono diverse soluzioni che forniscono l'MFA, ma Azure MFA è diventato molto popolare poichè la maggior parte delle aziende si appoggiano ai servizi Office 365.
Per sfruttare l'MFA in Azure, è richiesta la licenza Azure AD Premium P1 e Premium P2 o Enterprise Mobility + Security che include il servizio Azure AD Multi-Factor Authentication.
Configurare l'ambiente Azure
Effettuare il login al portale Azure utilizzando l'account globale di amministratore.
Cliccare sull'icona Azure Active Directory.
Nella homepage sotto la voce Overview, annotare il proprio Tenant ID.
Per abilitare l'MFA, i security defaults devono essere disabilitati. Posizionarsi nell'area Properties e cliccare sul link Manage Security defaults.
Selezionare No nel selettore Enable Security Default.
Ritornare nella homepage e selezionare la voce Security.
Selezionare l'opzione Conditional Access.
Cliccare New policy per aggiungere una nuova policy.
Inserire un Name per la nuova policy e cliccare su 0 users and groups selected per aggiungere utenti o gruppi da configurare.
Selezionare l'opzione Select users and groups ed abilitare il checkbox Users and groups. Dalla lista sulla destra, selezionare utenti e gruppi da aggiungere e cliccare su Select.
Una volta effettuata la selezione, cliccare sul link 0 controls selected.
Selezionare Grant access ed abilitare l'opzione Require multi-factor authentication. Abilitare inoltre l'opzione Require one of the selected controls quindi cliccare su Select.
Selezionare On nel selettore Enable policy e cliccare su Create.
La policy appena creata.
Installare il Server NPS
Installare un Windows Server 2016/2019 ed effettuare la join del server al dominio di Active Directory (è possibile utilizzare anche un server esistente nella propria infrastruttura). Accedere al Server Manager e cliccare Add roles and features.
Cliccare Next.
Selezionare Role-based or feature-based installation e cliccare Next.
Selezionare Network Policy and Access Services. Automaticamente viene visualizzato il wizard Add Roles and Features. Cliccare Add Features.
Verificare che la voce Network Policy and Access Services sia selezionata e cliccare su Next.
Cliccare Next.
Nuovamente, cliccare su Next.
Abilitare Restart the destination server automatically if required e cliccare Yes per confermare.
Cliccare Install per procedere con l'installazione del servizio NPS.
il ruolo NPS viene installato nel sistema. Il server si riavvierà automaticamente.
Una volta che il server si è riavviato, cliccare su Close per uscire dal wizard.
Aprire la console del Network Policy Server ed effettuare un click con il tasto destro del mouse sulla voce NPS (local). Selezionare Register server in Active Directory.
Cliccare OK per autorizzare.
Cliccare OK.
Il server NPS deve essere in grado di comunicare con i seguenti URL tramite le porte 80 e 443:
- https://adnotifications.windowsazure.com
- https://login.microsoftonline.com
- https://credentials.azure.com
Per completare il setup utilizzando lo script PowerShell, è richiesta inoltre la connettività con i seguenti URL:
- https://login.microsoftonline.com
- https://provisioningapi.microsoftonline.com
- https://aadcdn.msauth.net
- https://www.powershellgallery.com
- https://aadcdn.msftauthimages.net
Installa l'estensione NPS per Azure MFA
Scaricare l'NPS Extension for Azure MFA dal Microsoft Download Center e copiarla nel server NPS.
Eseguire setup.exe per installare l'estensione NPS. Accettare l'EULA e cliccare Install.
L'estensione Azure MFA viene installata nel sistema.
Quando il processo è stato completato, cliccare Close.
Per completare l'installazione è necessario eseguire lo Script PowerShell locato nel folder C:\Program Files\Microsoft\AzureMfa\Config. Lo script effettua le seguenti operazioni:
- Crea un certificato self-signed.
- Associa la chiave pubblica del certificato con il servizio proncipale in Azure AD.
- Salva il certificato nella macchina locale nel certificate store.
- Autorizza l'accesso alla chiave privata del certificato all'Utente Network.
- Riavvia il servizio NPS.
Aprire la Windows PowerShell as an Administrator e cambiare la directory in C:\Program Files\Microsoft\AzureMfa\Config.
PS C:\> cd "C:\Program Files\Microsoft\AzureMfa\Config"
Per eseguire lo script PowerShell, il protocollo TLS 1.2 deve essere abilitato.
PS C:\> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Eseguire lo script ed autorizzare l'installazione dei moduli richiesti.
PS C:\> .\AzureMfaNpsExtnConfigSetup.ps1
Quando viene richiesta l'immissione delle credenziali di amministratore, inserire l'account corretto e cliccare su Next.
Inserire la password e cliccare Sign in.
Inserire il Tenant ID e premere Enter.
Quando la configurazione è stata completata, premere Enter.
Configurare il client RADIUS in NPS
Quando l'estensione Azure MFA è stata installato correttamente, aprire la console NPS, effettuare un click con il tasto destro del mouse su RADIUS Client sotto la voce RADIUS Clients and Servers e selezionare New.
Verificare che l'opzione Enabled this RADIUS client sia attiva. Inserire un Friendly Name per il client RADIUS el l'Address (IP or DNS) dell'UAG utilizzato. Specificare uno Shared secret e cliccare su OK.
La policy creata del client RADIUS.
Accedere alla sezione Policies > Network Policies. Effettuare un click con il tasto destro del mouse sulla policy Connections to other access servers e selezionare Duplicate Policy.
Effettuare un click con il tasto destro del mouse sulla copia appena creata e selezionare Properties.
inserire la Policy name, verificare che l'opzione Policy enable sia spuntata e selezionare l'opzione Grant access. Cliccare OK.
La nuova policy creata.
Configurare l'Authenticator
Installare dallo store Apple o Android la versione appropriata del Microsoft Authenticator per il proprio smartphone.
Creare l'account nel Microsoft Authenticator. E' necessario connettersi all'URL https://aka.ms/npsmfa per configurare il dispositivo MFA associato con l'account selezionato.
Configurar l'Horizon UAG
Tramite il browser preferito, accedere alla pagina di login del proprio UAG, inserire le credenziali di admin e cliccare su Login.
Cliccare Select per accedere aslla pagina di configurazione.
Cliccare Show in Authentication Settings.
Accedere alla pagina di configurazione RADIUS cliccando sulla corrispondente icona delle Impostazioni.
Abilitare il protocollo RADIUS, impostare Authentication Type con il valore MSCHAP2 ed inserire il RADIUS Server Host name configurato in precedenza. Cliccare su Save.
Testare MFA
Tramite il browser preferito, inserire il Public DNS name per connettersi alla propria infrastruttura Horizon e selezionare la modalità di accesso preferita.
Inserire le credenziali dell'utente AD configurato per poter utilizzare MFA e cliccare su Login.
Dal Microsoft Authenticator è necessario approvare la richiesta di sign-in per permettere all'utente di completare l'operazione di login. Cliccare su Approve.
L'utente è stato autorizzato ad accedere ai Dektop Pool e/o alle Applicazioni Horizon permesse.
Implementare la funzionalità Azure MFA ai login in VMware Horizon è de facto lo standard applicato alle nuove infrastrutture di desktop virtuali.