Grundlagen und Risikobetrachtung Delegierungseinstellungen

Delegierung ist immer dann erforderlich, wenn es zwischen dem Anwender und dem eigentlichen Dienst einen Mittelsmann gibt. Im Fall der Zertifizierungsstellen-Webregistrierung wäre dies der Fall, wenn diese auf einem separaten Server installiert ist. Sie fungiert dann als Mittelsmann zwischen dem Antragsteller und der Zertifizierungsstelle.

Der Antragsteller authentifiziert sich gegenüber dem Webdienst – dieser muss sich dann wiederum im Namen des Antragstellers an der Zertifizierungsstelle authentifizieren.

Da es sich hierbei um eine sicherheitsrelevante Funktion handelt, müssen Konten explizit für die Delegierung konfiguriert werden.

Übersicht über die verschiedenen Optionen

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.

Die Delegierungseinstellungen können über die Active Directory Benutzer und Computer Managementkonsole (dsa.msc) eingestellt werden. Hierzu muss jedoch zuerst unter "View" die Option "Advanced Features" aktiviert werden.

Betrachtet man die Karteikarte "Delegation" für ein Benutzer- oder Computerkonto, stehen folgende Optionen zur Verfügung:

  • Do not trust this user for delegation
  • Trust this user for delegation to any service (Kerberos only)
  • Trust this user for delegation to specified services only: Use Kerberos only
  • Trust this user for delegation to specified services only: Use any authentication protocol

Details: Do not trust this user for delegation

Ist diese Option gewählt, kann mit dem Konto keine Delegierung durchgeführt werden. Dies wäre dann der Fall, wenn die Webdienst direkt auf dem gleichen Server wie die Zertifizierungsstelle installiert würde, was jedoch aus Sicherheitsgründen jedoch nicht empfohlen wird: Es sollte kein Webserver auf der Zertifizierungsstelle installiert werden, ebenso sollte wie im Fall der Zertifizierungsstellen-Webregistrierung kein veralteter Code auf dieser ausgeführt werden.

Details: Trust this user for delegation to any service (Kerberos only)

Technisch wird diese Einstelung dadurch abgebildet, dass im UserAccountControl Attribut des Dienstkontos das Bit 524288 (TRUSTED_FOR_DELEGATION) gesetzt ist.

Ist diese Option gewählt, kann das Konto gegenüber jedem vorhandenen Dienst eine delegierte Authentifizierung vornehmen.

Details: Trust this user for delegation to specified services only: Use Kerberos only

Technisch ist diese Option dadurch abgebildet, dass die Ziel-Dienste im Attribut msDS-AllowedToDelegateTo des Dienstkontos eingetragen sind und im UserAccountControl Attribut weder das Bit 524288 (TRUSTED_FOR_DELEGATION), noch das Bit 16777216 (TRUSTED_TO_AUTH_FOR_DELEGATION) gesetzt sind.

Ist diese Option gewählt, können die Ziel-Dienste für die delegierte Authentifizierung explizit angegeben werden. Somit kann die delegierte Authentifizierung explizit auf die Beantragung von Zertifikaten einer bestimmten Zertifizierungsstelle eingeschränkt werden.

Nach aktuellem Stand der Sicherheitsforschung wird der Dienstanteil von msDS-AllowedToDelegateTo nicht verifiziert und kann entsprechend verfälscht werden, wenn die Anmeldedaten des Dienstkontos einem Angreifer bekannt sind.

Aus Sicherheitstechnischer Betrachtung ist diese Option sehr gut, jedoch besteht auch hier die Einschränkung, dass nur das Kerberos Protokoll verwendet werden kann.

Details: Trust this user for delegation to specified services only: Use any authentication protocol

Technisch ist diese Option dadurch abgebildet, dass die Ziel-Dienste im Attribut msDS-AllowedToDelegateTo des Dienstkontos eingetragen sind und im UserAccountControl Attribut des Dienstkontos das Bit 16777216 (TRUSTED_TO_AUTH_FOR_DELEGATION) gesetzt ist.

Ist diese Option gewählt, können die Ziel-Dienste wie in der vorigen Option für die delegierte Authentifizierung explizit angegeben werden. Darüber hinaus ist ein Protokollübergang möglich, d.h. dass sich ein Benutzer beispielsweise via NTLM oder Clientzertifikat am Webdienst authentifizieren kann, und die Authentifizierung gegen die Zertifizierungsstelle kann dennoch per Kerberos erfolgt.

Aus Sicherheitstechnischer Betrachtung ist diese Option jedoch mit Vorsicht zu genießen, da sie dem Dienstkonto ermöglicht, Tickets für Benutzer anzufordern, ohne dass der Benutzer sich am Dienst authentifizieren muss. Diese Option sollte also nur dann eingesetzt werden, wenn einigermaßen sichergestellt werden kann, dass das Dienstkonto vor Kompromittierung geschützt wird.

Handelt es sich bei dem Dienstkonto um ein Domänenkonto, muss es unbedingt mit einem starken Passwort versehen werden, und dieses muss regelmäßig geändert werden. Die bessere Wahl ist die Kombination mit einem Group Managed Service Account (gMSA).

Weiterführende Links:

Externe Quellen

de_DEDeutsch