Come bloccare le password comuni (deboli) in Active Directory

Solo i requisiti di base di lunghezza, frequenza e complessità della password possono essere abilitati per gli utenti del dominio nei criteri password predefiniti di Active Directory. L'abilitazione dell'opzione di complessità della password obbligatoria, che richiede che le password contengano un mix di lettere maiuscole, minuscole, numeri e caratteri speciali, non impedisce agli utenti di utilizzare password facilmente indovinabili comeQwerty123456,P@ssw0rd,March2025, ecc. Queste password soddisfano i criteri di complessità ma rimangono vulnerabili agli attacchi a causa della loro prevedibilità.

Questa guida spiega come creare e applicare elenchi di password vietate in un dominio Active Directory locale, impedendo agli utenti di impostare password deboli o compromesse e proteggendo gli account da attacchi di dizionario e forza bruta.

Contenuto:

Elenco delle password vietate con filtro password AD (PassFiltEx)

Per prima cosa, diamo un'occhiata aPassFiltEx, una libreria open source leggera che fornisce una soluzione semplice per bloccare le password deboli comuni in Active Directory

Quando un utente AD modifica una password, il processo LSA sul controller di dominio controlla se la password corrisponde a quella registratafiltri di password. La libreria PassFiltEx può essere utilizzata in modo trasparente come filtro aggiuntivo durante il controllo di una nuova password.

