Configurare la protezione del blocco Extranet di AD FS

In AD FS in Windows Server 2012 R2 è stata introdotta una funzionalità di sicurezza denominata Blocco Extranet. Con questa funzionalità, AD FS "interrompe" l'autenticazione dell'account utente "dannoso" dall'esterno per un periodo di tempo. Si impedisce quindi che i tuoi account utente vengano bloccati in Active Directory. Oltre a proteggere i tuoi utenti da un blocco degli account di AD account, la funzionalità Blocco Extranet di AD FS protegge anche da attacchi di forza bruta per indovinare password.

Nota

Questa funzionalità funziona solo per lo scenario extranet, in cui le richieste di autenticazione provengono dal proxy applicazione Web e si applicano solo all'autenticazione di nome utente e password.

Vantaggi del blocco Extranet

Il blocco Extranet offre i vantaggi principali seguenti:

  • Protegge gli account utente da attacchi di forza bruta in cui un utente malintenzionato tenta di indovinare la password di un utente inviando continuamente richieste di autenticazione. In questo caso, AD FS bloccherà l'account utente dannoso per l'accesso extranet
  • Protegge gli account utente dai blocchi account dannosi in cui un utente malintenzionato vuole bloccare un account utente inviando richieste di autenticazione con password errate. In questo caso, anche se l'account utente verrà bloccato da AD FS per l'accesso extranet, l'account utente effettivo in AD non viene bloccato e l'utente può comunque accedere alle risorse aziendali all'interno dell'organizzazione. Si tratta di un blocco temporaneo.

Funzionamento

In AD FS sono disponibili tre impostazioni che è necessario configurare per abilitare questa funzionalità:

  • EnableExtranetLockout <Booleano> impostare questo valore booleano su True se si vuole abilitare il blocco Extranet.
  • ExtranetLockoutThreshold <Integer> definisce il numero massimo di tentativi di password non valida. Una volta raggiunta la soglia, AD FS rifiuterà immediatamente le richieste dall'extranet senza tentare di contattare il controller di dominio per l'autenticazione, indipendentemente dal fatto che la password sia valida o meno, fino a quando non viene superata la finestra di osservazione extranet. Ciò significa che il valore di attributo badPwdCount di un account AD non aumenterà mentre l'account è bloccato temporaneamente.
  • ExtranetObservationWindow <TimeSpan> determina per quanto tempo l'account utente verrà bloccato temporaneamente. AD FS inizierà a eseguire nuovamente l'autenticazione di nome utente e password quando viene passata la finestra. AD FS usa l'attributo AD badPasswordTime come riferimento per determinare se la finestra di osservazione extranet è passata o meno. La finestra è trascorsa se l'ora corrente è > badPasswordTime + ExtranetObservationWindow.

Nota

Il blocco extranet di AD FS funziona indipendentemente dai criteri di blocco di AD. È tuttavia consigliabile impostare il valore del parametro ExtranetLockoutThreshold su un valore minore della soglia di blocco dell'account AD. In caso contrario, AD FS non è in grado di proteggere gli account da bloccare in Active Directory.

Un esempio di abilitazione della funzionalità di blocco Extranet con un massimo di 15 tentativi di password non valido e una durata di blocco temporanea di 30 minuti è la seguente:

Set-AdfsProperties -EnableExtranetLockout $true -ExtranetLockoutThreshold 15 -ExtranetObservationWindow (new-timespan -Minutes 30)

Queste impostazioni verranno applicate a tutti i domini che il servizio AD FS può autenticare. Il funzionamento prevede che, quando AD FS riceve una richiesta di autenticazione, questo acceda al controller di dominio primario (PDC) tramite una chiamata LDAP ed esegua una ricerca per l'attributo badPwdCount per l'utente nel PDC. Se AD FS trova il valore badPwdCount>= ExtranetLockoutThreshold e l'ora definita nella finestra di osservazione Extranet non è ancora passata, AD FS rifiuterà immediatamente la richiesta, ovvero indipendentemente dal fatto che l'utente immetta una password valida o non valida da Extranet, l'accesso avrà esito negativo perché AD FS non invia le credenziali ad AD. AD FS non mantiene alcuno stato per quanto riguarda badPwdCount o gli account utente bloccati. AD FS usa AD per ogni rilevamento dello stato.

Avviso

Quando il blocco extranet di AD FS in Server 2012 R2 è abilitato, tutte le richieste di autenticazione tramite WAP vengono convalidate da AD FS nel PDC. Quando il PDC non è disponibile, gli utenti non possono eseguire l'autenticazione dalla extranet.

Server 2016 offre un parametro aggiuntivo che consente ad AD FS di eseguire il fallback a un altro controller di dominio quando il PDC non è disponibile:

  • ExtranetLockoutRequirePDC <Booleano>: se abilitato, il blocco extranet richiede un controller di dominio primario (PDC). Se disabilitato, il blocco extranet esegue il fallback a un altro controller di dominio nel caso in cui il PDC non sia disponibile.

È possibile usare il comando di Windows PowerShell seguente per configurare il blocco extranet di AD FS in Server 2016:

