Microsoft Entra Conditional Access: Bloccare i Flussi di Autenticazione

La gestione degli accessi condizionali di Microsoft Entra per i flussi di autenticazione regola l’uso del flusso di codice dispositivo e del trasferimento di autenticazione. Questi flussi sono utilizzati per autenticare dispositivi senza browser o con input limitato, come smart TV, dispositivi IoT o stampanti. Tuttavia, rappresentano un rischio elevato di sicurezza, potenzialmente sfruttabile in attacchi di phishing o per accedere a risorse aziendali su dispositivi non gestiti.

Michele Ariis

11/22/20244 min read

Prerequisiti e Licenze

Per utilizzare la funzionalità di accesso condizionale di Microsoft Entra, è necessario disporre di una licenza Microsoft Entra ID P1 o superiore

Flusso del codice del dispositivo

Il processo avviene in questi passaggi:

  1. L’utente avvia l’applicazione sul dispositivo e inizia l’accesso.

  2. Il dispositivo invia una richiesta di autorizzazione all’endpoint /oauth2/v2.0/devicecode per il tenant di destinazione o il tenant comune.

  3. Un codice dispositivo, un codice utente e l’URL di verifica vengono inviati al dispositivo.

  4. L’app presenta all’utente l’URL di verifica e il codice utente, chiedendogli di navigare all’URL e completare l’accesso.

  5. Mentre l’utente effettua l’accesso, l’app continua a interrogare l’endpoint del token per un token di accesso /oauth2/v2.0/token. Una volta completato il processo di accesso, il server di autorizzazione risponde con un token di accesso.

  6. Il dispositivo può quindi interagire con i servizi Microsoft abilitati come se fosse l'utente.

Verrà richiesto di aprire un browser e andare su https://microsoft.com/devicelogin e inserire il codice di autenticazione generato

Successivamente il sistema esegue la procedura di accesso standard insieme all'autenticazione a più fattori (se attiva) sul browser esterno.

Una volta concluso avrete accesso alle risorse.

Poiché il codice utente viene immesso manualmente dagli utenti, potrebbe verificarsi un attacco brute force o un phishing remoto in cui un aggressore tenta di avviare una richiesta di codice dispositivo e ottenere l'accesso alle risorse.

Flusso di trasferimento dell'autenticazione

Il trasferimento dell'autenticazione è un nuovo flusso che trasferisce uno stato autenticato da un dispositivo a un altro in modo fluido, per offrire un'esperienza utente semplice.

Ad esempio, se hai un codice QR nella versione desktop di un'app e hai scansionato il codice QR nella versione mobile, lo stato autenticato verrà trasferito dal desktop al dispositivo mobile.

Bloccare il Flusso di Codice Dispositivo e il Trasferimento di Autenticazione

Per bloccare questi flussi, è possibile creare una politica di accesso condizionale in Microsoft Entra.

Dal portale di Microsoft Entra admin center andiamo su Protection > Conditional Access > Create new policy

Diamo un nome alla policy, nel mio caso ho usato Block Authentication Flows

Definiamo ora gli utenti e le risorse su cui avrà impatto questa policy; nel mio caso ho inserito tutti gli utenti e tutte le cloud apps

Definiamo ora le Condizioni > Flussi di autenticazioni attivando Flusso di codice dispositivo e Trasferimento di autenticazione; una volta attivati clicchiamo su Save

Ora definiamo il comportamento che verrà eseguito in base alle configurazioni appena fatte.

Nel nostro caso imposteremo il blocco di queste operazioni selezionando Concedi e abilitando Blocca accesso

Vi consiglio di attivare la policy in modalità Report-only per 1/2 settimane per verificare tramite Insights and reporting il comportamento verso gli account prima di un'implementazione massiva.

Quando sarete pronti, basterà cambiare Enable policy da Report-only a On

Nel caso abbiate dei device che devono usare queste funzionalità, potrete andare ad escluderli tramite i Filtri per device nelle Condizioni

Oppure in base al tipo di piattaforma del device

Esempio senza blocco

Provando a connetterci tramite il client PowerShell usando il seguente comando

az login --use-device-code

oppure in base alla posizione

Esempio con blocco attivo

Sempre da PowerShell eseguiamo il comando

az login --use-device-code

Come in precedenza, verrà richiesto di aprire un browser e andare su https://microsoft.com/devicelogin e inserire il codice di autenticazione generato eseguendo poi la procedura di accesso standard insieme all'autenticazione a più fattori (se attiva) sul browser esterno; a differenza di prima però ora riceveremo il seguente messaggio

Se andiamo a vedere i Sign-in logs per l'utente con cui abbiamo fatto la prova troveremo questo errore

Consiglio

Come scritto in precedenza meglio attivare la policy in Report-only per verificare prima gli impatti sui deviceutenti; se da Insights and reporting non ci sono anomalie la policy può essere passata in modalità On; inoltre, se non ci sono esigenze particolari, non configurerei nessuna esclusione su questa policy.

Conclusione

Implementare una policy di Accesso Condizionale per bloccare i flussi di autenticazione ad alto rischio come il flusso di codice dispositivo e il trasferimento di autenticazione è essenziale per proteggere le risorse aziendali. Seguendo i passaggi descritti, gli amministratori possono garantire che solo i dispositivi gestiti e sicuri possano accedere ai dati aziendali, riducendo significativamente il rischio di attacchi di phishing e accessi non autorizzati.