Hvordan blokkere vanlige (svake) passord i Active Directory

Bare de mest grunnleggende kravene til passordlengde, frekvens og kompleksitet kan aktiveres for domenebrukere i standard Active Directory-passordpolicy. Aktivering av det obligatoriske passordkompleksitetsalternativet, som krever at passord inneholder en blanding av store, små bokstaver, tall og spesialtegn, hindrer ikke brukere i å bruke passord som er lett å gjette, som f.eks.Qwerty123456,P@ssw0rd,March2025, etc. Disse passordene oppfyller kompleksitetskriteriene, men er fortsatt sårbare for angrep på grunn av deres forutsigbarhet.

Denne veiledningen forklarer hvordan du oppretter og håndhever forbudte passordlister i et lokalt Active Directory-domene, forhindrer brukere i å angi svake eller kompromitterte passord og beskytter kontoer mot ordbok og brute-force-angrep.

Innhold:

Liste over forbudte passord med AD-passordfilter (PassFiltEx)

Først, la oss ta en titt påPassFiltEx, et lett åpen kildekode-bibliotek som gir en enkel løsning for blokkering av vanlige svake passord i Active Directory

Når en AD-bruker endrer et passord, sjekker LSA-prosessen på domenekontrolleren om passordet samsvarer med det registrertepassordfiltre. PassFiltEx-biblioteket kan brukes transparent som et ekstra filter når du sjekker et nytt passord.

