Microsoft hat in 2022 damit begonnen in einem “Staging-Prozess” verschiedene Sicherheitslücken bzgl. Authentifizierung in einer Active Directory Domäne zu schließen. Dies bedeutet, dass zum jetzigen Zeitpunkt diese Sicherheitslücken immer noch bestehen! Ein automatisches schließen durch die Windows Updates erfolgt Step by Step bis Ende 2023.
Um das Risiko bereits jetzt zu minimieren muss man selbst aktiv werden. Des weiteren ist die Beschäftigung mit dem Thema alleine aus dem Grunde “Inkompatibilitäten vorab zu erkennen” bereits jetzt unausweichlich.
Speziell geht es in diesem Artikel um die Themen “Strong-Certificate-Binding”, “RPC Sealing” und “PAC Signing”.
Kompatibilitätsmodus (Events 39-41 Kdcsvc im System Log; abweichende Events bei W2K8 Server)
Strong Mapping: Authentifizierung wie erwartet
Weak Mapping: Authentifizierung wie erwartet mit Warnung
Achtung: Zertifikat älter als Benutzer: Authentifizierung schlägt fehl + Fehlermeldung. Möglichkeit für Workaround mit “Backdating Registry Key”. Wird dieser Key verwendet, wird eine Warnung im Eventlog generiert.
ab 11.04.2023
Disable Mode entfällt
Wenn das Update von 10.05.2022 (oder höher) bereits installiert ist und der Key StrongCertificateBindingEnforcement=0 bisher nicht manuell gesetzt wurde, sollte hier mit keiner Einschränkung zu rechnen sein.
ab 14.11.2023 (war zuvor 09.05.2023)
Full Enforcement Mode
Ab diesem Zeitpunkt wird nur noch “Strong Mapping” erlaubt. Andere Authentifizierungen per Zertifikat werden verweigert.
Kompatibilitätsmodus (Events Netlogon 5838, 5839, 5840, 5841 im System Log)
Windows-Domänencontroller erfordern, dass Netlogon-Clients RPC Seal verwenden, wenn sie Windows ausführen oder als Domänencontroller oder Vertrauenskonten fungieren.
RequireSeal entspricht im Default 1.
ab 11.04.2023
Enforcement Mode - Die Möglichkeit 0 für RequireSeal zu setzen wird entfernt.
Alle Clients müssen RPC-Seal verwenden, außer diese sind der GPO "Domain Controller: Allow vulnerable Netlogon secure channel connections" hinzugefügt.
Achtung: Gefährdete Verbindungen von allen Clients, auch von Drittanbietern, werden nicht mehr authentifiziert. Die Rückstufung zum Kompatibilitätsmodus (RequireSeal=1) ist noch möglich.
RequireSeal entspricht im Default 2.
ab 11.07.2023
Full Enforcement Mode kann nicht mehr deaktiviert werden. Die Möglichkeit 1 (Kompatibilitätsmodus) für RequireSeal zu setzen wird entfernt.
Alle Clients müssen RPC-Seal verwenden, außer diese sind der GPO "Domain Controller: Allow vulnerable Netlogon secure channel connections" hinzugefügt.
Achtung: Gefährdete Verbindungen von allen Clients, auch von Drittanbietern, werden nicht mehr authentifiziert.
PAC-Signaturen werden zum Kerberos-PAC-Puffer hinzugefügt. Weitere Maßnahmen zur Behebung Schwachstelle in Kerberos Protokoll.
KrbtgtFullPacSignature entspricht im Default 1
13.12.2022
Aktivierung Audit-Modus (Events 42,43,44 Kdcsvc im System Log)
KrbtgtFullPacSignature entspricht im Default 2
ab 11.04.2023
Das Hinzufügen von PAC Signaturen kann nicht mehr deaktiviert werden. Die Möglichkeit 0 für KrbtgtFullPacSignature zu setzen wird entfernt.
Achtung: Wenn das Update von 08.11.2022 (oder höher) bereits installiert ist und der Key KrbtgtFullPacSignature=0 bisher nicht manuell gesetzt wurde, sollte hier mit keiner Einschränkung zu rechnen sein.
ab 11.07.2023
Enforcement Mode per Default aktiviert. Die Möglichkeit 1 für KrbtgtFullPacSignature zu setzen wird entfernt.
Achtung: Ablehnung von Kerberos Service Tickets ohne die neuen PAC Signaturen. Die Rückstufung zum Audit-Mode (KrbtgtFullPacSignature=2) ist noch möglich.
KrbtgtFullPacSignature entspricht im Default 3
ab 10.10.2023
Full Enforcement Mode kann nicht mehr deaktiviert werden. Der Registry Key KrbtgtFullPacSignature zur Steuerung entfällt komplett.
Achtung: Ablehnung von Kerberos Service Tickets ohne die neuen PAC Signaturen.
Davon ausgegangen, dass auf allen Domain Controllern mindestens das Kumulative Windows Update vom Dezember 2022 installiert ist, werden ggf. bereits jetzt entsprechende Events im SYSTEM Log der Domain Controller (es sind dabei alle zu prüfen) generiert. Sind solche Events vorhanden, kann dies auf Inkompatibilitäten hindeuten.
Das Eventlog kann dabei nach folgenden Event ID’s gefiltert werden:
Strong-Certificate-Binding: 39-41 (abweichende Events bei W2K8 Server)
RPC Sealing: 5838-5841
PAC Signing: 42-44
Da die Event-ID’s alleinstehend nicht immer eindeutig sind, habe ich eine Filter erstellt, welcher noch zusätzlich die Quelle mit einschließt und die Event ID’s für alle drei Themen inkludiert.
<QueryList> <Query Id=“0″ Path=“System“> <Select Path=“System“>*[System[Provider[@Name=’Microsoft-Windows-Kerberos-Key-Distribution-Center‘ or @Name=’Netlogon‘] and ( (EventID >= 39 and EventID <= 41) or (EventID >= 42 and EventID <= 44) or (EventID >= 5838 and EventID <= 5841) )]]</Select> </Query> </QueryList>
Dieser kann dann einfach als XML Filter eingefügt werden:
Alternativ lassen sich Events natürlich auch per Powershell auswerten oder ein Script dazu erstellen, welches direkt alle Domaincontroller betrachtet und auswertet. Daneben gibt es selbstverständlich auch die Möglichkeiten zur Überwachung durch Monitoring etc.
Aktivierung Enforce-Modus
Wenn die Umgebung geprüft wurde und keine relevanten Inkompatibilitäten vorhanden sind, ist es zu empfehlen den Enforce-Modus vorab zu aktivieren. Dadurch wird die Sicherheit bereits jetzt erhöht und daneben gewinnt man etwas Zeit, falls es doch noch zu Fehlern kommen sollte.
Jeder Enforce-Modus ist einzeln zu betrachten. Dies bedeutet, sollten z.B. Inkompatibilitäten für “StrongCertificateBindingEnforcement” vorhanden sein, kann trotzdem der Enforce-Modus für “RequireSeal” und “KrbtgtFullPacSignature” aktiviert werden.
Hier sind die entsprechenden Registry Werte zur Aktivierung des Enforce-Modus: