GPO: Wachtwoordcomplexiteit Ingeschakeld

💼 Management Samenvatting

Wachtwoordcomplexiteit vormt in de Nederlandse Baseline voor Veilige Cloud de eerste verdedigingslinie tegen het misbruik van gestolen of geraden accounts, omdat iedere gebruiker wordt gedwongen om hoofdletters, kleine letters, cijfers en symbolen te combineren in plaats van voorspelbare woorden te herhalen.

Aanbeveling
IMPLEMENTEER PASSWORD COMPLEXITY
Risico zonder
High
Risk Score
7/10
Implementatie
3u (tech: 1u)
Van toepassing op:
Windows 10
Windows 11
Windows Server

Door complexe wachtwoorden te koppelen aan beleid voor minimale lengte en geblokkeerde woordenlijsten daalt het succespercentage van woordenboekaanvallen drastisch, terwijl brute-force scenario's praktisch onhaalbaar worden voor accounts die online zijn afgeschermd door lockout-instellingen; tegelijkertijd sluit de maatregel naadloos aan op Nederlandse compliance-eisen zoals de BIO, waardoor bestuurders kunnen aantonen dat authenticatiemiddelen robuust zijn ontworpen ondanks het blijvende risico van menselijke fouten.

Implementatie

De instelling "Password must meet complexity requirements" zorgt ervoor dat elk nieuw of gewijzigd wachtwoord automatisch minimaal één hoofdletter, één kleine letter, één cijfer en één speciaal teken bevat en geen segmenten van de gebruikersnaam of displaynaam overneemt, zodat een modern basisniveau ontstaat dat in combinatie met veertien of meer tekens en een actuele lijst met verboden wachtwoorden een duurzame verdediging levert.

Vereisten

Het afdwingen van wachtwoordcomplexiteit lijkt een eenvoudige schakelaar, maar binnen de Nederlandse Baseline voor Veilige Cloud vraagt het om een grondige analyse van het landschap waarin de maatregel landt. Inventariseer welke domeinen, organisatorische eenheden en beheerde werkstations onder het centrale beleid vallen en welke uitzonderingen, zoals laboratoria, onderzoeksnetwerken of tijdelijke projectomgevingen, buiten scope moeten blijven om bedrijfskritische processen niet abrupt te verstoren. Betrek zowel de centrale IT-organisatie als functioneel beheerders van ketenpartners, zodat duidelijk is waar de verantwoordelijkheid ligt voor het testen en vrijgeven van het GPO en hoe afwijkingen worden geregistreerd en goedgekeurd.

Een stabiele Active Directory-infrastructuur is een harde voorwaarde. Domeincontrollers moeten draaien op ondersteunde versies van Windows Server, beschikken over consistente tijdsynchronisatie en een gezond replicatieproces zodat het wachtwoordbeleid overal tegelijk actief wordt. Controleer of het functionele niveau het gebruik van fine-grained password policies ondersteunt, of de Default Domain Policy niet eerder is aangepast via ongecontroleerde scripts en of er geen legacy registry-tweaks bestaan die complexiteitsinstellingen overschrijven. Documenteer eveneens welke wachtwoordfiltermodules of externe identity-oplossingen aanwezig zijn, omdat die aanvullende eisen kunnen afdwingen of juist conflicten kunnen veroorzaken.

In hybride omgevingen speelt Microsoft Entra ID (voorheen Azure AD) een net zo belangrijke rol als de on-premises directory. Accounts die via cloud-only Conditional Access worden beschermd, moeten dezelfde basiseisen krijgen als domeingebonden accounts, zodat servicedesks geen dubbele voorlichting hoeven te geven. Controleer of Azure AD Password Protection is ingeschakeld, of geblokkeerde wachtwoorden de Nederlandse taalvarianten van veelgebruikte termen bevatten en of selfservice-wachtwoordreset scenario's het complexiteitsbeleid duidelijk communiceren. Besteed speciale aandacht aan gedeelde mailboxen, dienstaccounts en service principals en breng in kaart welke daarvan naar beheerde identiteiten kunnen worden omgezet om het aantal resterende wachtwoorden te beperken.

