Domänencontroller-Zertifikatvorlagen und Smartcard Anmeldung

Damit Domänencontroller Smartcard Anmeldungen verarbeiten können, benötigen sie Zertifikate, welche diese Funktion bereitstellen.

Eine der folgenden Bedingungen muss vom Domänencontroller-Zertifikat erfüllt werden, damit es für Smartcard Anmeldung nutzbar ist:

  • Der String "DomainController" in der Erweiterung für den Zertifikatvorlagennamen (Diese Erweiterung ist nur in Zertifikatvorlagen der Version 1 verfügbar ).
  • Die Smartcard Logon (1.3.6.1.4.1.311.20.2.2) OID in der Extended Key Usages Erweiterung.
  • Die KDC Authentication (1.3.6.1.5.2.3.5) OID in der Extended Key Usages Erweiterung

Microsoft verwendet den Terminus "Enhanced Key Usage", die korrekte Bezeichnung gemäß RFC 5280 ist allerdings "Extended Key Usage" .

Die Erweiterung "Zertifikatvorlagenname" ist nur in Version 1 Zertifikatvorlagen aus Windows 2000 Zeiten enthalten. Die einzige Zertifikatvorlage, welche diese Erweiterung mit dem String "DomainController" befüllt hat, ist die gleichnamige Version 1 Vorlage. Diese Zertifikatvorlagen unterstützen noch kein AutoEnrollment, darum ist bis zum heute aktuellen Windows Server 2019 ein Code im KDC enthalten, welcher dafür sorgt, dass diese Zertifikate von den Domänencontrollern beantragt werden, wenn es im Netzwerk eine Zertifizierungsstelle gibt, welche sie anbietet.

Das Extended Key Usage "Smartcard Logon" wurde mit der "Domain Controller Authentication" Zertifikatvorlage mit Windows Server 2003 eingeführt. Es wurde sowohl auf Client-Seite (Benutzer-Zertifikat) als auch auf Server-Seite (Domänencontroller-Zertifikat) verwendet.

Das Extended Key Usage "KDC Authentication" wurde mit der "Kerberos Authentication" Zertifikatvorlage mit Windows Server 2008 eingeführt. Es ermöglichte eine Auftrennung zwischen dem Server-Teil (KDC Authentication im Domänencontroller-Zertifikat) und dem Client-Teil (Smartcard Logon im Benutzer-Zertifikat).

Nachfolgend einige Beispiele, wie sich der KDC-Prozess in Verbindung mit den verschiedenen Zertifikattypen verhält.

Standard-Zertifikatvorlage "Domain Controller"

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.

Diese Zertifikatvorlage zeichnet sich dadurch aus, dass das resultierende Zertifikat folgende Extended Key Usages enthält:

  • Server Authentication
  • Client Authentication

Zertifikat, Registerkarte "Details" (deutsche Oberfläche): Vorlage DomainController, Erweiterte Schlüsselverwendung Clientauthentifizierung und Serverauthentifizierung

Darüber hinaus beinhaltet sie, da es sich um eine Zertifikatvorlage der Schema-Version 1 handelt, auch eine Erweiterung "Zertifikatvorlagenname" welche den Wert "DomainController" beinhaltet.

Zertifikat, Registerkarte "Details": Feld "Zertifikatvorlagenname" mit dem Wert DomainController

Die Smartcard Anmeldung funktioniert mit diesem Zertifikat, es wird jedoch das Ereignis Nr. 32 in der Ereignisanzeige des Domänencontrollers protokolliert, welches darauf hinweist, dass das Zertifikat nicht das "KDC Authentication" Extended Key Usage beinhaltet und dadurch eventuell Kompatibilitätsprobleme auftreten können.

Ereignis 32, Kerberos-Key-Distribution-Center: KDC nutzt ein Zertifikat ohne KDC Extended Key Usage (EKU), Kerberos Authentication template erforderlich

Standard-Zertifikatvorlage "Domain Controller Authentication"

Diese Zertifikatvorlage zeichnet sich dadurch aus, dass das resultierende Zertifikat folgende Extended Key Usages enthält:

  • Server Authentication
  • Client Authentication
  • Smartcard Logon

Da es sich um eine Zertifikatvorlage der Schema-Version 2 handelt, ist keine Erweiterung "Zertifikatvorlagenname" enthalten.

Zertifikat, Registerkarte "Details" (deutsche Oberfläche): Erweiterte Schlüsselverwendung mit Client-, Serverauthentifizierung und Smartcard-Anmeldung (1.3.6.1.4.1.311.20.2.2)

Die Smartcard Anmeldung funktioniert mit diesem Zertifikat, es wird jedoch das Ereignis Nr. 32 in der Ereignisanzeige des Domänencontrollers protokolliert, welches darauf hinweist, dass das Zertifikat nicht das "KDC Authentication" Extended Key Usage beinhaltet und dadurch eventuell Kompatibilitätsprobleme auftreten können.

Ereignis 32, Kerberos-Key-Distribution-Center: KDC nutzt ein Zertifikat ohne KDC Extended Key Usage (EKU), Kerberos Authentication template erforderlich

Standard-Zertifikatvorlage "Kerberos Authentication"

