Utilizzare Azure Multi-factor Authentication con token hardware Yubikey

Sicuramente molti di voi avranno letto i miei articoli riguardo la Azure Multi-factor Authentication. Ne ho parlato a proposito di Active Directory Federation Services Configurare Active Directory Federation Services 2016 e Azure Multi-Factor Authentication, ne ho parlato a proposito del Remote Desktop Gateway Utilizzare la Azure Multi-Factor Authentication con Remote Desktop Gateway in Windows Server 2016 e ne ho parlato a proposito di Azure AD e di Microsoft/Office 365 Password-less phone sign-in utilizzando l’app Microsoft Authenticator.

In ogni caso ho sempre fatto riferimento all’app Azure Authenticator oppure all’utilizzo del proprio smartphone come secondo fattore di autenticazione.

Ma se non potessimo utilizzare lo smartphone? Ebbene si, mi è capitato di sentirmi chiedere questo. Ci sono infrastrutture infatti dove non è permesso l’utilizzo dello smartphone e quindi non abbiamo la possibilità di farci telefonare o messaggiare dal servizio Azure MFA oppure di utilizzare l’app Azure Authenticator.

Per ovviare a questo problema e per poter comunque utilizzare la Azure Multi-Factor Authentication ho deciso di mostrarvi come utilizzare una security key Yubikey 4 con Azure MFA per accedere al portale di Microsoft 365.

Da pochi giorni infatti Azure MFA ha introdotto il supporto ai token hardware time-based one time passcodes (OATH TOTP) e le Yubikey possono essere utilizzate come secondo fattore di autenticazione per Azure MFA.

Per maggiori informazioni sulle Yubikey potete visitare il sito ufficiale https://www.yubico.com/

La Yubikey è utilizzabile anche come secondo fattore di autenticazione per tantissimi servizi, tra cui Gmail, Facebook, Dropbox, Twitter, Joomla!, WordPress, LastPass, Keepass e moltissimi altri! Trovate il catalogo completo alla pagina https://www.yubico.com/works-with-yubikey/catalog/

Installazione di Yubico Authenticator

La chiave Yubikey non contiene una batteria e non è in grado di tracciare il tempo. Si tratta di un dispositivo HID. Abbiamo bisogno quindi di un software che sia in grado di generare time-based one time passcodes per le credenziali OATH-TOTP.

Installeremo l’app Yubico Authenticator sul PC e proteggeremo, tramite una chiave Yubikey, l’accesso ai time-based one time passcodes (TOTP) generati dall’applicazione. L’applicazione infatti avrà le stesse funzioni di Azure Authenticator o di Google Authenticator, ma i codici saranno visibili solo dopo aver inserito la chiave hardware Yubikey.

Scaricate l’applicazione dal link https://www.yubico.com/products/services-software/download/yubico-authenticator/ e installatela sulla vostra postazione seguendo il wizard, come nelle figure mostrate sotto:

Figura 1: Schermata di benvenuto del setup di Yubico Authenticator

Figura 2: Scelta della cartella di installazione di Yubico Authenticator

Figura 3: Scelta della cartella del menu avvio dove mettere il collegamento all’applicazione

Figura 4: Installazione di Yubico Authenticator completata

Dopo aver lanciato l’applicazione vi verrà mostrato il messaggio che non sono state inserite delle chiavi Yubikey nelle porte USB della vostra postazione. L’installazione di Yubico Authenticator è completata.

Figura 5: Applicazione Yubico Authenticator

Distribuzione delle Yubikey con Azure MFA

Azure Active Directory supporta l’utilizzo di token OATH-TOTP SHA-1 con intervalli di refresh di 30 o di 60 secondi. Ad ogni singolo account possono essere associati fino a 5 token MFA diversi, indipendentemente dal fatto che siano token OATH-TOTP hardware o software oppure app (Microsoft Authenticator, Google Authenticator).

In questa guida vi voglio mostrare con un utente, in modalità self-provisioning, possa aggiungere una chiave Yubikey per accedere con Azure MFA al suo account Azure AD e quindi ad Office 365.

