jan-karel.nl
Home / Securitymaatregelen / Netwerk & Active Directory / Active Directory Hardening

Active Directory Hardening

Active Directory Hardening

AD Zonder Eeuwige Adminrechten

In netwerkbeveiliging wint structuur van improvisatie: duidelijke paden, minder privileges en expliciete trust-grenzen.

Bij Active Directory Hardening levert privilege-opruiming en trust-hygiene de grootste reductie van impact op.

Zo beperk je niet alleen de kans op incidenten, maar vooral ook de omvang en duur als er iets misgaat.

Directe maatregelen (15 minuten)

Waarom dit telt

De kern van Active Directory Hardening is risicoreductie in de praktijk. Technische context ondersteunt de maatregelkeuze, maar implementatie en borging staan centraal.

AD Verdediging: Kernmaatregelen

ACL Auditing

Maatregel Implementatie
ACL monitoring Event ID 5136 (Directory Service Changes) in SIEM
Privileged group monitoring Event ID 4728, 4732, 4756 (groepslidmaatschap)
AdminSDHolder Automatische ACL-reset op protected groups
Tiered administration Aparte admin-accounts per tier

DCSync Preventie

Maatregel Implementatie
Beperk replication rechten Alleen DC computer accounts
Monitor replicatie Event ID 4662 met Replicating GUIDs
Network segmentatie DCs in apart VLAN, alleen noodzakelijk verkeer
Credential Guard Voorkomt credential theft op endpoints

Trust Hardening

Maatregel Implementatie
SID Filtering Inschakelen op alle trusts
Selective Authentication Beperk cross-forest toegang tot specifieke accounts
Trust audit Regelmatig alle trusts reviewen op noodzaak
Quarantine policy Nieuwe forests standaard in quarantaine

SQL Server Hardening

Maatregel Implementatie
Least privilege service accounts gMSA’s in plaats van domain accounts
xp_cmdshell uitschakelen En monitor op herinschakeling
Linked servers minimaliseren Verwijder onnodige links
SMB signing vereisen Voorkomt NTLM relay
SQL Server audit C2 audit logging inschakelen

Group Policy Preferences (GPP) Hardening

In 2014 publiceerde Microsoft MS14-025, een patch voor een kwetsbaarheid die al jaren bekend was maar die niemand serieus nam: Group Policy Preferences sloeg wachtwoorden op in SYSVOL, versleuteld met een AES-key die Microsoft zelf had gepubliceerd in hun documentatie. Elke domain user kon de XML-bestanden lezen en de wachtwoorden decrypten met tools als Get-GPPPassword.

Maatregel Implementatie
GPP-wachtwoorden verwijderen Zoek en verwijder alle cpassword-attributen in SYSVOL XML-bestanden
LAPS implementeren Local Administrator Password Solution vervangt GPP voor lokale admin wachtwoorden
SYSVOL permissions Beperk leesrechten op SYSVOL tot wat strikt noodzakelijk is
MS14-025 verifiëren Controleer dat de KB2962486 patch is geïnstalleerd op alle DCs
Monitoring Monitor Event ID 4663 (object access) op Groups.xml, Services.xml, ScheduledTasks.xml in SYSVOL
# Zoek naar GPP-wachtwoorden in SYSVOL
Get-ChildItem -Path "\\$env:USERDNSDOMAIN\SYSVOL" -Recurse -Include "Groups.xml","Services.xml","ScheduledTasks.xml","DataSources.xml","Drives.xml","Printers.xml" |
  Select-String -Pattern "cpassword" |
  ForEach-Object { Write-Warning "GPP wachtwoord gevonden: $($_.Path)" }

# LAPS installatie verificatie
Get-ADComputer -Filter * -Properties ms-Mcs-AdmPwd |
  Where-Object { $_.'ms-Mcs-AdmPwd' -eq $null } |
  Select-Object Name | Format-Table -AutoSize
# Computers zonder LAPS-wachtwoord zijn kwetsbaar

Het cynische slotwoord

“Weet je wat het echte probleem is met Active Directory? Het is niet dat het onveilig is. Het is dat het precies zo veilig is als de mensen die het beheren. En dat zijn dezelfde mensen die hun wifi-wachtwoord instellen op ‘Welkom01!’ en dan verbaasd zijn dat de buurman hun Netflix gebruikt.

Active Directory is een Ferrari. Een prachtige machine, vol vermogen, met duizend knoppen en hendels. En wij geven de sleutel aan iemand die net zijn rijbewijs heeft gehaald en zeggen: ‘Hier, beheer dit even voor tienduizend gebruikers.’ En dan zijn we verrast als hij ergens tegenaan rijdt.