Operationele teams moeten beschikken over de juiste tooling en bevoegdheden om wijzigingen door te voeren. Zorg dat de Group Policy Management Console, Advanced Group Policy Management en eventueel benodigde PowerShell-modules op beheerwerkstations zijn bijgewerkt en dat wijzigingsvensters zijn afgestemd met het Security Operations Center. Parallel hieraan moeten communicatie- en opleidingsmaterialen worden voorbereid: denk aan Nederlandse voorbeeldzinnen voor wachtwoordzinnen, uitleg over wachtwoordmanagers en werkinstructies voor medewerkers die via kiosken, VDI of gedeelde accounts functioneren. Zonder die voorbereiding leidt het beleid tot een golf aan resetverzoeken die de servicedesk belast en de acceptatie schaadt.

Tot slot horen governance- en auditvereisten in het voorbereidingspakket. Leg vast in het beveiligingsbeleid hoe de organisatie motiveert dat complexiteitsvereisten voldoen aan BIO 09.02 en hoe afwijkingen worden beoordeeld door de CISO of het Change Advisory Board. Richt toegangsbeheerdossiers in waarin per applicatie staat welke authenticatiemethode geldt, hoe wachtwoorden worden opgeslagen of geautomatiseerd en hoe gebruikers worden ondersteund bij het kiezen van sterke wachtwoordzinnen. Beschrijf bovendien hoe toekomstige wijzigingen, bijvoorbeeld een verhoging van de minimale lengte of een overgang naar passkeys, worden gepland zodat de naleving van de Nederlandse Baseline voor Veilige Cloud aantoonbaar blijft.

Werk tenslotte een duidelijke stakeholderkaart uit. Benoem wie proceseigenaar is voor identity en access management, welke teams verantwoordelijk zijn voor endpointbeheer, hoe ketenpartners worden geïnformeerd en op welke momenten ondernemingsraden of privacy officers moeten worden geraadpleegd. Die voorbereiding voorkomt discussies tijdens audits en zorgt ervoor dat de invoering van wachtwoordcomplexiteit niet wordt gezien als een geïsoleerde technische wijziging, maar als een integraal onderdeel van volwassen toegangsbeveiliging binnen de Nederlandse publieke sector.

Implementatie

Gebruik PowerShell-script password-complexity-enabled.ps1 (functie Invoke-Implementation) – Implementeren.

Start met een gecontroleerde wijziging in de Group Policy Management Console en borg dat de aangeleverde PowerShell-implementatie uit de code-directory dezelfde instellingen configureert als de handmatige stappen. Maak een dedicated GPO voor wachtwoordcomplexiteit binnen de domeinstructuur die door change- en releasebeheer is goedgekeurd, koppel het beleid eerst aan een pilot-OU en voer een Resultant Set of Policy-analyse uit op testwerkstations en -servers. Door de scriptgedreven aanpak te combineren met handmatige validatie waarborgt de organisatie dat de instelling consistent wordt uitgerold, inclusief logging in het wijzigingsdossier.

Wanneer de pilot stabiel draait, koppel je de GPO aan hogere organisatorische eenheden en gebruik je beveiligingsfilters of WMI-filters uitsluitend wanneer ze aantoonbaar nodig zijn. In de instellingen navigeer je naar Computer Configuration → Windows Settings → Security Settings → Account Policies → Password Policy en zet je "Password must meet complexity requirements" op Enabled, waarbij tegelijkertijd de minimale lengte op veertien tekens of hoger staat en de maximale geldigheidsduur, account lockout en historische onthouding aansluiten op het bredere wachtwoordbeleid. Leg iedere configuratie vast in de configuration management database zodat auditors de herkomst en status van het beleid kunnen controleren.

Besteed daarna aandacht aan afhankelijkheden. Controleer of er fine-grained password policies bestaan die mogelijk afwijken van het domeinbeleid en bepaal of deze moeten worden samengevoegd of expliciet behouden. Integreer de complexiteitsinstelling met Azure AD Password Protection door het custom banned password-bestand te actualiseren met Nederlandstalige varianten van bedrijfsnamen, jaartallen en veelgebruikte patronen. Voor accounts die door applicaties of diensten worden gebruikt, beschrijf je welke uitzonderingen geldig zijn en hoe deze worden gemonitord, zodat serviceaccounts niet onbedoeld het strengste beleid activeren en daarmee processen onderbreken.