Set-AdfsProperties -EnableExtranetLockout $true -ExtranetLockoutThreshold 15 -ExtranetObservationWindow (new-timespan -Minutes 30) -ExtranetLockoutRequirePDC $false

Utilizzo dei criteri di blocco di Active Directory

La funzionalità di blocco Extranet in AD FS funziona indipendentemente dai criteri di blocco di ACTIVE Directory. Tuttavia, è necessario assicurarsi che le impostazioni per il blocco Extranet siano configurate correttamente in modo che possa soddisfare lo scopo di sicurezza con i criteri di blocco di AD.

Si esamineranno prima i criteri di blocco di Active Directory. Esistono tre impostazioni relative ai criteri di blocco in Active Directory:

  • Soglia di blocco account: questa impostazione è simile all'impostazione ExtranetLockoutThreshold in AD FS. Determina il numero di tentativi di accesso non riusciti che causano il blocco di un account utente. Per proteggere gli account utente da un attacco di blocco account dannoso, si vuole impostare il valore di ExtranetLockoutThreshold in AD FS <, il valore soglia di blocco account in AD
  • Durata blocco account: questa impostazione determina per quanto tempo un account utente è bloccato. Questa impostazione non è importante in questa conversazione perché il blocco Extranet deve essere sempre eseguito prima che il blocco di AD si verifichi se configurato correttamente
  • Reset Account Lockout Counter After: questa impostazione determina quanto tempo deve trascorrere dall'ultimo errore di accesso dell'utente prima che badPwdCount sia reimpostato su 0. Affinché la funzionalità di blocco Extranet in AD FS funzioni correttamente con i criteri di blocco di Active Directory, assicurarsi che il valore di ExtranetObservationWindow in AD FS > sia il valore Reset Account Lockout Counter After in AD. Gli esempi seguenti spiegano perché.

Esaminiamo due esempi e vediamo come badPwdCount cambia nel tempo in base a impostazioni e stati diversi. Si supponga che in entrambi gli esempi Soglia blocco account = 4 e ExtranetLockoutThreshold = 2. La freccia rossa rappresenta un tentativo di password non valido, la freccia verde rappresenta un tentativo di password valido. Nell'esempio 1 ExtranetObservationWindow>Reset Account Lockout Counter After. Nell'esempio 2 ExtranetObservationWindow<Reset Account Lockout Counter After.

Esempio 1

Diagram that shows how badPwdCount changes over time based on different settings and states.

Esempio 2

Example1

Come si può notare, ci sono due condizioni quando badPwdCount verrà reimpostato su 0. Una è quando è presente un accesso riuscito. L'altra è quando è il momento di reimpostare questo contatore come definito in Reset Account Lockout Counter After. Se Reset Account Lockout Counter After<ExtranetObservationWindow, un account non ha alcun rischio di essere bloccato da Active Directory. Tuttavia, se Reset Account Lockout Counter After>ExtranetObservationWindow, è possibile che un account venga bloccato da AD, ma in modo "ritardato". Potrebbe essere necessario un po' di tempo per ottenere un account bloccato da Active Directory a seconda della configurazione, perché AD FS consentirà solo un tentativo di password non valido durante la finestra di osservazione fino a quando badPwdCount raggiunge la soglia di blocco account.

Per altre informazioni, vedere Configurazione del blocco account.

Problemi noti

Si è verificato un problema noto per cui l'account utente di Active Directory non è in grado di eseguire l'autenticazione con AD FS perché l'attributo badPwdCount non viene replicato nel controller di dominio su cui esegue query ADFS. Per altri dettagli, vedere 2971171. È possibile trovare tutte le QFE di AD FS rilasciate finora qui.

Punti principali da tenere presenti

  • La funzionalità di blocco Extranet funziona solo per lo scenario extranet in cui le richieste di autenticazione provengono dal proxy applicazione Web
  • La funzionalità di blocco extranet si applica solo all'autenticazione con nome utente & password
  • AD FS non tiene traccia di badPwdCount o utenti bloccati temporaneamente. AD FS usa AD per ogni rilevamento dello stato
  • AD FS esegue una ricerca per l'attributo badPwdCount tramite la chiamata LDAP per l'utente nel PDC per ogni tentativo di autenticazione
  • AD FS precedente al 2016 avrà esito negativo se non riesce ad accedere al PDC. AD FS 2016 ha introdotto miglioramenti che consentono ad AD FS di eseguire il fallback ad altri controller di dominio nel caso in cui il PDC non sia disponibile.
  • AD FS consente le richieste di autenticazione da Extranet se badPwdCount < ExtranetLockoutThreshold
  • Se badPwdCount>= ExtranetLockoutThreshold E badPasswordTime + ExtranetObservationWindow< Ora corrente, AD FS rifiuterà le richieste di autenticazione da Extranet
  • Per evitare il blocco di account dannosi, è necessario assicurarsi che ExtranetLockoutThreshold<Soglia di blocco account E ExtranetObservationWindow>Reset Account Lockout Counter