Het beheren van Active Directory-beveiliging kan soms behoorlijk lastig zijn, vooral wanneer je beseft dat er accounts met lege wachtwoorden rondslingeren. Zelfs met een streng wachtwoordbeleid is er altijd een manier om een gebruiker met een leeg wachtwoord toe te voegen als je niet oplet. Dit is niet algemeen bekend en wordt gemakkelijk over het hoofd gezien. Weten hoe je deze verborgen accounts kunt opsporen en voorkomen dat ze een beveiligingslek vormen, is cruciaal, met name in grotere domeinen waar één zwakke plek al grote problemen kan veroorzaken.
Als gebruikers of beheerders dit PASSWD_NOTREQDattribuut hebben ingeschakeld – vaak door het bitmasker van userAccountControl te manipuleren – kunnen ze in principe de wachtwoordvereisten omzeilen. Dat is iets wat er makkelijk doorheen kan glippen als je niet oplet. Je ziet het probleem misschien pas als het te laat is, dus deze stappen kunnen je helpen om accounts in de gaten te houden die mogelijk onveilig geconfigureerd zijn en om die instelling indien nodig uit te schakelen.
Hoe u gebruikers met lege wachtwoorden in Active Directory kunt identificeren en corrigeren
Hoe controleer je accounts met de optie ‘PasswordNotRequired’ ingeschakeld?
Dit onderdeel is handig, omdat het nogal vreemd is dat het userAccountControlattribuut veel vlaggen opslaat, waaronder of een wachtwoord vereist is of niet. Als je vermoedt dat sommige accounts deze vlag hebben ingeschakeld (wat betekent dat er geen wachtwoord nodig is), kun je met een snelle PowerShell-opdracht achterhalen welke accounts dit hebben ingeschakeld. Dit is vooral handig als je zwakke accounts in de gaten wilt houden, met name als je verdachte aanmeldingen ziet of gewoon de beveiliging wilt aanscherpen.
Open PowerShell als beheerder en voer een commando zoals dit uit:
Get-ADUser -Filter {PasswordNotRequired -eq $true} -Properties LastLogonTimestamp, PasswordNotRequired | ft SamAccountName, enabled, PasswordNotRequired, @{n='LastLogon';e={[DateTime]::FromFileTime($_. LastLogonTimestamp)}}
Met dit commando worden alle gebruikers opgehaald waar PasswordNotRequired is ingesteld op true. Als u hier onverwachte accounts ziet, is het de moeite waard om dit te onderzoeken. Soms, op oudere domeinen of door verkeerde configuraties, is deze vlag per ongeluk of opzettelijk ingesteld door beheerders die niet aan de beveiligingsgevolgen hebben gedacht.
Hoe schakel ik de instelling ‘PasswordNotRequired’ uit en forceer ik een wachtwoordreset?
Als je accounts vindt waar deze instelling is ingeschakeld, is het meestal een goed idee om deze uit te schakelen en de gebruiker te dwingen een nieuw wachtwoord in te stellen. Dat kun je doen met een andere PowerShell-opdracht, bijvoorbeeld:
Get-ADUser -Identity username | Set-ADUser -PasswordNotRequired $false -ChangePasswordAtLogon $true
Vervang dit usernamedoor de daadwerkelijke accountnaam die u wilt beveiligen. Doe dit voor elk account dat u wilt beveiligen, of maak een script als u veel risicovolle accounts ziet. Dit voorkomt dat nieuwe accounts inloggen met lege wachtwoorden en vraagt om een veilig wachtwoord bij de volgende aanmelding.
Aan de grafische gebruikersinterface (GUI) kunt u Active Directory-gebruikers en -computers openen, de gebruiker zoeken, met de rechtermuisknop klikken, Wachtwoord opnieuw instellen kiezen en de wachtwoordvelden leeg laten om te zien wat er gebeurt. Maar let op: als u dit doet terwijl ‘Wachtwoord niet vereist’ is ingeschakeld, wordt het account bruikbaar zonder wachtwoord, wat een ramp kan zijn als u niet voorzichtig bent.
Zolang deze accounts niet zijn opgeschoond, vormen ze een reëel beveiligingsrisico, omdat iemand met domeinbeheerdersrechten – of zelfs gedelegeerde rechten – nog steeds wachtwoorden kan resetten en dit lek kan misbruiken. Houd dit dus in de gaten en zorg ervoor dat de standaardbeleidsregels worden toegepast, zodat de kans op configuratiefouten minimaal is.
Laatste controles en het veilig bewaren van alles.
In sommige omgevingen is deze hele configuratie mogelijk een overblijfsel van oude beheerders of vergeten scripts. Het is raadzaam om periodieke audits van uw gebruikers uit te voeren met dit PowerShell-fragment en de vlag PasswordNotRequired uit te schakelen, tenzij daar een zeer goede reden voor is. Windows maakt de beveiliging immers nu eenmaal iets ingewikkelder dan nodig is. Door dit te doen, voorkomt u dat iemand met een leeg wachtwoord toegang krijgt tot cruciale systemen.