Risoluzione dei problemi di AD FS - Autenticazione integrata di Windows

L'autenticazione integrata di Windows consente agli utenti di accedere con le proprie credenziali di Windows ed eseguire l'accesso Single Sign-On (SSO), usando Kerberos o NTLM.

Motivo per cui l'autenticazione integrata di Windows non riesce

Esistono tre motivi principali per cui l'autenticazione integrata di Windows avrà esito negativo. Sono: - Errore di configurazione del nome dell'entità servizio (SPN) - Token di associazione del canale - Configurazione di Internet Explorer

Configurazione errata del nome SPN

Un nome dell'entità servizio (SPN) è un identificatore univoco di un'istanza del servizio. I nomi SPN vengono usati dall'autenticazione Kerberos per associare un'istanza del servizio a un account di accesso al servizio. Ciò consente a un'applicazione client di richiedere che il servizio esegua l'autenticazione di un account anche se il client non ha il nome dell'account.

Un esempio di utilizzo di un nome SPN con AD FS è il seguente:

  1. Un Web browser esegue una query in Active Directory per determinare quale account del servizio è in esecuzione sts.contoso.com
  2. Active Directory indica al browser che si tratta dell'account del servizio AD FS.
  3. Il browser otterrà un ticket Kerberos per l'account del servizio AD FS.

Se l'account del servizio AD FS ha un NOME SPN non configurato correttamente o se il nome SPN non è corretto, questo può causare problemi. Esaminando le tracce di rete, è possibile che vengano visualizzati errori come l'errore KRB: KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN.

Usando le tracce di rete (ad esempio Wireshark) è possibile determinare il nome SPN che il browser sta tentando di risolvere e quindi usando lo strumento da riga di comando, setspn - Q <spn>, è possibile eseguire una ricerca sul nome SPN. Potrebbe non essere trovato o può essere assegnato a un altro account diverso dall'account del servizio AD FS.

Screenshot of the Command Prompt window.

È possibile verificare il nome SPN esaminando le proprietà dell'account del servizio AD FS.

Screenshot of the Attribute Editor tab of the A D F S Service Account Properties dialog box showing the Service Principal Name value called out.

Token di associazione del canale

Attualmente, quando un'applicazione client si autentica nel server con i metodi Kerberos, Digest o NTLM utilizzando il protocollo HTTPS, viene innanzitutto stabilito un canale TLS (Transport Level Security) mediante il quale viene eseguita l'autenticazione.

Il token di associazione del canale è una proprietà del canale esterno protetto da TLS e viene usato per associare il canale esterno a una conversazione tramite il canale interno autenticato dal client.

Se si verifica un attacco "man-in-the-middle" e stanno decrittografando e crittografando nuovamente il traffico SSL, la chiave non corrisponderà. AD FS determinerà che c'è qualcosa che si trova nel mezzo tra il Web browser e se stesso. In questo modo l'autenticazione Kerberos avrà esito negativo e all'utente verrà visualizzata una finestra di dialogo 401 anziché un'esperienza SSO.

Questo errore può essere causato da:

  • Qualsiasi elemento tra il browser e AD FS
  • Fiddler
  • Proxy inversi che eseguono il bridging SSL

Per impostazione predefinita, AD FS è impostato su "Consenti". Puoi modificare questa impostazione usando il cmdlet di PowerShell Set-ADFSProperties -ExtendedProtectionTokenCheck None

Per altre informazioni, vedi Procedure consigliate per la pianificazione e la distribuzione sicure di ADFS.

Configurazione di Internet Explorer

Nota

Se usi Chrome, aggiungilo all'elenco degli agenti utente supportati da WIA.

Per impostazione predefinita, Internet Explorer si comporterà nel modo seguente:

  1. Internet Explorer riceverà una risposta 401 da AD FS con la parola NEGOTIATE nell'intestazione.
  2. Questo indica al Web browser di ottenere un ticket Kerberos o NTLM da inviare ad AD FS.
  3. Per impostazione predefinita, Internet Explorer tenterà di eseguire questa operazione (SPNEGO) senza l'interazione dell'utente se la parola NEGOTIATE si trova nell'intestazione. Funziona solo per i siti Intranet.

Ci sono due cose principali che possono impedire che ciò accada.

  • Abilita l'autenticazione integrata di Windows non è archiviata nelle proprietà di Internet Explorer. Questa opzione si trova in Opzioni Internet -> Avanzate - > Sicurezza.

    Screenshot of the Advanced tab of the Internet Options dialog box with the Enable Integrated Windows Authentication option called out.

  • Le aree di sicurezza non sono configurate correttamente

    • I nomi di dominio completi non si trovano nell'area Intranet

    • L'URL di AD FS non si trova nell'area Intranet.

      Screenshot of the Local intranet window in front of the Internet Options dialog box.

Passaggi successivi