ADMIN

2024

05

2024-04-29T12:00:00

Zero Trust

SCHWERPUNKT

080

Sicherheit

Domaincontroller

Domaincontroller-Sicherheit optimieren

Wasserdichtes Active Directory

von Thomas Joos

Veröffentlicht in Ausgabe 05/2024 - SCHWERPUNKT

Das Active Directory ist eine der sensibelsten Strukturen im Netzwerk und es ist unbedingt darauf zu achten, dass die Sicherheitseinstellungen auf Domaincontrollern richtig gesetzt sind. Doch die dafür zuständige Default Domain Controller Policy bringt nur rudimentäre Konfigurationen mit, die oft nicht mehr den erforderlichen Schutz bieten. Daher zeigt dieser Workshop, wie sich die Sicherheit mithilfe von Microsoft-Baselines und dem kostenlosen Policy Analyzer optimieren lässt.

Domaincontroller (DC) sind ein zentrales Element der Netzwerkarchitektur, da sie die Authentifizierung und Autorisierung von Benutzeridentitäten und Computern in einer Windows-Domäne verwalten. Häufig kommt eine Synchronisation mit Entra ID hinzu. Diese zentrale Rolle macht sie zu einem bevorzugten Ziel für Hacker und Cyberkriminelle. Angriffe auf DCs können durch eine Vielzahl von Methoden erfolgen. Dazu zählen beispielsweise Attacken, Pass-the-Hash-Techniken, Ausnutzung von Software-Schwachstellen und Bedrohungen durch Insider.
Ein kompromittierter DC ermöglicht Angreifern potenziell weitreichenden Zugriff auf das Netzwerk, einschließlich der Möglichkeit, Benutzerkonten zu manipulieren, Richtlinien zu ändern, Zugriffsrechte zu eskalieren und sensible Daten zu stehlen. Darüber hinaus ist die Integrität der im Netzwerk gespeicherten Daten in Gefahr, da Angreifer in der Lage sind, diese zu manipulieren oder zu löschen. Aus diesem Grund sollten IT-Verantwortliche ihre DCs so gut wie möglich absichern, ebenso wie die Server und Workstations, die auf die Domaincontroller zugreifen. Das freie Security Compliance Toolkit (SCT) [1] von Microsoft stellt dazu eine wichtige Grundlage dar.
Empfehlungen zum Absichern von Netzwerken
Die Baselines aus dem SCT beliefern eine Reihe von vorkonfigurierten Sicherheitseinstellungen, die auf Best Practices und Empfehlungen von Experten basieren. Ein wesentlicher Vorteil dieser Sammlung von Einstellungen ist, dass sie eine solide Grundlage für die Sicherheitskonfiguration bieten, wodurch sich die Notwendigkeit, jede Einstellung manuell zu recherchieren und zu konfigurieren, erheblich reduziert. Dies spart Zeit und Ressourcen und stellt gleichzeitig sicher, dass die Systeme gegen bekannte Bedrohungen und Angriffsmethoden resistent sind. Die Baselines erleichtern auch die Einhaltung gesetzlicher und branchenspezifischer Compliance-Anforderungen, indem sie Konfigurationen vorschlagen, die gängigen Sicherheitsstandards und Regelwerken entsprechen.
Domaincontroller (DC) sind ein zentrales Element der Netzwerkarchitektur, da sie die Authentifizierung und Autorisierung von Benutzeridentitäten und Computern in einer Windows-Domäne verwalten. Häufig kommt eine Synchronisation mit Entra ID hinzu. Diese zentrale Rolle macht sie zu einem bevorzugten Ziel für Hacker und Cyberkriminelle. Angriffe auf DCs können durch eine Vielzahl von Methoden erfolgen. Dazu zählen beispielsweise Attacken, Pass-the-Hash-Techniken, Ausnutzung von Software-Schwachstellen und Bedrohungen durch Insider.
Ein kompromittierter DC ermöglicht Angreifern potenziell weitreichenden Zugriff auf das Netzwerk, einschließlich der Möglichkeit, Benutzerkonten zu manipulieren, Richtlinien zu ändern, Zugriffsrechte zu eskalieren und sensible Daten zu stehlen. Darüber hinaus ist die Integrität der im Netzwerk gespeicherten Daten in Gefahr, da Angreifer in der Lage sind, diese zu manipulieren oder zu löschen. Aus diesem Grund sollten IT-Verantwortliche ihre DCs so gut wie möglich absichern, ebenso wie die Server und Workstations, die auf die Domaincontroller zugreifen. Das freie Security Compliance Toolkit (SCT) [1] von Microsoft stellt dazu eine wichtige Grundlage dar.
Empfehlungen zum Absichern von Netzwerken
Die Baselines aus dem SCT beliefern eine Reihe von vorkonfigurierten Sicherheitseinstellungen, die auf Best Practices und Empfehlungen von Experten basieren. Ein wesentlicher Vorteil dieser Sammlung von Einstellungen ist, dass sie eine solide Grundlage für die Sicherheitskonfiguration bieten, wodurch sich die Notwendigkeit, jede Einstellung manuell zu recherchieren und zu konfigurieren, erheblich reduziert. Dies spart Zeit und Ressourcen und stellt gleichzeitig sicher, dass die Systeme gegen bekannte Bedrohungen und Angriffsmethoden resistent sind. Die Baselines erleichtern auch die Einhaltung gesetzlicher und branchenspezifischer Compliance-Anforderungen, indem sie Konfigurationen vorschlagen, die gängigen Sicherheitsstandards und Regelwerken entsprechen.
Allerdings sind die Einstellungen der Default Domain Controller Policy sehr rudimentär und setzen zahlreiche Punkte, die Microsoft wiederum in seinen Security-Baselines empfiehlt, nicht um. Sie erhalten bei einem Vergleich (zu dem wir gleich noch kommen) also ein Übersicht, welche wichtigen Optionen – obwohl von Microsoft empfohlen – nicht gesetzt sind. Grundsätzlich sollten Sie die Security-Baselines von Microsoft in allen Umgebungen umsetzen. Die Standardeinstellungen nach der AD-Installation sind so gewählt, dass sie in allen Landschaften funktionieren. Sie sind jedoch nicht mehr als ein Mindestmaß an Security, was heutzutage schlicht und ergreifend nicht mehr ausreicht.
Microsoft bietet mit seinen SCT-Baselines Sicherheitseinstellungen an, die Sie über Gruppenrichtlinien automatisiert verteilen. Hier gibt es auch Bereiche für die "Default Domain Controller Policy" im Active Directory (AD). Diese Richtlinie schützt speziell die Domaincontroller. Im Toolkit finden Sie mit dem Policy Analyzer ein Tool, mit dem Sie die spezifischen Unterschiede zwischen Ihren aktuellen Policies und den Empfehlungen von Microsoft ermitteln. Es ist durchaus sinnvoll, die Einstellungen zu vergleichen und im Idealfall die Vorgaben weitgehend umzusetzen.
Die aktuellen Sicherheitsempfehlungen von Microsoft können Sie als Gruppenrichtlinienvorlagen im Active Directory neben Domaincontrollern für Mitgliedsserver, Einzelserver und Arbeitsstationen automatisiert umsetzen. Natürlich ist es auch möglich, einzelne Einstellungen zu ändern. Das sollten Sie aber nur dann tun, wenn die entsprechende Werte in Ihrem Netzwerk für Probleme sorgen. Oft ist es in diesem Fall aber besser zu überprüfen, warum Teile des Netzwerks oder Anwendungen nicht mit den von Experten ausgearbeiteten Konfigurationen zurechtkommen. Das Deaktivieren sollte der letzte Weg sein, da sich schlussendlich dadurch die Sicherheit reduziert. Auf jeden Fall ist es sinnvoll, alle Änderungen möglichst zuerst in einer Testumgebung zu überprüfen.
Als Gruppenrichtlinien implementiert
Die Umsetzung der Sicherheitsempfehlungen erfolgt auf Basis von Gruppenrichtlinien, die Sie im Active Directory integrieren. Für die Absicherung von Servern genügt der Download des Archivs "Windows Server 2022 Security Baseline.zip". Der bereits angesprochene Policy Analyzer kommt als "PolicyAnalyzer.zip" auf Ihren Rechner. Das erste Archiv enthält verschiedene Richtlinien je nach Aufgabe des Windows-Servers. Dazu gehören beispielsweise spezielle Richtlinien für DCs, aber auch für Mitgliedsserver und für Server, die nicht Teil von AD-Domänen sind.
Die Dokumentation in Form von Excel-Tabellen ist im Lieferumfang enthalten. Im Sheet "New Settings in Windows Server 2022.xlsx" sind alle Konfigurationen für Windows Server 2022 dokumentiert, inklusive der Stellen in der Registry, die die Policy-Einstellungen verändern. Alle Settings sind in "FINAL-MS Security Baseline Windows Server 2022.xlsx" verfügbar. Dazu stehen im unteren Bereich verschiedene Registerkarten zur Verfügung. Im Verzeichnis "GP Reports" befinden sich außerdem für alle Richtlinien aus dem Security Compliance Toolkit HTM-Dateien, die sich im Browser öffnen lassen. Hier sind alle vorgenommenen Einstellungen aufgelistet und dokumentiert. So können Sie sich ein umfassendes Bild davon machen, was die Baselines im Netzwerk umsetzen.
Bild 1: Die Implementierung der Microsoft-Baselines erfolgt als Gruppenrichtlinie, mit der Option, selbst flexibel zu konfigurieren.
Richtlinien auf den DC bringen
Im Grunde genommen ist der Einsatz der Richtlinien einfach. Zum Lieferumfang des SCT gehören einige ADMX- und die dazugehörige ADML-Dateien. Diese müssen Sie lediglich in das Verzeichnis "C:\PolicyDefinitions" auf den DCs kopieren, wenn sie noch nicht vorhanden sind. Das ist zum Beispiel bei der Umsetzung von Richtlinien für Windows 11 23H2 der Fall, da diese nicht zum Lieferumfang von Windows Server 2022 gehören.
Arbeiten Sie in einem Unternehmen mit zentralen Speicherorten für ADMX-Dateien, müssen Sie die SCT-Vorlagen in dieses Verzeichnis kopieren. Die ADML-Dateien enthalten die Sprachinformationen der jeweiligen Richtlinie. Für den Import stellt Microsoft das Skript "Baseline-ADImport.ps1" zur Verfügung, das die jeweiligen Dateien in die richtigen Verzeichnisse kopiert. Dadurch führen die Server diese aber noch nicht aus, sondern es ist nur sichergestellt, dass in der produktiven Umgebung alle notwendigen Dateien vorhanden sind.
Das Skript importiert auch die neuen Gruppenrichtlinien in das AD, verknüpft diese aber nicht. Dadurch sind diese noch nicht aktiv, stehen aber für Anpassungen zur Verfügung. Die Umsetzung erfolgt später auf Basis des Imports der Einstellungen in neue oder bereits vorhandene Gruppenrichtlinien, zum Beispiel "Default Domain Controllers Policy", oder indem Sie die importierten Policies mit Containern oder Organisationseinheiten verknüpfen. Dabei ist "Default Domain Controllers Policy" mit dem Container "Domain Controllers" verbunden, indem sich die Computerkonten der DCs befinden. Hier ist es natürlich möglich, die AD-Standardrichtlinien zu verwenden und zu erweitern.
Zudem bietet Microsoft die Richtlinie "MSFT Windows Server 2022 – Domain Controller" an, die sich parallel zur "Default Domain Controllers Policy" mit dem Container "Domain Controllers" verknüpfen lässt. An dieser Stelle ist es aber notwendig, sehr umsichtig vorzugehen, bevor Sie Werte aus den Baselines setzen. Sie sollten darauf achten, dass sich die Richtlinien nicht gegenseitig überschreiben. Die Einstellungen gelten zwar ausschließlich für die DCs, haben aber Auswirkungen auf alle Computer, Dienste und Benutzer, die sich an den DCs anmelden. Dennoch ist es durchaus sinnvoll, die Baselines als eigene Richtlinie umzusetzen. Kommt es dabei zu Problemen, reicht es aus, die neue Richtlinie zu deaktivieren. Haben Sie alle neuen Einstellungen in die Standardrichtlinie importiert, ist das schon problematischer.
Richtlinieneinstellungen einfach umsetzen
Der einfachste Weg, die Microsoft-Empfehlungen umzusetzen, besteht darin, die Gruppenrichtlinien-Verwaltungskonsole (GPMC) auf dem DC zu öffnen und die Richtlinien-Backups aus dem Verzeichnis des Security Compliance Toolkit als neue Richtlinien in das produktive Active Directory zu importieren. Alternativ kann die Integration auch über die bereits beschriebenen PowerShell-Skripte erfolgen. Anschließend müssen Sie die Richtlinien mit der Domäne beziehungsweise im Fall von DCs mit dem Container "Domaincontroller" verknüpfen, zum Beispiel per Drag & Drop.
Für die Implementierung legen Sie über das Kontextmenü von "Gruppenrichtlinienobjekte" in der GPMC eine neue Gruppenrichtlinie mit dem Namen "Windows Server 2022 Domaincontroller" an. Über das Kontextmenü der neuen Richtlinie steht der Menüpunkt "Einstellungen importieren" zur Verfügung, der einen Assistenten startet. Hier geben Sie das Verzeichnis "GPOs" im Archiv des SCT an. Nach dem Öffnen des Verzeichnisses zeigt der Assistent alle Gruppenrichtlinien an, die sich in diesem Verzeichnis befinden. Durch Auswahl der gewünschten Vorlage importiert der Assistent alle Einstellungen in das neue GPO. Es ist auch möglich, mehrere Richtlinien zu erstellen. Haben Sie das Skript "Baseline-ADImport.ps1" genutzt, sind die Richtlinien bereits im AD vorhanden, aber noch nicht verknüpft. Es gibt daher mehrere Wege, die Einstellungen im Netzwerk zu implementieren.
Mit aktueller Konfiguration vergleichen
Wie bereits angesprochen, erlaubt der Policy Analyzer, verschiedene Gruppenrichtlinien schnell und einfach miteinander zu vergleichen. Dafür benötigen Sie ein Backup der aktuellen Gruppenrichtlinien. Um den Vorgang zu vereinfachen, stellt Microsoft auch PolicyRules-Dateien zur Verfügung. Wir benötigen daraus "MSFT-WS2022-FINAL.PolicyRules" aus dem Verzeichnis "Documentation" der Baseline-Dateien von Windows Server 2022. Kopieren Sie die Datei in das Verzeichnis "Policy Rules", das sich im Verzeichnis "Policy Analyzer" befindet.
Sichern Sie Ihre bestehende Richtlinie in der Produktionsumgebung in der Gruppenrichtlinien-Verwaltungskonsole. Um einfach alle Richtlinien zu sichern, klicken Sie mit der rechten Maustaste auf "Gruppenrichtlinienobjekte" und dann auf "Alle sichern". Wählen Sie ein Verzeichnis aus und speichern Sie die Gruppenrichtlinien. Dieses Backup dient wie erwähnt als Grundlage für den Abgleich mit den Baselines. In unserem Fall geht es hauptsächlich um die "Default Domain Controllers Policy". Daher reicht es aus, diese zu sichern.
Starten Sie anschließend den Policy Analyzer aus dem Download-Verzeichnis. Eine Installation des Tools ist nicht erforderlich. Klicken Sie dazu zunächst im Policy Analyzer im unteren Bereich auf das Feld bei "Policy Rule sets in". Anschließend wählen Sie das Policy-Analyzer-Verzeichnis und hier das Unterverzeichnis "Policy Rules" aus. In dieses Verzeichnis haben Sie bereits die Policy Rules der aktuellen Windows-Server-2022-Baselines kopiert.
Um einen Vergleich mit Ihrer aktuellen Policy zu starten, klicken Sie nun auf "Add". Wählen Sie anschließend "Datei / Dateien aus GPO(s) hinzufügen". Navigieren Sie danach in den Ordner mit dem Backup Ihrer bestehenden Gruppenrichtlinien und schließen mit "Importieren" den Vorgang ab. Speichern Sie anschließend den Vorgang als PolicyRules-Datei ab, zum Beispiel mit dem Namen "Default Domain Controllers Policy". Danach ist diese Richtlinie auch im Policy Analyzer sichtbar.
Mit diesen Schritten haben Sie die Baseline-Richtlinien über deren Policy-Rules-Datei und eine aktuelle Sicherung Ihrer "Default Domain Controllers Policy", die Sie ebenfalls als Policy-Rules-Datei gespeichert haben, in den Policy Analyzer integriert. Markieren Sie anschließend zunächst Ihre importierte "Default Domain Controllers Policy" und anschließend "MSFT-WS2022-FINAL". Hierbei handelt es sich um die von Ihnen kopierte Policy-Rules-Datei der aktuellen Baselines für Windows Server 2022. Alle anderen markieren Sie nicht, da Sie nur diese beiden benötigen. Klicken Sie anschließend auf die Schaltfläche "View / Compare". Der Vorgang dauert einige Sekunden und anschließend erhalten Sie eine genaue Gegenüberstellung Ihrer aktuellen "Default Domain Controllers Policy" und der Baseline.
Bild 2: Für den Vergleich im Policy Analyzer ist lediglich ein Import der Richtlinie erforderlich.
Werte für DC-Sicherheit angleichen
Durch den Vergleich erkennen Sie sehr schnell, welche dringend empfohlenen Optionen bei Ihnen nicht gesetzt sind. Generell sollten Sie, wie oben beschrieben, die komplette Richtlinie für Ihre Domänencontroller umsetzen lassen. Dazu können Sie die Policy aus den Security-Baselines als zweite Richtlinie für die DCs nutzen. Dies hat den Vorteil, dass Sie die Standardrichtlinie unverändert lassen und durch das Deaktivieren der Security-Baseline alle neuen Einstellungen auf einmal deaktivieren können, zum Beispiel wenn Probleme auftreten. Der Nachteil ist, dass Sie mehrere Gruppenrichtlinien verwalten müssen.
Bild 3: Vor dem Vergleich der bestehenden Regeln mit denen der Baselines ist es sinnvoll, ein Backup der GPOs durchzuführen.
Natürlich können Sie die einzelnen Unterschiede durchgehen und manuell in Ihre Default Domain Controller Policy übernehmen. Dies ist jedoch sehr aufwendig und erfordert eine genaue Dokumentation. Die wichtigsten Werte befinden sich in "Computerkonfiguration / Richtlinien / Windows Einstellungen / Sicherheitseinstellungen". Hier lagern verschiedene Ordner mit den Konfigurationen der Security-Baseline. Besonderes Augenmerk sollten Sie auf die Einstellungen unter "Sicherheitsoptionen" legen. Hier kümmert sich die Security-Baseline um die Benutzerkonten und die Kommunikation der Clients mit dem Domänencontroller. Diese Einstellungen finden sich auch in der Datei "MSFT Windows Server 2022 - Domain Controller.htm" im Verzeichnis "Windows Server 2022 Security Baseline / Windows Server-2022-Security-Baseline-FINAL / GP Reports".
Parallel dazu erzeugt die Baseline auch Regeln für die Windows-Firewall. Diese sind in der Default Domain Controller Policy ebenso nicht vorhanden wie die zahlreiche Maßnahmen im Rahmen des Loggings. Diese sind in den Gruppenrichtlinien unter "Computerkonfiguration / Richtlinien / Windows-Einstellungen / Sicherheitseinstellungen / Erweiterte Überwachungsrichtlinienkonfiguration" zu finden. Diese Konfigurationen sollten Admins generell in allen Umgebungen umsetzen. Negative Auswirkungen sind nicht zu erwarten, es sei denn, die Domänencontroller sind bereits ausgelastet. In diesem Fall kann die erweiterte Systemüberwachung dazu führen, dass die DCs langsamer reagieren. An dieser Stelle ist aber eher ein Austausch der Hardware an der Tagesordnung, als die empfohlene Sicherheit zu reduzieren.
Fazit
Generell sollten die aktuellen Microsoft-Baselines immer die Grundlage für die Absicherung von Netzwerken mit Win-dows-Rechnern bilden. Bei der Umsetzung auf Domaincontrollern ist natürlich immer Vorsicht geboten. Hier kann es schnell passieren, dass ganze Active-Directory-Umgebungen nicht mehr richtig funktionieren. Darüber hinaus ist der Policy Analyzer ein mächtiges Werkzeug, das Sie bei der Absicherung mit Gruppenrichtlinien unterstützt und erlaubt, mehrere GPOs miteinander zu vergleichen. Sie müssen nicht alle Einstellungen anwenden, aber es ist sinnvoll, so viele wie möglich zu verwenden.
(jp)
Link-Codes