Migrare da Active Directory Federation Services ad Azure AD Password Hash Synchronization e Single Sign-On

Microsoft sempre di più, soprattutto nell’ultimo periodo, stà spingendo sulla dismissione del metodo di autenticazione “Active Directory Federated Services” più comunemente chiamato ADFS, per l’accesso al vostro tenant Microsoft 365. Agli albori il metodo ADFS era l’unico modo per permettere la sincronizzazione dei vostri utenti verso il mondo Cloud e poter sfruttare quindi anche il Single Sign On per l’accesso agli applicativi e servizi cloud della casa di Redmond.

Di seguito potete trovare, per completezza di informazioni, lo schema di funzionamento dell’autenticazione ADFS

Figura 1: Architettura ADFS

Per eventuali approfondimenti sull’architettura e l’implementazione ADFS vi lascio il link all’articolo di Nicola Ferrini Configurare Active Directory Federation Services 2016 ed Office 365 con Azure AD Connect – ICT Power

Avendo descritto prima l’architettura ADFS, ora potete notare, l’immagine che vi fornisce una visualizzazione della metodologia PHS:

Figura 2: Architettura PHS

Quali sono le principali differenze tra i due metodi di autenticazione ?

Sicuramente vi state chiedendo quali sono le differenze tra i due metodi di autenticazione e riepilogo di seguito pro e contro di entrambe le soluzioni.

Password Hash Synchronization

Vantaggi

  • Stesse password per autenticarvi on-premise e in cloud
  • Facile gestione per piccole, medie e grandi imprese
  • Utilizzo Single Sign-On per autenticazione verso numerosi servizi
  • Metodo di autenticazione indicato da Microsoft come consigliato
  • Facile implementazione con poco effort

Svantaggi

  • Alcune aziende per policy interne “rifiutano” la sincronizzazione della propria Directory con il cloud

Active Directory Federated Services

Vantaggi

  • Se un utente è dimissionario o lascia l’azienda è immediatamente escluso dall’accesso a risorse aziendale
  • Supporta integrazioni con scenari che non sono attuabili con la sola Password Hash Synchronization (PHS)

Svantaggi

  • Molti step necessari per la configurazione
  • Alto effort di manutenzione
  • Richiesta di Hardware o Virtual Machine
  • Richiesta di step aggiuntivi per la configurazione del Single Sign-On
  • Critical Point of Failure: se il server ADFS risulta down gli utenti non riescono a collegarsi ai vari servizi

In questo articolo vedrete come poter migrare la vostra infrastruttura ADFS, in Pass Hash Synchronization, sfruttando Azure AD Connect e senza fornire disservizio ai vostri utenti finali.

Esistono dei prerequisiti ?

Si esistono alcuni prerequisiti, che potete verificare direttamente dall’interfaccia di configurazione del software Azure AD Connect

Figura 3: Verifica configurazione AD Connect

Figura 4: Verifica configurazione AD Connect

Questa verifica è fondamentale, in quanto potete accertarvi che l’attributo di password hash sync è già in modalità Enabled e non dovete eseguire nessun altra verifica in merito. Se invece l’attributo risultasse in stato Disabled dovrete, come primo step, configurare i dovuti permessi dell’account che avete utilizzato per il servizio AD Connect, chiamato più comunemente ADConnectorAccount.

Vediamo quindi come configurare questi permessi dopo esserci collegati alla macchina che ospita Azure AD Connect:

Aprite Powershell con diritti Amministrativi ed eseguite il seguente comando Import-Module “C:\Program Files\Microsoft Azure Active Directory Connect\AdSyncConfig\AdSyncConfig.psm1”; questo vi permetterà di importare i moduli PowerShell obbligatori per eseguire il successivo step.

Figura 5: Assegnazione Permessi Account

Successivamente, sempre attraverso la stessa sessione di PowerShell, dovete eseguire il comando Set-ADSyncPasswordHashSyncPermissions -ADConnectorAccountName “nome account usato” -ADConnectorAccountDomain dominiodiactivedirectory

Figura 6: Permessi Account AD Connect

Figura 7: Permessi AD Connect

A questo punto siete pronti per eseguire gli step necessari per la modifica del metodo di autenticazione.

Scenario

Nello scenario di demo che ho utilizzato c’è una macchina con sistema operativo Windows Server 2022 con installato il ruolo di “Active Directory Federation Services” ed una macchina con sistema operativo Windows Server 2022 che si comporta da WAP (Web Application Proxy) con installato il ruolo di “Remote Access – Web Application Proxy”. Specifico inoltro che il software “Azure AD Connect” è installato sulla macchina SRV2022.