Per implementare PassFiltEx, scarica due file dalla pagina GitHub del progetto (https://github.com/ryanries/PassFiltEx) e copiarli nel file%SystemRoot%System32directory su un controller di dominio.

  • PassFiltEx.dll: file della libreria PassFiltEx
  • PassFiltExBlacklist.txt: un file di testo semplice contenente le password che desideri negare in AD

Alcuni punti importanti:

  • PassFiltEx ricarica il file della lista bloccata ogni 60 secondi
  • I modelli di password negata nel file PassFiltExBlacklist.txt non fanno distinzione tra maiuscole e minuscole. (MyPasswordDEmypasswordi valori saranno definiti come uguali)
  • I caratteri Unicode non sono attualmente supportati

Leggi anche:Rimuovi le vecchie password di ripristino di BitLocker da Active Directory

Quindi, apri l'editor del registro, vai al fileHKLMSYSTEMCurrentControlSetControlLsachiave e aggiungi il filePassFiltExvalore fino alla fine delPacchetti di notificaparametro multistringa.

Riavviare il controller di dominio per applicare il nuovo filtro password. Verificare che il processo lsass carichi la libreria PassFiltEx.

tasklist /m PassFiltEx.dll

Ora, se l'utente tenta di modificare la password con una che corrisponde a uno dei modelli nella lista nera delle password, verrà visualizzato un errore che informa che la password non soddisfa i requisiti della politica della password.

Se sono stati distribuiti più controller di dominio, configurare lo stesso filtro password su ciascuno di essi.

Utilizzando le opzioni del registro inHKLMSOFTWAREPassFiltExreg key (creata automaticamente), è possibile configurare ulteriori impostazioni del filtro password PassFiltEx:

  • NomeFileLista Nera(REG_SZ) – percorso del file contenente le password vietate. (l'impostazione predefinita è%SystemRoot%System32PassFiltExBlacklist.txt). Qui è possibile utilizzare un percorso UNC, che consente di archiviare il file in SYSVOL (per utilizzare un singolo file della lista nera delle password che viene replicato automaticamente tra i controller di dominio)
  • Percentuale token della password(REG_DWORD) – è la percentuale minima di una nuova password che corrisponde a un modello nella lista nera che causerà il rifiuto della password (per impostazione predefinita è il 60%). Ad esempio, se aggiungi una riga con il pattern MyPasswd alla lista nera, gli utenti non potranno utilizzare la password MyPasswd2025.
  • Debug– Se impostato su1, abilita la modalità debug (tutte le azioni vengono registrate in un file di testo).
  • BlockSequentialChars– bloccare l'uso di sequenze di caratteri nella password, come abcd o 1234.
  • BlockRepeatingChars- sequenze di blocchi di caratteri identici come AAAA, 2222.

Informazioni su altre opzioni del registro possono essere trovate sulla pagina GitHub del progetto.

Blocca password deboli e compromesse con la protezione password di Lithnet

Protezione tramite password Lithnet per Active Directory (LPP)è una soluzione aziendale per bloccare le password deboli e compromesse in Active Directory. La sua funzionalità di base consente di estendere i requisiti della policy password AD, bloccare le password utilizzando modelli o hash delle password (consente di importare un database di password compromesse da dizionari esterni). Lithnet Password Protection supporta la gestione tramite Criteri di gruppo e PowerShell.

L'agente Lithnet Password Protection per Active Directory deve essere installato su ciascun controller di dominio (https://github.com/lithnet/ad-password-protection).

Quindi, utilizza PowerShell per aggiungere password e parole chiave vietate all'archivio password di Lithnet. Importa il modulo nella sessione di PowerShell:

Import-Module LithnetPasswordProtection

Aggiungi una parola a cui desideri impedire l'utilizzo nelle password degli utenti AD.

Add-BannedWord -Value "admin"

Puoi importare l'elenco delle parole chiave vietate da un file di testo:

Import-BannedWords -Filename "c:tempblacklistpwd.txt"

Controlla il database LPP per le parole vietate:

Test-IsBannedWord -value admin

Utilizza il cmdlet Get-PasswordFilterResult per verificare se la password digitata è conforme ai criteri password:

Get-PasswordFilterResult -Password "Admin321" -Username jsmith -Fullname "John Smith"

Compromised

Get-PasswordFilterResult -Password "Adm123n!" -Username jsmith -Fullname "John Smith"

Approved

Nel primo caso, la password contiene la corrispondenza esatta della parola chiave Admin e la policy relativa alla password ne vieta l'utilizzo.

Il deposito password di LPP è un database di hash delle password basato su file (a causa del formato binario, la ricerca in tale database è veloce). Per impostazione predefinita, i file DB vengono archiviati nel fileC:Program FilesLithnetActive Directory Password ProtectionStorev3pdirectory.DFS-Rviene utilizzato per replicare il database Lithnet Password Protection delle password vietate tra i controller di dominio.

Lithnet Password Protection (LPP) consente agli amministratori di importare password compromesse da "Have I Been Pwned" (L'HIBP è stato criticato) in un database locale, aumentando la sicurezza impedendo agli utenti di selezionare le password esposte in caso di violazione dei dati. Ciò richiederà circa8GBdi spazio su disco nel controller di dominio per archiviare il dizionario hash.

Sync-HashesFromHibp

Per sincronizzare automaticamente il database locale con HIBP, eseguire periodicamente il comando Sync-HashesFromHibp di PowerShell utilizzando un'Utilità di pianificazione.

Oppure importa gli hash da un file di testo:
Import-CompromisedPasswordHashes -Filename "c:pspwned-ntlm-hashs.txt"

Controlla se la password specifica o l'UPN dell'utente è presente nel database delle password compromesse.

Test-IsCompromisedPassword -value MyAdminl0veSme
Test-IsADUserPasswordCompromised -upn [email protected]

Sono disponibili file di modello amministrativo (ADMX) per gestire le impostazioni LPP tramite oggetto Criteri di gruppo. Per impostazione predefinita, i modelli ADMX possono essere trovati nel file%WINDIR%PolicyDefinitionsdirectory su un controller di dominio con un agente LPP (è possibile copiarli nell'archivio GPO centrale):

  • lithnet.activedirectory.passwordfilter.admx
  • lithnet.admx
  • en-uslithnet.activedirectory.passwordfilter.adml
  • en-uslithnet.adml

Per fare in modo che l'agente LPP controlli la password di un utente rispetto al dizionario delle password della lista nera quando l'utente modifica la password, crea un oggetto Criteri di gruppo per i controller di dominio con le seguenti impostazioni minime in Configurazione computer -> Modelli amministrativi -> Lithnet -> Protezione tramite password per Active Directory -> sezione Criteri predefiniti.

  • Rifiuta le password trovate nell'archivio password compromessoEnable, deseleziona le opzioniAbilita per l'impostazione della passwordEAbilitazione alle operazioni di modifica della password.
  • Rifiuta la password normalizzata trovata nell'archivio password compromesso(nega password normalizzate, ad esempio WOSHub e woshub)

Altre opzioni GPO possono essere abilitate/disabilitate a seconda delle esigenze di sicurezza.

Riavviare il controller di dominio per aggiornare le impostazioni dell'oggetto Criteri di gruppo. Questo aggiungerà anche il filelithnetpwdffiltro password sulla chiave di registro specificata sopra.

Ora, quando si tenta di modificare (reimpostare) la password di un utente AD, viene eseguito un controllo aggiuntivo per verificare se la password è presente nel dizionario delle password vietate. Ad esempio, Windows 11 visualizza il seguente errore:

The password on this account cannot be changed at this time

Ovviamente, questo è scomodo perché non è chiaro all'utente che la sua password non ha superato il controllo della politica della password.

Se hai unAbbonamento Entra ID P1 o P2e sincronizzarti con Active Directory locale, puoi creare un elenco di password vietate nel cloud Microsoft. Il servizio proxy di protezione password di Microsoft Entra e l'agente DC di protezione password di Microsoft Entra possono applicare queste impostazioni di sicurezza agli account AD locali. Vedere Criteri password in Entra ID (ex Azure AD).

Abbiamo esplorato come migliorare la sicurezza di Active Directory implementando soluzioni open source che impediscono l'uso di password deboli, divulgate o comuni che in genere non vengono bloccate dai criteri di password AD predefiniti.

Related Posts