Beveiliging Domain Controllers
Ik heb gekeken naar de beveiliging van domain controllers. In deze post som ik mijn persoonlijke top 10 aandachtspunten op. Wanneer deze punten de nodige aandacht krijgen bij het inrichten van een op Active Directory gebaseerde omgeving, kan de beveiliging naar een hoog niveau worden gebracht.
De volgende 10 punten zijn belangrijk om een op Active Directory gebaseerd omgeving veilig in te richten.
1. Maximale protocolversleuteling implementeren:
- Afdwingen van sterke versleutelingsalgoritmen zoals AES-256 om de vertrouwelijkheid en integriteit van het netwerkverkeer te waarborgen.
2. Uitschakelen van NTLM-authenticatie:
- NTLM-authenticatie uitschakelen en vertrouwen op het veiliger Kerberos-authenticatieprotocol om de kans op aanvallen zoals Pass the Hash (PtH) te verminderen.
3. Gebruik van Kerberos-authenticatie:
- Gebruik maken van Kerberos-authenticatie vanwege de sterkere beveiliging ten opzichte van NTLM.
4. Beperken van gebruikersrechten en privileges:
- Minimaliseren van de hoeveelheid gebruikersrechten en privileges die aan normale gebruikersaccounts worden toegekend om het risico van misbruik of escalatie van privileges te verminderen.
5. Sterke wachtwoordbeleid implementeren:
- Afdwingen van een beleid voor sterke wachtwoorden met lange complexe combinaties van tekens, cijfers en speciale tekens, en regelmatig vereisen van wachtwoordwijzigingen.
6. Beperkte toegang tot DC's instellen:
- Configureren van meerdere Domain Controllers (DC's) waarbij gebruikers alleen kunnen authenticeren tegenover read-only domain controllers (RODC's).
- Plaatsen van DC's in aparte VLAN's en alleen de hoogstnodige poorten openen voor toegang tot RODC's om netwerksegmentatie te bereiken.
7. Patchmanagement en regelmatige updates:
- Regelmatig bijwerken van het besturingssysteem, applicaties en beveiligingspatches om bekende kwetsbaarheden te verhelpen en te voorkomen dat aanvallers hiervan misbruik maken.
8. Monitoring en periodieke audits uitvoeren:
- Monitoren van het netwerkverkeer en activiteiten op DC's voor verdachte patronen.
- Regelmatig uitvoeren van beveiligingsaudits om de effectiviteit van beveiligingsmaatregelen te controleren.
9. Endpointbeveiliging en antivirussoftware:
- Installatie en regelmatige update van antivirussoftware op endpoints om te beschermen tegen malware en kwaadaardige software die mogelijk de Active Directory-infrastructuur kan compromitteren.
10. Netwerkbeveiliging en firewalls:
- Implementeren van netwerkfirewalls en andere beveiligingsapparaten om het netwerkverkeer te controleren en te beperken, en om verdachte activiteiten te detecteren en te blokkeren.
Aanvulling
Naast de onderstaande punten zijn er nog meer aandachtspunten, zoals het regelmatig opnieuw instellen van het wachtwoord of de sleutels van het KrbTgt-account. Dit kan worden gedaan met behulp van een PowerShell-script:
- https://www.alitajran.com/krbtgt-password-reset/
- https://jorgequestforknowledge.wordpress.com/2023/03/04/powershell-script-to-reset-the-krbtgt-account-password-keys-for-both-rwdcs-and-rodcs-update-7/
- https://github.com/zjorz/Public-AD-Scripts/blob/master/Reset-KrbTgt-Password-For-RWDCs-And-RODCs.ps1
Bronvermelding (relevante artikelen)
Ik heb de volgende bronnen geraadpleegd:
- https://learn.microsoft.com/en-us/windows-server/security/kerberos/kerberos-constrained-delegation-overview
- https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/network-security-configure-encryption-types-allowed-for-kerberos
- https://www.linkedin.com/pulse/enforcing-aes-256-bit-encryption-domain-valentin-komarovskiy-mba/
- https://www.calcomsoftware.com/kerberos-attacks-all-you-need-to-know/
- https://wiki.samba.org/index.php/Hardening_Samba_as_an_AD_DC
- https://samba.tranquil.it/doc/en/samba_advanced_methods/samba_advanced_methods.html
- https://www.semperis.com/blog/top-active-directory-hardening-strategies/
- https://www.semperis.com/blog/active-directory-security/active-directory-security-best-practices-checklist/