Figura 8: Caratteristiche Macchina Proxy

Figura 9: Caratteristiche Macchina ADFS

In questo caso, non è stata configurata l’alta affidabilità con 4 macchine (2 ADFS e 2 WAP), ma la procedura di cambio del metodo di autenticazione che vedremo sarà il medesimo.

Servono delle licenze specifiche per configurare il metodo di autenticazione Password Hash Synchronization ?

No, non avete necessità di acquistare licenze aggiuntive per la configurazione di PHS, in quanto il software Azure AD Connect (che potete scaricare dalla pagina Microsoft Download Microsoft Azure Active Directory Connect from Official Microsoft Download Center) è rilasciato in modo gratuito per permettervi di sincronizzare i vostri utenti e sfruttare quindi un’unica identità per accedere sia a livello di Active Directory locale, sia per la parte cloud di Microsoft 365.

Esperienza Utente con Autenticazione ADFS

Per dimostrarvi l’esperienza della login ai servizi cloud di Microsoft 365, vi mostrerò gli step di login verso il portale Microsoft

Figura 10: Login con autenticazione ADFS

Cliccando su “Next” vedrete il caricamento della pagina di login con il reindirizzamento al servizio ADFS

Figura 11: Login con autenticazione ADFS

Dopo pochi secondi, verrete reindirizzati alla pagina di Login (nel mio caso la pagina è personalizzata con immagine di sfondo)

Figura 12: Pagina Personalizzata di login ADFS

Inserendo la password dell’utente accederete al portale

Figura 13: Login con Autenticazione ADFS

Figura 14: Portale Microsoft 365

Migrazione Autenticazione ADFS in Password Hash Synchronization

Ora siete pronti a procedere con l’attività di cambio del metodo di autenticazione. Come anticipato, svolgerete l’attività sfruttando solo ed esclusivamente Azure AD Connect, quindi l’attività vi risulterà molto semplice.

Recatevi all’interno del server su cui avete installato Azure AD Connect, nel mio caso SRV2022, doppio click sull’icona “Azure AD Connect”

Figura 15: Azure Ad Connect

Vi apparirà la schermata per la configurazione del servizio. Fate click su “Configure” per iniziare il processo di configurazione.

Figura 16: Azure AD Connect

Ora dovrete eseguire il click su “Change user sign-in” e successivamente su “Next”

Figura 17: Azure AD Connect

Vi apparirà la schermata dove dovrete inserire username e password di un account Global Admin del vostro tenant Microsoft 365 e successivamente cliccare su “Next”

Figura 18: Azure AD Connect

Una volta che avrete eseguito il click su “Next” il sistema verificherà il corretto inserimento delle credenziali e dell’utente oltre ai permessi dello stesso

Figura 19: Azure AD Connect

NB: Nel caso in cui troviate l’errore riportato nella schermata sottostante, vuol dire che l’inserimento di Username o Password non è corretto

Figura 20: Errore Autenticazione Global Administrator

Nel seguente passaggio dovrete selezionare sia “Password Hash Synchronization” che “Warning:….” e successivamente click su Next.

La parte evidenziata in giallo “Enable single sign-on” è opzionale e non obbligatoria, ma fortemente consigliata; se decidete di selezionarla vi sono delle operazioni preliminari da fare per questo motivo vi rimando alla documentazione ufficiale Microsoft Azure AD Connect: Seamless single sign-on – Microsoft Entra | Microsoft Learn

Figura 21: Azure AD Connect

Ora vi troverete di fronte alla schermata dove verrà eseguito un check dei componenti

Figura 22: Controllo dei componenti installati

Figura 23: Azure AD Connect è pronto per configurare la Password Hash Synchronization

Figura 24: Azure AD Connect

Figura 25: Azure AD Connect

E se aveste abilitato la funzionalità di SSO ?

È molto utile, soprattutto per i vostri utenti, avere un accesso in modalità SSO verso gli applicativi Microsoft, soprattutto per quanto riguarda l’accesso via web. Di seguito vi mostrerò gli step aggiuntivi nel caso l’opzione di SSO con servizio PHS risulti attiva.

Figura 26: Configurazione SSO

Una volta che spuntate l’opzione di “Enable single sign-on” e click su “Next” verranno richieste delle credenziali di domain administrator del vostro dominio locale

Figura 27: Configurazione SSO

Una volta inserito il vostro amministratore di dominio locale, potete proseguire con la configurazione.

Figura 28: Configurazione SSO

Figura 29:Configurazione SSO

Figura 30: Configurazione SSO

Figura 31: Configurazione SSO

A questo punto la vostra configurazione SSO, per quanto riguarda AD Connect è completata