Het mooiste vind ik nog de trust-relaties. ‘Wij vertrouwen dit andere domein.’ Waarom? ‘Omdat ze het vroegen.’ Geweldig. Laten we dat principe ook toepassen op het echte leven. ‘Meneer de bankier, ik vertrouw deze persoon, kunt u hem toegang geven tot mijn kluis?’ ‘Maar meneer, wie is deze persoon?’ ‘Geen idee, maar hij draagt een stropdas, dus het zal wel goed zitten.’

En weet je wat het allerergste is? Als je een pentest doet en al deze dingen vindt, en je schrijft het op in een rapport, dan zegt de klant: ‘Ja maar dat wisten we al, we hadden alleen nog geen tijd om het op te lossen.’ GEEN TIJD. Alsof beveiliging iets is dat je doet als je een rustig weekendje hebt. ‘Schat, zullen we dit weekend de tuin doen, of zullen we voorkomen dat onze hele IT-infrastructuur overgenomen wordt door een willekeurige persoon met een PowerShell-script?’ Hmm, lastige keuze.”

AD Verdedigingsboom

Deze boom toont hoe Active Directory-aanvallen zich vertakken vanuit een gewone domain user. De linkerkant focust op ACL-misbruik en DCSync – het klassieke pad. De rechterkant toont de SQL Server-route die vaak over het hoofd gezien wordt maar even effectief kan zijn.

In de praktijk zijn de paden niet zo gescheiden. Een UNC Path Injection geeft je een hash die je kunt kraken of relayen. Een Kerberoast-hash leidt naar een service account dat wellicht GenericAll heeft op een ander object. Graph-gebaseerde analyse maakt afhankelijkheden en risicopaden inzichtelijk.

Historische Context: Hoe We Hier Gekomen Zijn

De geschiedenis van Active Directory is een verhaal van goede bedoelingen en onvoorziene gevolgen – en het is fascinerend.

In de jaren negentig beheerde elke Windows-server zijn eigen gebruikers- database (SAM). Als je tien servers had, had je tien aparte gebruikers- lijsten. Het was chaos. Microsoft’s oplossing was Windows NT 4.0 met domain controllers – een centrale database voor alle gebruikers. Maar NT-domeinen waren plat: geen hiërarchie, geen delegatie, geen fijnmazige rechten.

In 2000 kwam Active Directory, gebaseerd op LDAP en Kerberos. Het was revolutionair. Plotseling kon je een hiërarchie van domeinen opzetten, rechten delegeren aan specifieke OUs, en beleid afdwingen via Group Policy. Het was alsof je van een dorpsplein met een megafoon overging naar een heel bestuursapparaat met ministeries, departementen en ambtenaren.

Het probleem? Diezelfde complexiteit werd een aanvalsoppervlak. Elke feature – trusts, delegation, ACLs, GPOs, replicatie – was een potentiele aanvalsvector. En de standaardinstellingen waren gericht op functionaliteit, niet op beveiliging.

Vijfentwintig jaar later zitten we met de gevolgen. De meeste Active Directory-omgevingen zijn organisch gegroeid, beheerd door wisselende teams, en nooit fundamenteel opgeschoond. Het is alsof je een stad hebt die in de loop der eeuwen is uitgebreid zonder ooit een stadsplan te maken. De wegen zijn kronkelig, de bebording is inconsistent, en er staan gebouwen die niemand meer gebruikt maar die ook niemand durft af te breken.

George zou zeggen: “Active Directory is vijfentwintig jaar oud. In mensjaren is dat een kwart eeuw. In IT-jaren is dat een geologisch tijdperk. En toch vertrouwen we er de beveiliging van onze hele infrastructuur aan toe. Dat is alsof je in 2026 nog steeds een slot op je voordeur hebt uit 2000. Een slot dat iedereen kent, waar YouTube-tutorials over bestaan, en waarvoor de loper te koop is op Amazon voor 9,95 euro inclusief verzending.”

Volgende hoofdstuk: Kerberos Aanvallen – waar we het authenticatieprotocol ontleden dat vernoemd is naar een driekoppige hellehond, en ontdekken dat zelfs mythologische bewakers niet opgewassen zijn tegen creatieve aanvallers met een PowerShell-prompt.

Op de hoogte blijven?

Ontvang maandelijks cybersecurity-inzichten in je inbox.

← Netwerk & Active Directory ← Home