Collegatevi con le vostre credenziali utente a https://myapps.microsoft.com e dall’icona in alto a destra cliccate sulla voce Profile, come mostrato in figura:

Figura 6: Accesso al portale di configurazione myapps.microsoft.com

Cliccate sul collegamento Additional security verification

Figura 7: Configurazione della Additional security verification

Cliccate sulla voce Set up Authenticator app. Come si può vedere dall’immagine sotto, questo utente sta già utilizzando un’app di autenticazione, sul suo dispositivo Android Nexus 5.

NOTA: Un metodo più veloce per arrivare a questa pagina di configurazione è utilizzare il link diretto https://account.activedirectory.windowsazure.com/Proofup.aspx

Figura 8: Set up dell’Authenticator App da parte dell’utente

Nella finestra che si aprirà cliccate sulla voce Configure App WITHOUT notification presente accanto a codice QR. Una volta ricaricato il codice QR assicuratevi che accanto ci sia scritto Configure App WITH notification, altrimenti non riuscirete ad effettuare la scansione del codice QR

Inserite la chiave Yubikey, aprite l’app Yubico Authenticator e dal menu File scegliete Scan QR code…, come mostrato in figura:

Figura 9: Scansione del codice QR dall’app Yubico Authenticator

Verificate le Informazioni aggiunte all’app Yubico Authenticator tramite il QR code e scegliete se eventualmente volete anche toccare la chiave (Require touch) per visualizzare ogni volta il codice generato dall’applicazione. Io lo trovo particolarmente scomodo e non l’ho abilitato.

Figura 10: Aggiunta delle credenziali all’app Yubico Authenticator

A questo punto vi verrà chiesto di completare il processo di configurazione della nuova app di autenticazione inserendo per la prima volta un codice di verifica generato dall’app.

Figura 11: Verifica dell’aggiunta della nuova app di autenticazione

Come potete vedere nella figura sotto, adesso le Authenticator app che possono funzionare con Azure MFA sono due.

Figura 12: Aggiunta della seconda app di autenticazione completata

Da questo momento, quando l’utente si vorrà loggare ad Office 365 o ad Azure AD, per utilizzare la Azure MFA dovrà inserire nel PC la chiave Yubikey che ha utilizzato per configurare lo Yubikey Authenticator e solo a questo punto gli appariranno i codici TOPT da inserire nella pagina.

Oserei parlare di TRIPLE AUTHENTICATION: Password, Yubikey e TOTP

Figura 13: Inserimento del codice TOTP generato da Yubico Authenticator nella pagina della Azure MFA

Protezione dell’accesso all’app Yubico Authenticator

Per proteggere l’accesso all’app Yubico Authenticator è anche possibile inserire una password, che verrà richiesta ogni volta che inserite la Yubikey. In questo modo per far funzionare l’applicazione e per visualizzare i codici vi serviranno sia la Yubikey che la password di accesso all’app.

Figura 14: Inserimento della password di protezione per l’accesso a Yubico Authenticator

Figura 15: Ogni volta che viene inserita la Yubikey è necessario digitare la password

Figura 16: Solo dopo aver inserito la password sono visualizzati i codici TOTP

Conclusioni

La possibilità di utilizzare un token hardware per Azure MFA è decisamente vantaggioso per tutte quelle realtà in cui non si possono usare smartphone e la possibilità di avere fino a 5 token hardware o software basati su OATH-TOTP permette di avere dispositivi di backup e di utilizzare diversi tipi di credenziali in ambienti di lavoro diversi. Per maggiori informazioni vi consiglio anche di leggere l’articolo del supporto ufficiale Yubico https://support.yubico.com/support/solutions/articles/15000016486-using-yubikeys-with-azure-mfa e l’annuncio sul blog di Azure Active Directory Identity https://techcommunity.microsoft.com/t5/Azure-Active-Directory-Identity/Hardware-OATH-tokens-in-Azure-MFA-in-the-cloud-are-now-available/ba-p/276466