Konfigurieren einer Zertifikatvorlage für Domänencontroller

Auch bei einer vermeintlich simpel zu konfigurierenden Zertifikatvorlage für Domänencontroller gibt es einiges zu beachten.

Die Zertifikatvorlage sollte immer von der "Kerberos Authentication" Zertifikatvorlage ausgehen.

Nur die Kerberos Authentcation Zertifikatvorlage enthält das Flag CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS, welches dafür sorgt, dass der Domänenname in der Subject Alternative Name (SAN) Erweiterung des ausgestellten Zertifikats eingetragen wird. Siehe hierzu auch Artikel "Zertifikate für Domänencontroller enthalten nicht den Domänennamen im Subject Alternative Name (SAN)".

Konfiguration der Zertifikatvorlage

Kennen Sie TameMyCerts? TameMyCerts ist ein Add-On für die Microsoft Zertifizierungsstelle (Active Directory Certificate Services). Es erweitert die Funktion der Zertifizierungsstelle und ermöglicht die Anwendung von Regelwerken, um die sichere Automatisierung von Zertifikat-Ausstellungen zu realisieren. TameMyCerts ist einzigartig im Microsoft-Ökosystem, hat sich bereits in unzähligen Unternehmen auf der ganzen Welt bewährt und steht unter einer freien Lizenz. Es kann über GitHub heruntergeladen und kostenlos verwendet werden. Professionelle Wartung wird ebenfalls angeboten.

Karteikarte "General"

In der Karteikarte "General" wird der Zertifikatvorlage ein aussagekräftiger Name zugewiesen. Hierbei sollte eine Namenskonvention angewendet werden, um die spätere Administration zu vereinfachen.

Karteikarte "Cryptography"

Hier können die Standardeinstellungen belassen werden. Auch wenn elliptische Kurven über Key Storage Provider (KSP) für die Active Directory Domänendienste verwendet werden können, gilt dies nicht für die Active Directory Web Services (ADWS), welche nur Cryptographic Service Provider unterstützen.

Es empfiehlt sich daher, den RSA Algorithmus mit mindestens 3072 Bit Schlüssellänge zu verwenden und einen Cryptographic Service Provider einzusetzen.

Karteikarte "Superseded Templates"

In der Karteikarte "Superseded Templates" werden alle Standard-Zertifikatvorlagen für Domänencontroller sowie eventuelle eigene vorige Zertifikatvorlagen eingetragen. Die Standard-Zertifikatvorlagen für Domänencontroller sind:

  • Domain Controller
  • Domain Controller Authentication
  • Kerberos Authentication

Siehe hierzu auch Artikel "Übersicht über die verschiedenen Generationen von Domänencontroller-Zertifikaten".

Karteikarte "Extensions"

Die "Application Policies" Erweiterung wird bearbeitet.

Folgende Einträge sollten grundsätzlich entfernt werden:

  • Client Authentication
  • Smart Card Logon

Sollte es zur Ausstellung von gefälschten Domänencontroller-Zertifikaten (etwa durch einen NTLM Relay Angriff oder durch Fälschen eines entsprechenden Kontos) können die Zertifikate nicht für eine PKINIT Anmeldung im Namen des Domänencontrollers verwendet werden (was andernfalls die Kompromittierung des Active Directory zur Folge haben könnte).

Sofern man PKINIT (auch bekannt als Smartcard Logon) im gesamten Unternehmen nicht verwenden möchte, ist es darüber hinaus auch empfehlenswert, das Extended Key Usage für "KDC" Authentication aus der Zertifikatvorlage zu entfernen, sodass die Domänencontroller grundsätzlich keine solchen Anmeldungen verarbeiten können.

Sollte es zur Ausstellung gefälschter Benutzerzertifikaten kommen (etwa durch zu weitläufige Berechtigungen auf einer Zertifikatvorlage, einer unsicher konfigurierten Zertifizierungsstelle oder gar deren Kompromittierung), ist es dann nicht möglich, sich mit diesen anzumelden (was andernfalls die Kompromittierung des Active Directory zur Folge haben könnte).

Siehe hierzu auch Artikel "Angriffsvektor auf den Active Directory Verzeichnisdienst über den Smartcard Logon Mechanismus".

Karteikarte "Subject Name"

Die Option wird im Artikel "Zur Option "Build this from Active Directory information" bei Zertifikatvorlagen" näher beschrieben.

Aus Kompatibilitätsgründen ist es empfehlenswert, im Karteireiter "Subject Name" noch einzustellen, dass das Subject der ausgestellten Zertifikate mit dem Servernamen des Domänencontrollers befüllt wird (Option "Common Name").

In der Standardeinstellung wird das Subject leer sein, was absolut konform zum RFC 4514 ist.

The client determines the type (e.g., DNS name or IP address) of the reference identity and performs a comparison between the reference identity and each subjectAltName value of the corresponding type until a match is produced.

RFC 4513 – Lightweight Directory Access Protocol (LDAP): Authentication Methods and Security Mechanisms

The server’s identity may also be verified by comparing the reference identity to the Common Name (CN) [RFC4519] value in the leaf Relative Distinguished Name (RDN) of the subjectName field of the server’s certificate. […] Although the use of the Common Name value is existing practice, it is deprecated, and Certification Authorities are encouraged to provide subjectAltName values instead.

RFC 4513 – Lightweight Directory Access Protocol (LDAP): Authentication Methods and Security Mechanisms

Anwendungen, die allerdings nicht zu diesem RFC konform sind (und solche gibt es in der Praxis durchaus), werden das Zertifikat jedoch nicht verarbeiten können.

Ist ein Subject mit dem Servernamen des Domänencontrollers befüllt, und die Anwendung ist konform zu RFC 4513, wird das Subject ohnehin ignoriert, sodass kein Nachteil entsteht.

Karteikarte "Security"

Im Karteireiter "Security" sollte unbedingt darauf geachtet werden, dass nur der hierfür berechtigte Personenkreis die Zertifikatvorlage bearbeiten kann.

Die Rechte für die Zertifikatbeantragung können von der zugrundeliegenden "Kerberos Authentication" Zertifikatvorlage übernommen werden.

Weiterführende Links:

Externe Quellen

de_DEDeutsch