Voer voor de brede uitrol een communicatiecampagne uit waarin medewerkers leren hoe ze wachtwoordzinnen kunnen samenstellen en hoe een wachtwoordmanager of Windows Hello for Business hun dagelijks werk kan vereenvoudigen. Gebruik intranetartikelen, korte video's en teamsessies waarin concrete Nederlandse voorbeelden centraal staan, zodat de abstracte eis "complexiteit" wordt vertaald naar begrijpelijk gedrag. Koppel daarnaast training voor servicedeskmedewerkers aan scenario's waarin gebruikers tijdelijk worden uitgezonderd en leg uit hoe het PowerShell-script kan worden ingezet om te controleren of werkstations de beleidsinstellingen daadwerkelijk ontvangen.

Sluit de implementatie af met een technische en organisatorische check. Technisch controleer je via `Get-ADDefaultDomainPasswordPolicy` en `net accounts` of de instelling actief is, voer je een security baseline-scan uit met Microsoft Defender for Endpoint en borg je dat SIEM-regels wijzigingen aan de relevante registry-waarden detecteren. Organisatorisch bevestig je in het CAB-verslag dat de maatregel operationeel is en dat lessons learned zijn verwerkt voor toekomstige authenticatiemaatregelen, bijvoorbeeld het uitfaseren van wachtwoorden richting passkeys of FIDO2. Hiermee wordt de implementatie aantoonbaar en herhaalbaar.

Leg tot slot indicatoren vast waarmee succes meetbaar wordt gemaakt. Denk aan het percentage gebruikers dat overstapt op wachtwoordzinnen van minimaal zestien tekens, het aantal resetverzoeken per maand en het aantal SOC-meldingen dat is terug te voeren op mislukte wachtwoordwijzigingen. Door die indicatoren te delen binnen het beveiligingsberaad ontstaat draagvlak voor vervolgstappen, zoals het invoeren van passwordless authenticatie of het verplicht stellen van beheerde wachtwoordkluizen voor administratieve accounts.

Compliance

Het afdwingen van wachtwoordcomplexiteit is een directe invulling van BIO 09.02, waar wordt geëist dat toegangsbeveiliging gebaseerd is op sterke authenticatiemiddelen die gedurende de gehele levenscyclus beheersbaar blijven. De maatregel ondersteunt eveneens de AVG, omdat organisaties aan verwerkingsverantwoordelijken kunnen aantonen dat passende technische en organisatorische maatregelen zijn genomen om ongeoorloofde toegang tot persoonsgegevens te voorkomen. Binnen ISO/IEC 27001 sluit de configuratie aan op controle A.9.4.3 voor wachtwoordbeheer en A.9.2.4 voor beheer van toegangsrechten, terwijl het NIST 800-53 raamwerk in controle IA-5 voorschrijft dat organisaties duidelijke kwaliteitseisen stellen aan geheimen die worden gebruikt voor verificatie. Ook het CIS Windows Benchmark niveau 1 benoemt de instelling expliciet en verwacht dat auditoren bewijs zien van een geautomatiseerde controle en een formeel reviewproces. Door in auditdossiers op te nemen hoe het beleid is gecommuniceerd, hoe uitzonderingen worden vastgesteld en hoe Azure AD Password Protection dezelfde terminologie hanteert, ontsluiten Nederlandse overheidsorganisaties een volledig controleerbare keten van beleid, uitvoering en monitoring.

Monitoring

Gebruik PowerShell-script password-complexity-enabled.ps1 (functie Invoke-Monitoring) – Controleren.

Monitoring voorkomt dat afwijkingen sluipenderwijs ontstaan door noodwijzigingen, verouderde images of slecht beheerde testomgevingen. Automatiseer daarom een dagelijkse controle met het meegeleverde PowerShell-script of een Desired State Configuration-profiel dat het centrale domeinbeleid uitleest en vergelijkt met telemetrie van endpoints. Combineer deze technische check met rapportages uit Microsoft Defender for Identity of Entra ID Protection, zodat verdachte aanmeldingen met eenvoudige wachtwoorden direct worden herkend en escalaties kunnen plaatsvinden voordat een aanvaller laterale beweging uitvoert.

