Alleen de meest elementaire vereisten voor wachtwoordlengte, -frequentie en -complexiteit kunnen worden ingeschakeld voor domeingebruikers in het standaard Active Directory-wachtwoordbeleid. Het inschakelen van de verplichte optie voor wachtwoordcomplexiteit, waarbij wachtwoorden een combinatie van hoofdletters, kleine letters, cijfers en speciale tekens moeten bevatten, weerhoudt gebruikers er niet van gemakkelijk te raden wachtwoorden te gebruiken, zoalsQwerty123456,P@ssw0rd,March2025, enz. Deze wachtwoorden voldoen aan de complexiteitscriteria, maar blijven kwetsbaar voor aanvallen vanwege hun voorspelbaarheid.
In deze handleiding wordt uitgelegd hoe u lijsten met verboden wachtwoorden maakt en afdwingt in een on-premises Active Directory-domein, waardoor wordt voorkomen dat gebruikers zwakke of gecompromitteerde wachtwoorden instellen en hoe accounts worden beschermd tegen woordenboek- en brute-force-aanvallen.
Inhoud:
- Lijst met verboden wachtwoorden met AD-wachtwoordfilter (PassFiltEx)
- Blokkeer zwakke en gecompromitteerde wachtwoorden met Lithnet-wachtwoordbeveiliging
Lijst met verboden wachtwoorden met AD-wachtwoordfilter (PassFiltEx)
Laten we eerst eens kijkenPassFiltEx, een lichtgewicht open-sourcebibliotheek die een eenvoudige oplossing biedt voor het blokkeren van veelvoorkomende zwakke wachtwoorden in Active Directory
Wanneer een AD-gebruiker een wachtwoord wijzigt, controleert het LSA-proces op de domeincontroller of het wachtwoord overeenkomt met het geregistreerdewachtwoordfilters. De PassFiltEx-bibliotheek kan transparant worden gebruikt als extra filter bij het controleren van een nieuw wachtwoord.
Om PassFiltEx te implementeren, downloadt u twee bestanden van de GitHub-pagina van het project (https://github.com/ryanries/PassFiltEx) en kopieer ze naar de%SystemRoot%System32map op een domeincontroller.
- PassFiltEx.dll – PassFiltEx-bibliotheekbestand
- PassFiltExBlacklist.txt – een tekstbestand met de wachtwoorden die u in AD wilt weigeren
Enkele belangrijke punten:
- PassFiltEx laadt het blokkeerlijstbestand elke 60 seconden opnieuw
- De geweigerde wachtwoordpatronen in het bestand PassFiltExBlacklist.txt zijn niet hoofdlettergevoelig. (
MyPasswordDEnmypasswordwaarden worden gedefinieerd als gelijk) - Unicode-tekens worden momenteel niet ondersteund

Open vervolgens de Register-editor, ga naar hetHKLMSYSTEMCurrentControlSetControlLsatoets en voeg dePassFiltExwaarde tot het einde van deMeldingspakkettenparameter met meerdere tekenreeksen.


Start de domeincontroller opnieuw op om het nieuwe wachtwoordfilter toe te passen. Controleer of het lsass-proces de PassFiltEx-bibliotheek laadt.
tasklist /m PassFiltEx.dll


Als de gebruiker nu probeert het wachtwoord te wijzigen in een wachtwoord dat overeenkomt met een van de patronen op de zwarte lijst met wachtwoorden, verschijnt er een foutmelding waarin staat dat het wachtwoord niet voldoet aan de vereisten van het wachtwoordbeleid.


Als u meerdere domeincontrollers heeft geïmplementeerd, configureert u op elk daarvan hetzelfde wachtwoordfilter.
Registeropties gebruiken in deHKLMSOFTWAREPassFiltExreg-sleutel (automatisch gemaakt), kunt u aanvullende PassFiltEx-wachtwoordfilterinstellingen configureren:
- Zwarte lijstBestandsnaam(REG_SZ) – pad naar het bestand met de verboden wachtwoorden. (standaard is
%SystemRoot%System32PassFiltExBlacklist.txt). Hier kan een UNC-pad worden gebruikt, waardoor het bestand kan worden opgeslagen in de SYSVOL (om een blacklist-bestand met één wachtwoord te gebruiken dat automatisch wordt gerepliceerd tussen DC's) - TokenPercentageOfPassword(REG_DWORD) – is het minimumpercentage van een nieuw wachtwoord dat overeenkomt met een sjabloon op de zwarte lijst waardoor het wachtwoord wordt afgewezen (standaard is dit 60%). Als u bijvoorbeeld een regel met het patroon MyPasswd aan de zwarte lijst toevoegt, kunnen gebruikers het wachtwoord MyPasswd2025 niet gebruiken.
- Foutopsporing– Indien ingesteld op1, schakelt het de debug-modus in (alle acties worden vastgelegd in een tekstbestand).
- Bloksequentiële tekens– blokkeer het gebruik van tekenreeksen in het wachtwoord, zoals abcd of 1234.
- Blokherhalende tekens- blokreeksen van identieke karakters zoals AAAA, 2222.
Informatie over andere registeropties is te vinden op de GitHub-pagina van het project.
Blokkeer zwakke en gecompromitteerde wachtwoorden met Lithnet-wachtwoordbeveiliging
Lithnet-wachtwoordbeveiliging voor Active Directory (LPP)is een bedrijfsoplossing voor het blokkeren van zwakke en gecompromitteerde wachtwoorden in Active Directory. De basisfunctionaliteit maakt het mogelijk om de vereisten van het AD-wachtwoordbeleid uit te breiden, wachtwoorden te blokkeren met behulp van sjablonen of wachtwoord-hashes (maakt het mogelijk een database met gecompromitteerde wachtwoorden uit externe woordenboeken te importeren). Lithnet Wachtwoordbeveiliging ondersteunt beheer via Groepsbeleid en PowerShell.
De Lithnet-wachtwoordbeveiliging voor Active Directory-agent moet op elke domeincontroller worden geïnstalleerd (https://github.com/lithnet/ad-password-protection).


Gebruik vervolgens PowerShell om verboden wachtwoorden en trefwoorden toe te voegen aan de Lithnet-wachtwoordkluis. Importeer de module in uw PowerShell-sessie:
Import-Module LithnetPasswordProtection
Voeg een woord toe waarvan u wilt voorkomen dat het wordt gebruikt in AD-gebruikerswachtwoorden.
Add-BannedWord -Value "admin"
U kunt de lijst met verboden trefwoorden uit een tekstbestand importeren:
Import-BannedWords -Filename "c:tempblacklistpwd.txt"
Controleer de LPP-database op verboden woord:
Test-IsBannedWord -value admin


Gebruik de cmdlet Get-PasswordFilterResult om te testen of het wachtwoord dat u hebt getypt, voldoet aan het wachtwoordbeleid:
Get-PasswordFilterResult -Password "Admin321" -Username jsmith -Fullname "John Smith"
Compromised


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


In het eerste geval bevat het wachtwoord de exacte overeenkomst met het trefwoord Admin en verbiedt het wachtwoordbeleid het gebruik ervan.
De wachtwoordkluis van LPP is een op bestanden gebaseerde wachtwoord-hash-database (vanwege het binaire formaat is het doorzoeken van een dergelijke database snel). Standaard worden DB-bestanden opgeslagen in deC:Program FilesLithnetActive Directory Password ProtectionStorev3pmap.DFS-Rwordt gebruikt om de Lithnet Password Protection-database met verboden wachtwoorden tussen domeincontrollers te repliceren.
Met Lithnet Password Protection (LPP) kunnen beheerders gecompromitteerde wachtwoorden importeren uit de map “Have I Been Pwned” (HIBP pwnd)-service in een lokale database, waardoor de veiligheid wordt vergroot door te voorkomen dat gebruikers wachtwoorden selecteren die zijn blootgesteld aan datalekken. Dit zal ongeveer nodig zijn8 GBschijfruimte op de DC om het hashwoordenboek op te slaan.
Sync-HashesFromHibp


Om de lokale database automatisch te synchroniseren met HIBP, voert u periodiek de Sync-HashesFromHibp PowerShell-opdracht uit met behulp van een Taakplanner.
Of importeer hashes uit een tekstbestand:Import-CompromisedPasswordHashes -Filename "c:pspwned-ntlm-hashs.txt"
Controleer of het specifieke wachtwoord of de UPN van de gebruiker in de database met gecompromitteerde wachtwoorden staat.
Test-IsCompromisedPassword -value MyAdminl0veSme
Test-IsADUserPasswordCompromised -upn [email protected]
Er zijn administratieve sjabloonbestanden (ADMX) beschikbaar om LPP-instellingen via GPO te beheren. Standaard zijn de ADMX-sjablonen te vinden in de%WINDIR%PolicyDefinitionsdirectory op een DC met een LPP-agent (u kunt deze naar het centrale GPO-archief kopiëren):
- lithnet.activedirectory.passwordfilter.admx
- lithnet.admx
- en-uslithnet.activedirectory.passwordfilter.adml
- nl-uslithnet.adml
Als u wilt dat de LPP-agent het wachtwoord van een gebruiker vergelijkt met het wachtwoordwoordenboek op de zwarte lijst wanneer de gebruiker het wachtwoord wijzigt, maakt u een GPO voor domeincontrollers met de volgende minimale instellingen onder Computerconfiguratie -> Beheersjablonen -> Lithnet -> Wachtwoordbeveiliging voor Active Directory -> sectie Standaardbeleid.
- Weiger wachtwoorden die zijn gevonden in het gecompromitteerde wachtwoordarchief–
Enable, schakel de opties uitInschakelen voor wachtwoordinstellingEnSchakel bewerkingen voor het wijzigen van wachtwoorden in. - Weiger het genormaliseerde wachtwoord dat is gevonden in het gecompromitteerde wachtwoordarchief(genormaliseerde wachtwoorden weigeren, bijvoorbeeld WOSHub en woshub)


Andere GPO-opties kunnen worden in-/uitgeschakeld, afhankelijk van uw beveiligingsbehoeften.
Start de domeincontroller opnieuw op om de GPO-instellingen bij te werken. Dit zal ook delitnetpwdfwachtwoordfilter op de hierboven opgegeven registersleutel.


Wanneer u nu probeert het wachtwoord van een AD-gebruiker te wijzigen (resetten), wordt er een extra controle uitgevoerd om te zien of het wachtwoord in het woordenboek met verboden wachtwoorden voorkomt. Windows 11 geeft bijvoorbeeld de volgende foutmelding weer:
The password on this account cannot be changed at this time
Uiteraard is dit lastig omdat het voor de gebruiker niet duidelijk is dat zijn wachtwoord de controle op het wachtwoordbeleid niet heeft doorstaan.
VERWANT:Verwijder oude BitLocker-herstelwachtwoorden uit Active Directory


Als u eenEntra ID P1- of P2-abonnementen synchroniseert met uw lokale Active Directory, kunt u een lijst met verboden wachtwoorden maken in de Microsoft-cloud. De Microsoft Entra Wachtwoordbeveiliging Proxy Service en Microsoft Entra Wachtwoordbeveiliging DC Agent kunnen deze beveiligingsinstellingen toepassen op on-premises AD-accounts. Zie Wachtwoordbeleid in Entra ID (ex-Azure AD).
We hebben onderzocht hoe we de Active Directory-beveiliging kunnen verbeteren door open-sourceoplossingen te implementeren die het gebruik van zwakke, gelekte of veelvoorkomende wachtwoorden voorkomen die doorgaans niet worden geblokkeerd door het standaard AD-wachtwoordbeleid.















