Domänencontroller (oder andere Teilnehmer) zwingen, einen Onlineresponder (OCSP) zu verwenden

In der Standardeinstellung werden Windows-Systeme, auch wenn ein Onlineresponder (OCSP) konfiguriert ist, nach einer bestimmten Anzahl von OCSP-Anfragen auf eine (falls vorhanden) Sperrliste zurückfallen, weil dies in einem solchen Fall meistens effizienter ist. Nicht immer ist dieses Verhalten aber gewünscht.

Setzt man beispielsweise Smartcard-Anmeldungen ein, möchte man vielleicht wissen, ob Anmeldungen mit unberechtigt ausgestellten Zertifikaten ausgeführt wurden. In Verbindung mit dem deterministischen Good des Onlineresponders kann man so einen (beinahe) lückenlosen Auditierungspfad für alle Smartcard-Anmeldungen schaffen.

Der Online Responder (Online Certificate Status Protocol, OCSP) ist eine alternative Möglichkeit, Sperrstatusinformationen für Zertifikate bereitzustellen. Entitäten, die den Sperrstatus eines Zertifikats überprüfen möchten, müssen dank OCSP nicht die komplette Liste aller widerrufenen Zertifikate herunterladen, sondern können gezielt eine Anfrage für das betreffende Zertifikat an den Online Responder stellen. Für eine detailliertere Beschreibung siehe Artikel "Grundlagen Online Responder (Online Certificate Status Protocol, OCSP)".

Es gibt folgende Möglichkeiten, sicherzustellen, dass der Onlineresponder definitiv verwendet wird.

  • Erhöhen der Magic Number für die betreffenden Systeme, wobei dies nicht zwangsweise zuverlässig funktionieren wird.
  • Ausstellen von Zertifikaten, die nur OCSP und keinen Sperrlistenverteilungspunkt (CRL Distribution Point, CDP) als Sperrinformation enthalten, wobei dies nicht vor Manipulation ausgestellter Zertifikate durch einen Angreifer schützen kann.
  • Die betreffenden Systeme per Gruppenrichtlinie zwingen, einen Onlineresponder (OCSP) zu verwenden.

Umsetzung

Um Computer zu zwingen, einen Onlineresponder zu verwenden und die im Zertifikat eingetragenen Sperrinformationen zu ignorieren, kann eine Gruppenrichtlinie eingesetzt werden.

Die betreffende Einstellung befindet sich unter "Computer Configuration", "Policies", "Windows Settings", "Security Settings", "Public Key Policies".

Hier muss zunächst das Zertifizierungsstellen-Zertifikat der betreffenden Zertifizierungsstelle eingetragen werden.

  • Für eine Stammzertifizierungsstelle wird es in "Trusted Root Certification Authorities" importiert.
  • Für eine untergeordnete Zertifizierungsstelle wird es in "Intermediate Certification Authorities" importiert.

Hierzu wird im jeweiligen Zertifikatspeicher rechts geklickt und "Import…" gewählt.

Anschließend wird der Pfad zum Zertifizierungsstellen-Zertifikat eingetragen.

Der Zertifikatspeicher wurde bereits bestimmt und sollte nicht verändert werden.

Nach dem Importieren kann auf den Eintrag mit rechts geklickt und "Properties" gewählt werden.

In der Karteikarte "OCSP" muss die Option "Disable Certificate Revocation Lists (CRL)" gewählt werden. Anschließend werden die OCSP-Adressen in die Liste eingetragen.

Bitte beachten, dass hier die Rede von "additional OCSP download locations" ist. Eventuelle OCSP-Adressen in den zu überprüfenden Zertifikaten können unter Umständen verwendet werden. In den durchgeführten Tests war das jedoch nur der Fall, wenn die hier angegebenen Responder nicht erreichbar waren.

Funktionstest

Folgende Testfälle werden betrachtet:

  • Testfall: Die Onlineresponder sind nicht verfügbar. Findet ein Fallback auf die im Zertifikat konfigurierten Sperrlistenverteilungspunkte statt?
  • Testfall: Anmeldung mit einem unbekannten Zertifikat. Ist eine Anmeldung mit einem Zertifikat, welches eine unbekannte Seriennummer beinhaltet, möglich?

Testfall: Die Onlineresponder sind nicht verfügbar

Sind die Onlineresponder für die konfigurierten Domänencontroller nicht verfügbar, ist keine Anmeldung möglich.

Somit findet kein Fallback auf eventuelle im Zertifikat vorhandene Sperrlistenpfade statt. Einem Angriff durch Denial-Of-Service gegen die Onlineresponder wird also (in Hinsicht auf eine Anmeldung mit einem gefälschten Zertifikat mit einer unbekannten Seriennummern) entgegengewirkt.

Im Ereignisprotokoll des Domänencontrollers, gegen den die Anmeldung vorgenommen wurde, wird das Ereignis 21 der Quelle Kerberos-Key-Distribution-Center protokolliert.

Testfall: Anmeldung mit einem unbekannten Zertifikat

Meldet sich ein Benutzer nun mit einem Zertifikat an, dessen Zertifikat dem Onlineresponder nicht bekannt ist, wird ihm ebenfalls die Anmeldung verweigert und das gleiche Ereignis auf dem Domänencontroller protokolliert.

Ist das deterministische Good für den Onlineresponder sowie die Auditierung angefragter Zertifikate konfiguriert, wird dies entsprechend im Auditprotokoll des Onlineresponders protokolliert.

Nachteile und Einschränkungen

Tests nicht vollständig

Die Option "Disable Certificate Revocation Lists (CRL)" ist nicht offiziell von Microsoft dokumentiert, daher kann keine verbindliche Aussage getroffen werden, ob tatsächlich in jeder Situation der Online Responder verwendet wird. Die hier getroffenen Aussage basieren auf den nachfolgend beschriebenen Tests zu diesem Thema, die aber bei weitem nicht vollständig sind. Ausstehende Testfälle umfassen:

  • Wie verhält sich der Code, wenn die Magic Number überschritten wird?
  • Hat die Option zur Deaktivierung der Sperrlisten eventuell auch Auswirkungen auf Zertifikate anderer Zertifizierungsstellen?

Kein hundertprozentiger Schutz

Ist die Zertifizierungsstelle kompromittiert, kann der Angreifer beliebige Seriennummern in seine Zertifikate schreiben. Daher könnte er auch eine bereits existierende Seriennummer in ein solches Zertifikat schreiben, um seine Spuren zu verwischen. Einen 100%igen Schutz gibt es somit auch mit dieser Methode nicht.

Zwar kann die Verwendung von Sperrlisten deaktiviert werden, der Dialog für die Konfiguration spricht jedoch von "additional OCSP download locations" – sofern der Angreifer die Verbindung zwischen den Onlinerespondern und den Domänencontrollern unterbrechen kann, könnte er im Zertifikat eine abweichende OCSP-Adresse angeben.

Abhängigkeit von den Onlinerespondern

Diese Lösung setzt auf die durchgehende Verfügbarkeit der Onlineresponder. Sollten diese nicht erreichbar sein oder fehlerhafte Antworten liefern, ist keine Anmeldung mehr möglich.

Weiterführende Links

Externe Quellen