Zorg ervoor dat Security Operations inzicht heeft in alle gebeurtenissen rond wachtwoordbeleid. Verzamel eventloggegevens van domeincontrollers (bijvoorbeeld Security-events 4723 en 4724) en configureer SIEM-regels die een waarschuwing genereren wanneer binnen korte tijd uitzonderlijk veel wachtwoordwijzigingen mislukken, omdat dit kan wijzen op scripts die zwakke wachtwoorden proberen te registreren. Documenteer hoe SOC-analisten onderscheid maken tussen gebruikers die worstelen met de complexiteitseisen en daadwerkelijke brute-force acties, bijvoorbeeld door correlatie met geolocatiegegevens en indicatoren van compromittering.

Naast technische signalering is governance-monitoring onmisbaar. Plan periodieke controles waarin identitybeheerders steekproefsgewijs nagaan of uitzonderingsgroepen nog nodig zijn en of tijdelijke verslappingen inmiddels zijn teruggedraaid. Combineer die controles met awareness-metingen, bijvoorbeeld korte enquêtes onder medewerkers om te toetsen of het beleid begrijpelijk is en of zij ondersteuning ontvangen bij het gebruik van wachtwoordmanagers. De resultaten worden opgenomen in het kwartaalrapport aan de CISO, zodat duidelijk is hoe de maatregel bijdraagt aan de bredere doelstellingen van de Nederlandse Baseline voor Veilige Cloud.

Tot slot hoort monitoring van toekomstige ontwikkelingen bij dit onderwerp. Houd bij wanneer Microsoft nieuwe functionaliteit oplevert, zoals verbeterde passkey-integraties of aanvullende tekenklassen, en plan hoe die innovaties in de eigen tenant worden getest. Door een roadmap te onderhouden waarop zowel traditionele wachtwoorden als moderne authenticatietechnieken staan, blijft het beleid toekomstvast en kunnen auditors zien dat de organisatie continu investeert in sterke toegangsbeveiliging.

Documenteer alle monitoringsresultaten in een centraal register waarin bevindingen worden gecategoriseerd naar ernst, oorzaak en genomen acties. Dit register vormt de input voor het kwartaaloverleg met privacy officers, FG's en de Chief Information Security Officer en biedt inzicht in trends, zoals stijgende aantallen resets na migraties of verbeteringen door aanvullende training. Op die manier ontstaat een sluitende PDCA-cyclus rondom wachtwoordcomplexiteit.

Remediatie

Gebruik PowerShell-script password-complexity-enabled.ps1 (functie Invoke-Remediation) – Herstellen.

Wanneer monitoring aantoont dat een organisatieonderdeel afwijkt van het beleid, moet de herstelprocedure direct worden gestart en volledig worden vastgelegd. Gebruik het script om de actuele instellingen op te halen, corrigeer de GPO-configuratie en forceer een `gpupdate /force` op de betrokken systemen zodat de wijziging onmiddellijk wordt toegepast. Controleer daarna via Resultant Set of Policy-rapportages of de instelling "Password must meet complexity requirements" daadwerkelijk actief is en leg screenshots of exports vast als auditbewijs.

Technische remediatie alleen is onvoldoende; achterhaal altijd de oorzaak van de afwijking. Was er een noodpatch die per ongeluk de Default Domain Policy overschreef, is er een image uitgerold met een verouderde lokale beveiligingsdatabase, of heeft een beheerder met lokale administratorrechten de instelling aangepast voor testdoeleinden? Documenteer de root-cause in het incident- of probleemrecord en wijs verbetermaatregelen toe, zoals het aanscherpen van changeprocedures of het uitsluiten van directe productieaanpassingen buiten kantooruren.

Communiceer de remediatie naar de betrokken business-eigenaren en licht toe welke tijdelijke risico's zijn ontstaan. Leg uit hoe lang systemen zonder complexiteitscontrole actief zijn geweest, welke gebruikersgroepen zijn geraakt en welke aanvullende maatregelen (bijvoorbeeld geforceerde wachtwoordresets) nodig zijn om de risico's te mitigeren. Door deze transparantie behouden bestuurders vertrouwen in de beveiligingsorganisatie en kan worden aangetoond dat de Nederlandse Baseline voor Veilige Cloud serieus wordt nageleefd.