Figura 32: Configurazione SSO

Ora che la configurazione lato Azure AD Connect è terminata, dovrete procedere a creare delle Group Policy all’interno del vostro dominio, per configurare il “Seamless SSO“. Per approfondimenti potete consultare la documentazione ufficiale Microsoft Quickstart: Azure Active Directory Seamless single sign-on – Microsoft Entra | Microsoft Learn

Quando si abilita Single Sign-On in Azure AD Connect, viene creato un account computer denominato AZUREADSSOACC nell’Active Directory locale e la chiave di decrittografia di Kerberos è condivisa con Azure AD. Inoltre, vengono creati due Service Principal Name (SPN) Kerberos per indicare gli URL del cloud usati durante l’autenticazione tra il client e Azure AD. Verificate che l’account computer sia stato creato utilizzando la console Active Directory Users and Computer.

Figura 33: Oggetto Computer SSO

Se voleste approfondire l’utilità dell’oggetto computer sopra descritto, vi lascio a completezza di informazioni il link ufficiale Azure Active Directory Seamless Single Sign-On: Technical deep dive

Configurazione Group Policy per SSO

Aprite “Group Policy Management Editor” e selezionate/create una policy che venga applicata a tutti i vostri utenti sincronizzati. Per comodità useremo la “Default Domain Policy” e modificheremo nel percorso User Configuration > Policies > Administrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Security Page il paramentro Site to Zone Assignment List.

Figura 34: Configurazione Group Policy

Figura 35: Creazione Group Policy

Facendo clic sul pulsante Show potremo inserire l’URL richiesto https://autologon.microsoftazuread-sso.com e come value “1”, come mostrato nella figura sotto:

Figura 36: Creazione Group Policy

Ora sempre nella medesima policy dovrete recarvi nel seguente percorso User Configuration > Policies > Administrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Security Page > Intranet Zone. Selezionate la voce Allow updates to status bar via script e impostate il valore su Enable.

Figura 37: Creazione Group Policy

Figura 38: Creazione Group Policy

Arrivati a questo punto, vi manca solo l’ultima configurazione della “Default Domain Policy“, posizionatevi in questo percorso User Configuration > Preferences > Windows Settings > Registry > New > Registry item

Figura 39: Configurazione Group Policy

Inserite i seguenti valori:

  • Key Path: Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\microsoftazuread-sso.com\autologon
  • Value name: https
  • Value type: REG_DWORD
  • Value data: 00000001

Figura 40: Configurazione Group Policy

Per compatibilità riferite a browser web vi rimango al link Microsoft Quickstart: Azure Active Directory Seamless single sign-on – Microsoft Entra | Microsoft Learn

Ho modo di eseguire un test una volta configurate le Group Policy ?

Certamente, ho modo di eseguire un test, ma dovete rispettare alcuni importanti punti:

  • L’utente esegue la login da un dispositivo aziendale (quindi collegato a dominio)
  • Il computer dell’utente deve poter contattare il domain controller (anche in VPN)
  • Il computer deve aver necessariamente recepito la Group Policy Creata

Verificati tutti i prerequisiti, potete eseguire il test con due differenti scenari:

Ora la procedura è terminata e avrete a disposizione il metodo di autenticazione PHS, e potreste, volendo dismettere la farm ADFS. Inoltre per verificare che l’attività sia andata a buon fine potete accedere al portale di Azure Active Directory, nella sezione AD Connect (per comodità riporto il link diretto AAD Connect – Microsoft Azure) e verificare che “Federation” sia impostata a “Disabled”

Figura 41: Portale Azure

Per completezza di informazioni vi riporto la stessa schermata precedente all’attività

Figura 42: Portale Azure prima dell’attività

Conclusioni

Con il metodo di autenticazione PHS, abilitando l’esperienza del Single Sign-on, avrete dato ai vostri utenti un’esperienza molto simile ad ADFS, quindi senza andare a stravolgere la loro attività quotidiana, ma allo stesso tempo avrete ridotto notevolmente il tempo impiegato per eseguire manutenzione alla farm ADFS, in quanto non dovete più eseguire aggiornamenti dei sistemi operativi delle macchine della farm. Inoltre ,per ultimo, ma non per importanza darete più ridondanza all’autenticazione in quanto se per qualsiasi motivo il server su cui avete installato Azure AD Connect risultasse essere in Down, tutti gli Hash delle password risulteranno sincronizzati con Azure AD e gli utenti riuscirebbero comunque ad avere fruibili i servizi Cloud, cosa che non sarebbe potuta attuarsi se i server ADFS fossero stati non raggiungibili.