Per rendere più sicuro l’accesso ai dati e alle applicazioni critiche può essere necessario prevedere l’autenticazione a più fattori che generalmente richiede l’utilizzo di almeno due dei seguenti metodi di verifica:
- Qualcosa che si conosce (tipicamente una password).
- Qualcosa che si possiede (un dispositivo unico e non facilmente duplicabile, come ad esempio un telefono).
- Un sistema di riconoscimento biometrico che ha lo scopo di identificare una persona sulla base di una o più caratteristiche biologiche o comportamentali (biometria).
Microsoft consente di adottare una soluzione di autenticazione a due fattori utilizzando l’Azure Multi-Factor Authentication (MFA) che prevede l’adozione di un secondo metodo di verifica dell’identità durante il processo di autenticazione. Utilizzando questa soluzione sono configurabili i seguenti fattori di autenticazione aggiuntivi:
- Chiamata telefonica: viene effettuata una chiamata verso il telefono registrato per l’utenza. In questo caso verrà richiesto all’utente di rispondere alla chiamata e di verificare l’accesso premendo il pulsante # oppure inserendo un codice PIN.
- Messaggio di testo (SMS): viene inviato al cellulare dell’utente un SMS che contiene un codice pin di 6 cifre il quale dovrà essere inserito durante il processo di autenticazione.
- Notifica tramite Mobile App: sullo smartphone dell’utente viene inviata tramite Mobile App una richiesta di verifica che deve essere approvata dall’utente per completare il processo di autenticazione.
- Codice di verifica tramite Mobile App: nella Mobile App presente sullo smartphone dell’utente viene generato un codice di 6 cifre ogni 30 secondi. L’utente dovrà quindi inserire il codice più recente nel momento in cui effettua l’autenticazione.
- Token OATH di terze parti: c’è la possibilità di configurare Azure Multi-Factor Authentication per accettare metodi di verifica messi a disposizione da soluzione di terze parti.
L’Azure Multi-Factor Authentication (MFA) prevede due possibili modelli di deployment:
- MFA come soluzione interamente nel Cloud.
- Sistema MFA installato e configurato su sistemi on-premises.
Per individuare il modello di deployment più opportuno è necessario prendere in considerazione diversi aspetti: cosa sto mettendo in sicurezza, dove si trovano gli utenti che devono accedere alla soluzione e di quali funzionalità ho realmente bisogno.
Cosa si sta Tentando di Proteggere?
Questa è sicuramente la prima domanda che occorre porsi la cui risposta ci può già indirizzare a un modello di deployment specifico. Nel caso infatti ci sia la necessità di abilitare il doppio fattore di autenticazione per applicazioni IIS non pubblicate tramite Azure AD App Proxy oppure soluzioni di accesso remoto (VPN oppure Remote Desktop Gateway) è necessario utilizzare il server Azure MFA implementato sui sistemi on-premises.
Figura 1 – Cosa si intende proteggere tramite MFA
Dove si Trovano gli Utenti?
Un altro aspetto importante da tenere in considerazione è dove si trovano gli utenti sulla base del modello di Identity adottato, come mostra la figura 2.
Figura 2 – Ubicazione degli utenti
Quali funzionalità sono necessarie?
A seconda del modello di deployment scelto (MFA nel cloud oppure MFA locale) sono disponibili funzionalità differenti che ci potrebbero far optare per una scelta piuttosto che per un’altra, come mostra la figura 3.
Figura 3 – Funzionalità MFA disponibili nei due modelli
Requisiti necessari per l’utilizzo della MFA
Per poter utilizzare l’Azure Multi-Factor Authentication (MFA) è necessario avere accesso a una subscription Azure. Nel caso si volesse testare il servizio è possibile eventualmente utilizzare una subscription di trial di Azure.
I requisiti hardware per quanto riguarda l’Azure Multi-Factor Authentication Server sono minimi (200 MB di spazio disco e 1 GB di RAM), mentre sono richieste le seguenti caratteristiche software:
- Sistema Operativo: Windows Server 2008 R2 o superiore
- Microsoft .NET 4.0 Framework
- IIS 7.0 o superiore se si vuole installare lo User Portal oppure il Web Service SDK
Ogni server MFA deve essere in grado di comunicare sulla porta 443 in uscita verso i seguenti indirizzi web:
- https://pfd.phonefactor.net
- https://pfd2.phonefactor.net
- https://css.phonefactor.net
Inoltre nel caso ci siano policy firewall di blocco in uscita verso la porta 443 è necessario aprire i range di indirizzi IP documentati nel paragrafo “Azure Multi-Factor Authentication Server firewall requirements” della documentazione ufficiale Microsoft.
Azure Multi-Factor Authentication nel cloud
L’abilitazione della MFA nello scenario cloud è molto semplice ed avviene per utente. Per farlo è necessario accedere al servizio Azure Active Directory, figura 4, dal portale Azure:
Figura 4 – Step 1: abilitazione MFA nel cloud
Dopo aver selezionato la Directory, nella sezione “Users and groups” selezionare “Multi-Factor Authentication”:
Figura 5 – Step 2: abilitazione MFA nel cloud
Si verrà rediretti su un altro portale dove selezionando l’utente specifico, figura 6, è possibile abilitare la MFA:
Figura 6 – Step 3: abilitazione MFA nel cloud
Giunti a questo punto l’utente sarà abilitato all’utilizzo della MFA. La stessa operazione può essere fatta anche selezionando più utenti contemporaneamente e dallo stesso portale è possibile configurare le varie impostazioni dell’Azure Multi-Factor Authentication. Per maggiori dettagli a riguardo vi invito a consultare la documentazione ufficiale Microsoft.
La stessa operazione può essere portata a termine anche utilizzando i cmdlet Powershell per Azure AD i quali ci consentono facilmente di effettuare l’abilitazione della MFA per più utenti con poche righe di codice, come riportato nell’esempio seguente:
$users = “user1@ugisystemcenter.org”,”user2@ugisystemcenter.org”,”user3@ugisystemcenter.org”
foreach ($user in $users)
{
$st = New-Object -TypeName Microsoft.Online.Administration.StrongAuthenticationRequirement
$st.RelyingParty = “*”
$st.State = “Enabled”
$sta = @($st)
Set-MsolUser -UserPrincipalName $user -StrongAuthenticationRequirements $sta
}
Azure Multi-Factor Authentication on-premises
Il deployment on-premises dell’Azure Multi-Factor Authentication Server richiede di effettuare il download del setup di installazione direttamente dal portale Azure. Nel caso si voglia licenziare Azure Multi-Factor Authentication come servizio autonomo con opzioni di fatturazione per utente e per autenticazione è necessario creare dal portale Classic di Azure un nuovo Multi-Factor Auth Provider (tale funzionalità presto sarà disponibile anche sul nuovo portale Azure).
Figura 7 – Creazione nuovo Multi-Factor Auth Providers
Selezionando il pulsante Manage si viene rediretti verso il portale dell’Azure Multi-Factor Authentication, figura 8, dal quale è possibile effettuare il donwload del setup e generare le credenziali di attivazione del servizio.
Figura 8 – Download del Multi-Factor Authentication Server e generazione credenziali
Nel caso si voglia utilizzare la licenza in bundle a Enterprise Mobility Suite, Azure AD Premium oppure Enterprise Cloud Suite non è necessario creare un Multi-Factor Auth Provider ma è sufficiente accedere al portale dell’Azure Multi-Factor Authentication per effettuare direttamente il download del setup.
Dopo essere entrati in possesso del setup è possibile effettuare l’installazione dell’Azure MFA Server. Durante il setup verrà richiesto solamente il percorso di installazione, figura 9.
Figura 9 – Setup Azure MFA Server
Figura 10 – Setup Azure MFA Server
Giunti a questo punto è necessario eseguire il Multi-Factor Authentication Server appena installato che ci guiderà nella procedura di attivazione.
Figura 11 – Applicazione Multi-Factor Authentication Server
Figura 12 – Step 1: Procedura attivazione Multi-Factor Authentication Server
Nella schermata seguente è necessario inserire le credenziali di accesso che vengono generate dal Portale dell’Azure Multi-Factor Authentication (vedi Figura 8).
Figura 13 – Step 2: Procedura attivazione Multi-Factor Authentication Server
Dopo aver completato l’attivazione del primo server Azure MFA è possibile avviare il Wizard di configurazione, figura 14, per attivare la replica tra più server Azure MFA e configurare il servizio in alta disponibilità.
Figura 14 – Wizard di configurazione Multi-Server MFA
Nello scenario dove il Multi-Factor Authentication Server è abilitato su più sistemi, i server Azure MFA comunicano tra di loro attraverso chiamate RPC e per fare in modo che il tutto avvenga in modo sicuro devono autenticarsi in modo reciproco. Tale processo di autenticazione può avvenire sia tramite l’appartenenza a un gruppo di security specifico in Active Directory (denominato Phone Factor Admins) sia tramite l’utilizzo di certificati SSL.
Ora che il server Azure MFA è stato configurato c’è la possibilità di importare facilmente gli utenti da Active Directory, figura 15, e su questi abilitare il doppio fattore di autenticazione desiderato.
Figura 15 – Import degli utenti da Active Directory
Nello scenario di utilizzo dell’Azure Multi-Factor Authentication (MFA) Server è bene specificare che i dati relativi agli utenti vengono salvati sui sistemi on-premises e nessun dato viene memorizzato in modo persistente sul cloud. Infatti nel momento in cui un utente effettua il processo di autenticazione a più fattori il server Azure MFA invia i seguenti dati verso il servizio Cloud Azure MFA per effettuare la verifica e a fini di reportistica:
- ID univoco dell’utente (username oppure ID del server MFA interno)
- Nome e Cognome (opzionali)
- Indirizzo Email (opzionale)
- Numero di telefono (in caso di chiamata Telefonica oppure di invio SMS)
- Device token (quando viene utilizzata l’autenticazione tramite mobile app)
- Metodo di autenticazione
- Esito autenticazione
- Nome e inidirizzo IP del server Azure MFA
- Client IP (se disponibile)
- Esito verifica (successo o negata) e motivazione in caso di deny
Oltre all’import mirato dei diversi utenti da Active Directory sui quali si vuole abilitare il doppio fattore di autenticazione è possibile integrare il server Azure MFA con il servizio Active Directory e impostare una importazione mirata e schedulata degli utenti secondo determinati criteri. Per maggiori dettagli in merito è possibile consultare la documentazione ufficiale Integrazione di directory tra il server Azure MFA e Active Directory.
Modelli di Licensing della soluzione
Azure Multi-Factor Authentication è disponibile come servizio autonomo, con opzioni di fatturazione per utente e per autenticazione, oppure in bundle con Azure Active Directory Premium, Enterprise Mobility Suite e Enterprise Cloud Suite. Azure Multi-Factor Authentication è disponibile attraverso un contratto Enterprise Microsoft, il programma di licenza Open Volume, il programma Cloud Solution Provider e un contratto Direct, come modello annuale per utente. Il servizio è anche disponibile con un modello in base al consumo per utente e per autenticazione, fatturato ogni mese secondo l’Azure monetary commitmen.
Per maggiori informazioni sui costi della soluzione è possibile consultare il seguente documento: Prezzi di Multi-Factor Authentication.
Conclusioni
Azure Multi-Factor Authentication è una soluzione semplice da usare, scalabile e affidabile che offre la possibilità di introdurre un secondo metodo di validazione in modo che gli utenti siano in grado di accedere in modo più sicuro ai propri dati e alle applicazioni, sia esse presenti on-premises che in ambienti cloud. Per chi è interessato a provare il servizio può facilmente attivare una subscription Azure gratuitamente accedendo alla Free Trial di Azure.