For å implementere PassFiltEx, last ned to filer fra prosjektets GitHub-side (https://github.com/ryanries/PassFiltEx) og kopier dem til%SystemRoot%System32katalog på en domenekontroller.

  • PassFiltEx.dll – PassFiltEx-biblioteksfil
  • PassFiltExBlacklist.txt – en ren tekstfil som inneholder passordene du vil nekte i AD

Noen viktige punkter:

  • PassFiltEx laster blokkeringslistefilen på nytt hvert 60. sekund
  • De nektede passordmønstrene i PassFiltExBlacklist.txt-filen skiller ikke mellom store og små bokstaver. (MyPasswordDogmypasswordverdier vil bli definert som like)
  • Unicode-tegn støttes for øyeblikket ikke

Åpne deretter Registerredigering, gå tilHKLMSYSTEMCurrentControlSetControlLsatasten, og legg tilPassFiltExverdi til slutten avVarslingspakkerflerstrengsparameter.

Start domenekontrolleren på nytt for å bruke det nye passordfilteret. Bekreft at lsass-prosessen laster PassFiltEx-biblioteket.

tasklist /m PassFiltEx.dll

Nå, hvis brukeren prøver å endre passordet til et som samsvarer med et av mønstrene i passordsvartelisten, vil det vises en feil som sier at passordet ikke oppfyller kravene i passordpolicyen.

Hvis du har flere domenekontrollere utplassert, konfigurer det samme passordfilteret på hver av dem.

Bruke registeralternativer iHKLMSOFTWAREPassFiltExreg-nøkkel (opprettet automatisk), kan du konfigurere flere PassFiltEx-passordfilterinnstillinger:

  • Svartelistefilnavn(REG_SZ) – banen til filen som inneholder de forbudte passordene. (standard er%SystemRoot%System32PassFiltExBlacklist.txt). En UNC-bane kan brukes her, som gjør at filen kan lagres i SYSVOL (for å bruke en enkelt passordsvartelistefil som automatisk replikeres mellom DC-er)
  • TokenPercentageOfPassword(REG_DWORD) – er minimumsprosenten av et nytt passord som samsvarer med en svartelistet mal som vil føre til at passordet blir avvist (som standard er 60%). Hvis du for eksempel legger til en linje med mønsteret MyPasswd til svartelisten, vil ikke brukere kunne bruke passordet MyPasswd2025.
  • Feilsøk– Hvis satt til1, den aktiverer feilsøkingsmodus (alle handlinger logges til en tekstfil).
  • BlockSequentialChars– blokker bruken av tegnsekvenser i passordet, for eksempel abcd eller 1234.
  • BlockRepeatingChars- blokksekvenser med identiske tegn som AAAA, 2222.

Informasjon om andre registeralternativer finner du på prosjektets GitHub-side.

Blokker svake og kompromitterte passord med Lithnet-passordbeskyttelse

Lithnet passordbeskyttelse for Active Directory (LPP)er en bedriftsløsning for blokkering av svake og kompromitterte passord i Active Directory. Dens grunnleggende funksjonalitet gjør det mulig å utvide AD-passordpolicykravene, blokkere passord ved hjelp av maler eller passord-hasher (gjør import av en database med kompromitterte passord fra eksterne ordbøker). Lithnet Passordbeskyttelse støtter administrasjon via gruppepolicy og PowerShell.

Lithnet Password Protection for Active Directory-agenten bør installeres på hver domenekontroller (https://github.com/lithnet/ad-password-protection).

Deretter bruker du PowerShell til å legge til forbudte passord og nøkkelord i Lithnet-passordhvelvet. Importer modulen til PowerShell-økten din:

Import-Module LithnetPasswordProtection

Legg til et ord du vil blokkere fra å bli brukt i AD-brukerpassord.

Add-BannedWord -Value "admin"

Du kan importere listen over forbudte søkeord fra en tekstfil:

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

Sjekk LPP-databasen for forbudte ord:

Test-IsBannedWord -value admin

Bruk cmdleten Get-PasswordFilterResult for å teste om passordet du skrev inn samsvarer med passordpolicyen:

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

Compromised

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

Approved

I det første tilfellet inneholder passordet nøyaktig samsvar med søkeordet Admin, og passordpolicyen forbyr bruk av det.

LPPs passordhvelv er en filbasert passordhash-database (på grunn av det binære formatet er det raskt å søke i en slik database). Som standard lagres DB-filer iC:Program FilesLithnetActive Directory Password ProtectionStorev3pkatalog.DFS-Rbrukes til å replikere Lithnet Password Protection-databasen med forbudte passord mellom domenekontrollere.

Lithnet Password Protection (LPP) lar administratorer importere kompromitterte passord fra «Have I Been Pwned» (HIBP pwnded) tjeneste inn i en lokal database, noe som øker sikkerheten ved å hindre brukere i å velge passord som er utsatt i datainnbrudd. Dette vil kreve ca8 GBdiskplass på DC for å lagre hash-ordboken.

Sync-HashesFromHibp

For å automatisk synkronisere den lokale databasen med HIBP, kjør kommandoen Sync-HashesFromHibp PowerShell med jevne mellomrom ved å bruke en oppgaveplanlegger.

Eller importer hashes fra en tekstfil:
Import-CompromisedPasswordHashes -Filename "c:pspwned-ntlm-hashs.txt"

Sjekk om det spesifikke passordet eller brukerens UPN er i databasen med kompromitterte passord.

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

Administrative malfiler (ADMX) er tilgjengelige for å administrere LPP-innstillinger via GPO. Som standard kan ADMX-malene finnes i%WINDIR%PolicyDefinitionskatalog på en DC med en LPP-agent (du kan kopiere dem til den sentrale GPO-butikken):

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

For å få LPP-agenten til å sjekke en brukers passord mot svartelistepassordordboken når brukeren endrer passordet, oppretter du en GPO for domenekontrollere med følgende minimumsinnstillinger under Datakonfigurasjon -> Administrative maler -> Lithnet ->Passordbeskyttelse for Active Directory -> Standardpolicy-delen.

  • Avvis passord som er funnet i det kompromitterte passordlageretEnable, fjern merket for alternativeneAktiver for passordsettogAktiver for endring av passord.
  • Avvis normalisert passord funnet i det kompromitterte passordlageret(avslå normaliserte passord, for eksempel WOSHub og woshub)

Andre GPO-alternativer kan aktiveres/deaktiveres avhengig av sikkerhetsbehovene dine.

Start domenekontrolleren på nytt for å oppdatere GPO-innstillingene. Dette vil også legge tillithnetpwdfpassordfilter til registernøkkelen spesifisert ovenfor.

Nå, når du prøver å endre (tilbakestille) en AD-brukers passord, utføres en ekstra sjekk for å se om passordet er i ordboken over forbudte passord. For eksempel viser Windows 11 følgende feil:

The password on this account cannot be changed at this time

Åpenbart er dette upraktisk fordi det ikke er klart for brukeren at passordet deres ikke har bestått passordpolicykontrollen.

RELATERT:Fjern gamle BitLocker-gjenopprettingspassord fra Active Directory

Hvis du har enEntra ID P1 eller P2 abonnementog synkronisere med din lokale Active Directory, kan du opprette en liste over forbudte passord i Microsoft-skyen. Microsoft Entra Password Protection Proxy Service og Microsoft Entra Password Protection DC Agent kan bruke disse sikkerhetsinnstillingene på lokale AD-kontoer. Se passordpolicy i Entra ID (ex-Azure AD).

Vi har utforsket hvordan vi kan forbedre Active Directory-sikkerheten ved å implementere åpen kildekode-løsninger som forhindrer bruk av svake, lekkede eller vanlige passord som vanligvis ikke er blokkert av standard AD-passordpolicy.

Related Posts