Come usare i log di traccia di Fiddler per MFA in Microsoft 365 e Microsoft Entra ID

Riepilogo

Questo articolo presenta il log di traccia di Fiddler per gli scenari di autenticazione a più fattori (MFA) seguenti:

  • Scenari di MFA funzionante
  • Quando il telefono è fuori copertura o il telefono non viene selezionato
  • Quando viene attivato l'avviso di frode per bloccare l'account nel cloud
  • Per un account bloccato
  • Quando viene usata l'autenticazione a più fattori per gli account gestiti

Ulteriori informazioni

Se un account utente è federato, l'utente viene reindirizzato al server token di servizio (STS) per l'autenticazione e per login.microsoftonline.com e il token SAML viene emesso dal servizio token di sicurezza. Se l'utente è gestito, login.microsoftonline.com autentica l'utente tramite la password dell'utente.

L'autenticazione a più fattori viene avviata dopo che la password dell'utente è stata verificata da Microsoft Entra ID o stS. Il SANeeded=1 cookie viene impostato se l'utente è abilitato per l'autenticazione MFA nella directory di Microsoft 365 o Azure. La comunicazione tra il client e login.microsoftonline.com dopo l'autenticazione della password utente è simile alla seguente:

POST https://login.microsoftonline.com/login.srf HTTP/1.1
Host: login.microsoftonline.com

HTTP/1.1 302 Trovato

Set-Cookie: SANeeded=1; domain=login.microsoftonline.com; secure= ;p ath=/; HTTPOnly= ; version=1

Scenario 1: Scenari di MFA funzionante

Il cookie SANeeded=1 viene impostato dopo l'autenticazione della password. Il traffico di rete viene quindi reindirizzato all'endpoint: https://login.microsoftonline.com/StrongAuthCheck.srfe vengono richiesti i metodi di autenticazione disponibili.

Screenshot dei metodi di autenticazione disponibili.

L'autenticazione a più fattori inizia con BeginAuth e quindi la chiamata telefonica viene attivata nel back-end al provider del servizio telefonico.

Screenshot che mostra che M F A inizia con il metodo BeginAuth.

Dopo l'avvio dell'autorizzazione MFA, il client inizia a eseguire una query sullo stesso endpoint per il metodo EndAuth ogni 10 secondi per verificare se l'autenticazione è stata completata. Fino a quando la chiamata non viene selezionata e verificata, resultvalue viene restituito come AuthenticationPending.

Screenshot che mostra che ResultValue è impostato su AuthenticationPending.

Dopo aver selezionato e verificato il telefono, la risposta per la query successiva per EndAuth sarà ResultValue of Success.When the phone has been picked and verified, the answer for the next query for EndAuth will be a ResultValue of Success. Inoltre, l'utente ha completato l'autenticazione a più fattori. Anche il cookie Set-Cookie : SANeeded=xxxxxxx viene impostato nella risposta, che viene assegnata all'endpoint : login.srf per completare l'autenticazione.

Screenshot che mostra login.srf per completare l'autenticazione.

Scenario 2: quando il telefono è fuori copertura o il telefono non viene selezionato

Quando il telefono non viene selezionato e verificato entro 60 secondi dall'esecuzione della chiamata, ResultValue viene impostato su UserVoiceAuthFailedPhoneUnreachable. Alla query successiva per il metodo EndAuth viene restituito UserVoiceAuthFailedPhoneUnreachable, come illustrato in Fiddler.

Screenshot che mostra che ResultValue è impostato su UserVoiceAuthFailedPhoneUnreachable.

Scenario 3: quando viene attivato l'avviso di frode per bloccare l'account nel cloud

Quando il telefono non è stato selezionato e viene pubblicato un avviso di frode entro 60 secondi dall'esecuzione della chiamata, ResultValue viene impostato su AuthenticationMethodFailed. Alla query successiva per il metodo EndAuth viene restituita una risposta AuthenticationMethodFailed, come illustrato in Fiddler.

Screenshot che mostra che ResultValue è impostato su AuthenticationMethodFailed.

Scenario 4: Per un account bloccato

Se l'utente è bloccato, ResultValue viene impostato su UserIsBlocked. Alla prima query per il metodo EndAuth viene restituito, UserIsBlocked come illustrato in Fiddler.

Screenshot che mostra che ResultValue è impostato su UserIsBlocked.

Soluzione: in uno scenario di Azure MFA con una sottoscrizione di Azure, è possibile sbloccare eseguendo prima l'accesso a manage.windowsazure.com. Selezionare quindi Utenti directory > e Gestirele impostazioni del servizioMulti Factor Authentication>. Alla fine della pagina selezionare Vai al portale. Selezionare Ora Blocca/Sblocca utenti per trovare l'elenco di utenti bloccati.

Se MFA è abilitato tramite Microsoft 365, aprire un caso di supporto con Microsoft per sbloccarlo.

Scenario 5: MFA per gli account gestiti

In questo caso, l'autenticazione rimane invariata, ma gli endpoint sono https://login.microsoftonline.com/common/SAS/BeginAuth e https://login.microsoftonline.com/common/SAS/EndAuth non https://login.microsoftonline.com/StrongAuthCheck.srf come per gli account federati.