Tornando indietro al 2015, quando Windows 10 è stato rilasciato, una delle più grandi novità ruotava attorno a Windows Hello for Business, non tanto per la novità in sé, essendo stato ereditato da Windows 8, ma tanto per la sua integrazione con i vari sistemi di Single Sign-On, software e per le prospettive in termini di sicurezza.
Nel corso del tempo, l’integrazione di Windows Hello for Business è diventata sempre più facile, anche se bisogna dire che questo strumento non è subito stato “comodo” da implementare per coloro che hanno un’infrastruttura ibrida, a prevalenza on-premises. Il vincolo dell’usare un certificato digitale, e quindi una CA interna, non era proprio una cosa per tutti; a differenza degli scenari full cloud, in cui la messa a terra di Windows Hello for Business avviene in pochi minuti, i passaggi erano tanti e lunghi.
La “semplicità” è arrivata da qualche anno, ovvero da quando è stata rilasciata una nuova opzione di integrazione che prende il nome di Cloud Kerberos; tale oggetto consente di utilizzare Microsoft Entra per effettuare lo scambio di chiavi anche per oggetti on-premises, beneficiando delle funzionalità di Windows Hello for Business senza utilizzare certificati digitali o altri strumenti complessi.
Perchè il PIN?
Quando si apre il capitolo PIN, molti IT Admin contestano la poca sicurezza di un sistema di validazione numerico, che potrebbe essere trovato facilmente. Questa condizione è vera, ma a metà: la complessità del PIN può essere definita ma soprattutto, il PIN rimane sempre un passo dopo la password, che come concetto non sparisce da Active Directory, così come da Microsoft Entra ID. Quindi, io posso avere una password ultra complessa, che finisce nel dimenticatoio, mentre il PIN può essere demandato all’utente, con una politica di complessità e rotazione che non vanno ad intaccare l’identità primaria delle mie utenze.
Altro aspetto da non dimenticare, Windows Hello for Business sdogana anche l’utilizzo di strumenti più avanzati, come il biometrico oppure le chiavette FIDO2.
Configurazione Kerberos Server
Prima di cominciare, assicuratevi che la vostra infrastruttura, a livello di Domain Controller, abbia macchine con almeno Windows Server 2016 – molto meglio 2022 o 2025. In ambienti multi-dominio, questa operazione dovrà essere eseguita in ogni dominio della foresta.
All’interno di uno dei Domain Controller, eseguite li seguenti comandi PowerShell:
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber
Il passo successivo sarà creare un’oggetto in Active Directory, necessario per l’integrazione del Cloud Kerberos. Per impostazione predefinita, il cmdlet Set-AzureADKerberosServer utilizza gli endpoint del cloud commerciale. Per ottenere un elenco dei cloud disponibili e il valore numerico necessario per la modifica, e per installare alcuni componenti necessari, eseguite il seguente comando: Get-AzureADKerberosServerEndpoint
Per creare il componente in AD, esistono quattro modalità di inserimento credenziali, che potete recuperare al seguente link – https://learn.microsoft.com/en-us/entra/identity/authentication/howto-authentication-passwordless-security-key-on-premises#example-1-prompt-for-all-credentials – per questa demo useremo l’opzione 4. Eseguite i seguenti comandi:
$domain = $env:USERDNSDOMAIN
$userPrincipalName = “administrator@contoso.onmicrosoft.com”
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $userPrincipalName
Per verificare che l’operazione sia andata a buon fine, lanciate il seguente comando: Get-AzureADKerberosServer -Domain $domain -UserPrincipalName $userPrincipalName -DomainCredential (get-credential)
All’interno della OU Domain Controllers comparirà un nuovo oggetto chiamato AzureADKerberos.
Creazione Policy
La configurazione per usare il Cloud Kerberos, lato client, passa da Microsoft Intune o GPO. Più volte ho spiegato come l’uso delle policy via cloud, anche per scenari con presenza di Domain Controller, aiuta gli IT Admin a gestire i propri dispositivi in modo più sicuro, consentendo di distribuire policy al volo che possono essere recepite da qualsiasi device (anche senza essere collegato in rete via VPN).
All’interno di Microsoft Intune, create una nuova policy di Settings Catalog impostando la presenza del supporto al “Use Cloud Trust For On Prem Auth”
Per chi volesse usare le GPO tradizionali, è necessario attivare la seguente policy.
Impostazione PIN Client
Per poter utilizzare il Cloud Kerberos è necessario che il client sia Windows 10 22H2, in verità già dalla build 2004 è possibile usarlo ma essendo ampiamente fuori supporto prendiamo in considerazione l’ultima build ancora buona di Windows 10.
Per evitare qualsiasi tipo di problema, è bene fare una pulizia di tutti i vari oggetti e riconfigurare il PIN da zero. Per farlo, eseguite i seguenti passaggi nel client che volete testare:
- Avviate il cmd (o il Terminal)
- Eseguite il comando certutil -deleteHelloContainer
- Riavviate il PC ed accedete con la password
- Eseguite la configurazione del PIN
- Disconnettete la sessione utente ed accedete con il PIN
Il suggerimento è quello di attendere il deployment delle policy e le varie sync di Entra Connect che, ovviamente, dovrà essere già stato configurato per ospitare la modalità ibrida degli oggetti.
Per verificare che il client ha iniziato ad usare il Cloud Kerberos, potete verificare l’event viewer di Windows, all’interno della sezione Microsoft – Windows – User Device Registration – Evento 358.
Un altro posto dove controllare correttamente il funzionamento è in Active Directory e nello specifico negli attributi del PC usato per la prova; dovrà comparire un valore nella chiave msDS-KeyCredentialLink.
Et voilà, da adesso i vostri utenti saranno in grado di dimenticarsi la password.
Rotazione della Entra Cloud Kerberos Server Key
Le chiavi di crittografia del server Kerberos di Microsoft Entra dovrebbero essere ruotate regolarmente. È una buona pratica seguire questa pratica, per ruotare tutte le altre chiavi krbtgt dei Domain Controller di Active Directory. Per farlo è necessario eseguire il comando: Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred -RotateServerKey
Conclusioni
L’utilizzo del Cloud Kerberos sdogana l’utilizzo di Windows Hello for Business all’interno di ogni azienda che ancora oggi è “legata” ad un’infrastruttura on-premises. Il suggerimento è implementare da oggi l’uso del PIN, che renderà gli accessi più facili e garantirà agli IT Admin una modifica, più forte, delle password dei vari utenti.