Diese Zertifikatvorlage zeichnet sich dadurch aus, dass das resultierende Zertifikat folgende Extended Key Usages enthält:

  • Server Authentication
  • Client Authentication
  • Smartcard Logon
  • KDC Authentication

Da es sich um eine Zertifikatvorlage der Schema-Version 2 handelt, ist keine Erweiterung "Zertifikatvorlagenname" enthalten.

Zertifikat, Registerkarte "Details" (deutsche Oberfläche): Erweiterte Schlüsselverwendung zusätzlich mit KDC-Authentifizierung (1.3.6.1.5.2.3.5)

Die Smartcard Anmeldung funktioniert mit diesem Zertifikat, und es werden auch keine Warnungen in der Ereignisanzeige des Domänencontrollers protokolliert.

Angepasste Zertifikatvorlage basierend auf "Kerberos Authentication", aber ohne das Smartcard Logon Extended Key Usage

Diese Zertifikatvorlage zeichnet sich dadurch aus, dass das resultierende Zertifikat folgende Extended Key Usages enthält:

  • Server Authentication
  • Client Authentication
  • KDC Authentication

Da es sich um eine Zertifikatvorlage der Schema-Version 2 handelt, ist keine Erweiterung "Zertifikatvorlagenname" enthalten.

Zertifikat, Registerkarte "Details" (deutsche Oberfläche): Erweiterte Schlüsselverwendung Serverauthentifizierung, KDC-Authentifizierung und Clientauthentifizierung

Die Smartcard Anmeldung funktioniert mit diesem Zertifikat, und es werden auch keine Warnungen in der Ereignisanzeige des Domänencontrollers protokolliert. Diese Zertifikatvorlage erfüllt somit alle Mindestanforderungen für eine fehlerfreie Verarbeitung von Smartcard Anmeldungen.

Angepasste Zertifikatvorlage basierend auf "Domain Controller"

Diese Zertifikatvorlage zeichnet sich dadurch aus, dass das resultierende Zertifikat folgende Extended Key Usages enthält:

  • Server Authentication
  • Client Authentication

Im Gegensatz zur originalen Zertifikatvorlage beinhaltet sie jedoch keine Erweiterung "Zertifikatvorlagenname", da es sich um eine Zertifikatvorlage der Schema-Version 2 handelt, welche nicht anhand des Namens, sondern anhand der OID identifiziert wird.

Zertifikat, Registerkarte "Details" (deutsche Oberfläche): Erweiterte Schlüsselverwendung nur Serverauthentifizierung und Clientauthentifizierung

Diese Zertifikatvorlage kann vom KDC nicht für Smartcard Logon verwendet werden. Es werden die Ereignisse Nr. 19 und 29 im Ereignisprotokoll des Domänencontrollers protokolliert, wenn ein Benutzer versucht, sich per Smartcard anzumelden:

This event indicates an attempt was made to use smartcard logon, but the KDC is unable to use the PKINIT protocol because it is missing a suitable certificate.

Ereignis 19, Kerberos-Key-Distribution-Center: KDC kann PKINIT für die Smartcard-Anmeldung mangels passendem Zertifikat nicht nutzen

The Key Distribution Center (KDC) cannot find a suitable certificate to use for smart card logons, or the KDC certificate could not be verified. Smart card logon may not function correctly if this problem is not resolved. To correct this problem, either verify the existing KDC certificate using certutil.exe or enroll for a new KDC certificate.

Ereignis 29, Kerberos-Key-Distribution-Center: "The Key Distribution Center (KDC) cannot find a suitable certificate to use for smart card logons"

Für einen Benutzer, der sich anmeldet, äußert sich der Fehler mit der Fehlermeldung: "Signing in with a security device isn't supported for your account. For more info, contact your administrator. "

Windows-Anmeldebildschirm, Benutzer Rudi Ratlos: "Signing in with a security device isn't supported for your account. For more info, contact your administrator."

Welche Zertifikatvorlage sollte also für Domänencontroller verwendet werden?

Grundsätzlich sollte eine eigene Vorlage erstellt werden, die aus der Kerberos Authentication Zertifikatvorlage hervorgeht.

Auch wenn es nicht direkt relevant für die Smartcard Anmeldung ist, enthält nur die "Kerberos Authentication" Zertifikatvorlage das CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS Flag, welches dafür sorgt, dass der vollqualifizierte Domänenname und der NETBIOS-Name der Domäne in die Subject Alternative Name (SAN) Erweiterung des Domänencontroller-Zertifikats eingetragen werden.

Folgende Veränderungen können vorgenommen werden.

  • Möchte man verhindern, dass die Domänencontroller Smartcard-Anmeldungen annehmen können, kann dies durch Entfernung der beiden Extended Key Usages für "Smartcard Logon" und "KDC Authentication" erreicht werden.
  • Auch wenn die Domänencontroller Smartcard-Anmeldungen verarbeiten sollen, kann das "Smartcard Logon" Extended Key Usage entfernt werden, da der Server-seitige Teil der Smartcard Anmeldung durch das "KDC Authentication" Extended Key Usage abgebildet wird.

Externe Quellen