Evalueer na iedere herstelactie of structurele verbeteringen nodig zijn. Overweeg het automatiseren van remediatie via Azure Automation, Microsoft Intune Remediations of Configuration Manager, zodat afwijkingen snel en reproduceerbaar worden gecorrigeerd. Neem lessen op in het verbeterplan voor identity- en toegangsbescherming, bijvoorbeeld door passkeys te introduceren, gestolen wachtwoorden te blokkeren met Entra ID Protection of door privileged access workstations verplicht te stellen. Op die manier groeit de organisatie van reactieve troubleshooting naar proactieve verankering van sterke authenticatie.

Bewaar alle herstelbewijzen minimaal zeven jaar in lijn met de afspraken uit het auditdossier, inclusief change-verzoeken, screenshotmateriaal en eventueel correspondence met ketenpartners. Zo kan bij toekomstige inspecties worden aangetoond dat afwijkingen tijdig zijn rechtgezet en dat lessons learned aantoonbaar leiden tot verbeterde processen.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# ================================================================================ POWERSHELL SCRIPT - Nederlandse Baseline voor Veilige Cloud ================================================================================ .SYNOPSIS GPO: wachtwoordcomplexiteit ingeschakeld .DESCRIPTION Implementeert, monitort en herstelt: GPO: wachtwoordcomplexiteit ingeschakeld .NOTES Filename: password-complexity-enabled.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Workload: gpo Category: windows-client #> #Requires -Version 5.1 [CmdletBinding()] param() $ErrorActionPreference = 'Stop' function Invoke-Implementation { <# .SYNOPSIS Implementeert de configuratie #> [CmdletBinding()] param() Write-Host "[INFO] Invoke-Implementation - GPO: wachtwoordcomplexiteit ingeschakeld" -ForegroundColor Cyan Invoke-Remediation } function Invoke-Monitoring { <# .SYNOPSIS Controleert de huidige configuratie status #> [CmdletBinding()] param() try { Write-Host " ========================================" -ForegroundColor Cyan Write-Host "GPO: wachtwoordcomplexiteit ingeschakeld - Monitoring" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan # TODO: Implementeer monitoring logica voor GPO: wachtwoordcomplexiteit ingeschakeld Write-Host "[INFO] Monitoring check voor GPO: wachtwoordcomplexiteit ingeschakeld" -ForegroundColor Yellow Write-Host "[OK] Monitoring check completed" -ForegroundColor Green } catch { Write-Error "Monitoring failed: $_" throw } } function Invoke-Remediation { <# .SYNOPSIS Herstelt de configuratie naar de gewenste staat #> [CmdletBinding()] param() try { Write-Host " ========================================" -ForegroundColor Cyan Write-Host "GPO: wachtwoordcomplexiteit ingeschakeld - Remediation" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan # TODO: Implementeer remediation logica voor GPO: wachtwoordcomplexiteit ingeschakeld Write-Host "[INFO] Remediation voor GPO: wachtwoordcomplexiteit ingeschakeld" -ForegroundColor Yellow Write-Host "[OK] Remediation completed" -ForegroundColor Green } catch { Write-Error "Remediation failed: $_" throw } }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder complexiteitsvereisten blijven eenvoudige wachtwoorden als "Welkom2024" of variaties op de organisatienaam in omloop, waardoor woordenboekaanvallen en credential stuffing binnen seconden succes hebben en een aanvaller zonder bijzondere middelen toegang kan verkrijgen tot vertrouwelijke gegevens; bovendien kan de organisatie niet aantonen dat zij voldoet aan BIO 09.02, CIS Windows Benchmark en NIST IA-5, wat het risico op toezichtmaatregelen en reputatieschade vergroot.

Management Samenvatting

Schakel het beleid "Password must meet complexity requirements" in via Computer Configuration → Windows Settings → Security Settings → Account Policies en combineer dit met een minimale lengte van veertien tekens, een geblokkeerde wachtwoordenlijst en heldere communicatie richting gebruikers; daarmee ontstaat een verdedigingslinie tegen woordenboekaanvallen die direct aansluit op de Nederlandse Baseline voor Veilige Cloud en binnen één change-venster is uit te rollen.