Kerberos-Konfiguration

11.02.2007 von Martin Kuppinger
Für Kerberos ist kein sonderlich hoher Konfigurationsaufwand notwendig. Ein paar wichtige Punkte sind dennoch zu beachten. Der Artikel lässt Sie die wichtigsten Konfigurationsschritte nachvollziehen – von den Gruppenrichtlinieneinstellungen bis hin zur Aktivierung der Protokollierung.

Auch wenn Kerberos von seinem Konzept her nicht einfach ist, muss man sich – soweit man nicht die Delegationseinstellungen anpasst oder Sicherheitsarchitekturen auf Basis von Kerberos entwirft – als Administrator in den meisten Fällen nicht wirklich mit dem Protokoll auseinander setzen. Aber mit einigen Konfigurationsoptionen sollte man zumindest einigermaßen vertraut sein.

Kerberos-Richtlinien

Die Gruppenrichtlinien enthalten auch die Kerberos-Richtlinien. Damit können einige grundlegende Verhaltensweisen des Protokolls gesteuert werden. Unter Computerkonfiguration/ Windows-Einstellungen/Sicherheitseinstellungen/Konto richtlinien/Kerberos-Richtlinie stehen fünf verschiedene Einstellungen zur Verfügung:

Kerberos und IIS

Die IIS können sowohl mit Kerberos als auch NTLM (Windows NT/LAN Manager Authentication) arbeiten. Standardmäßig werden beide Mechanismen unterstützt, wobei Kerberos aus Sicht des verwendeten Mechanismus bevorzugt wird. Die Konfiguration erfolgt über ein Utility adsutil. vbs. Mit diesem kann beispielsweise auch die Kerberos-Authentifizierung deaktiviert und wieder aktiviert werden, wobei diese vom Mechanismus Negotiate abgedeckt wird. Die Syntax des Befehls ist im Artikel 251383 der Knowledge Base von Microsoft genau beschrieben. Außerdem kann natürlich auch das Skript analysiert werden, da es im Sourcecode im System vorliegt.

In Ergänzung zu den Informationen in diesem Artikel ist noch die Anweisung

Adsutil set w3svc/ntauthenticationproviders Negotiate, Kerberos

zu nennen. Mit dieser wird definiert, dass Kerberos gegenüber NTLM bevorzugt wird. Prinzipiell sollte es durch Weglassen von Negotiate auch möglich sein, Kerberos als einziges Protokoll für die Authentifizierung zu konfigurieren – was aber Probleme im Zusammenspiel mit Browsern verursachen kann.

Kerberos, UDP, TCP

Ein weiterer Knowledge Base-Artikel, 244474, beschäftigt sich mit der Verwendung von UDP (User Datagram Procotol) bzw. TCP (Transmission Control Protocol) im Zusammenhang mit Kerberos. Standardmäßig wird für Kerberos über den Port 88 mit UDP gearbeitet.

Es gibt nun aber Situationen, in denen die Kerberos-Pakete relativ groß sind. Das hängt vor allem von der Anzahl der SIDs aus der SIDHistory und der Gruppen ab, in denen ein Benutzer Mitglied ist. Da diese Informationen als Autorisierungsdaten bei Kerberos-Tickets mitgeliefert werden, wächst die Größe der Tickets mit der Anzahl der SIDs.

Die Größe von UDP-Paketen ist aber beschränkt, so dass es zu Situationen kommen kann, in denen diese fragmentiert, also in mehrere Pakete aufgeteilt werden müssen. Das führt bei UDP relativ leicht zu Datenverlust, während TCP in dieser Situation erkennt, dass ein Paket fehlt, und es erneut anfordert. In solchen Situationen macht die Umstellung auf TCP als Protokoll daher Sinn. Die Vorgehensweise dafür ist im genannten Artikel beschrieben.

Kerberos-Protokollierung

Treten bei Kerberos Schwierigkeiten auf, lässt sich auch die erweitere Protokollierung von Kerberos-Ereignissen aktivieren. Die Ereignisse werden in das Ereignisprotokoll geschrieben. Um die Informationen umfassend zu sammeln, müssen Sie einen Registry-Parameter für das Log-Level setzen. Die Vorgehensweise ist im Artikel 262177 der Knowledge Base beschrieben.

Kerberos im Cluster

Interessant ist auch der Einsatz von Kerberos in Clustern mit dem Network Load Balancing (NLB). Die Unterstützung gibt es erst beim Windows Server 2003. Wichtig sind dabei eigentlich nur zwei Punkte:

Die Vorgehensweise ist im Detail unter www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/
security/kerbnlb.mspx beschrieben.