langsamer Active Directory (AD DS) Login von XP und Windows 2003

Posted by O.Sommer

Gerade habe ich einem Fall abgeschlossen bei dem ein Kunde extrem lange Anmeldezeiten von Windows XP Clients und Windows 2003 Servern moniert hat.
Lokale Anmeldungen an den betroffenen Clients (also mit lokalem, nicht-AD DS Konto) waren so schnell wie gewünscht.
Die Anmeldung hat zwischen 20 und 60 Minuten gedauert und war damit wesentlich länger als die typische, recht häufig anzutreffende Anmeldeverzögerung von ca. 5 Minuten, welche, den meisten inzwischen sicherlich bekannt, auf fehlerhafte DNS Server oder noch häufiger auf falsch an AD DS Clients eingetragene, meist öffentliche (Provider) DNS Server zurückzuführen ist.

Während der, wegen der langen Anmeldungen, langwierigen Fehlersuche (standardmäßig verdächtigt man wie oben gesagt bei langen Anmeldezeiten im AD DS ja DNS, DNS oder DNS als Grund) fand ich ich auf den betroffenen Client im Eventlog folgende Events im System Ereignisprotokoll:

LsaSrv 40960
Das Sicherheitssystem hat einen Authentifizierungsfehler für den Server LDAP/…. festgestellt. Der Fehlercode des Authentifi- zierungsprotokolls Kerberos war "Es stehen momentan keine Anmeldeserver zur Verfügung, um die Anmeldeanforderung zu verarbeiten.
(0xc000005e)".

Kerberos 10
Das Kerberos-Subsystem kann die Tickets vom Domänencontroller mit dem UDP-Netzwerkprotokoll nicht abrufen. Häufige Ursache hierfür sind Netzwerkprobleme. Wenden Sie sich an den Systemadministrator

oder auf englisch:

Kerberos 10
The kerberos subsystem is having problems fetching tickets from your domain contoller using the UDP network protocol. This is typically due to network problems. Please contact your systems administrator.

Da ich kaum deutsche Suchergebnisse zum Kerberos 10 Fehler gefunden habe, hier kurz die Lösung die bei diesem Kunden zum Erfolg geführt hat:

Wie in http://support.microsoft.com/kb/244474 beschrieben war tatsächlich, wie wir nachträglich festgestellt haben, durch eine Firewall die Kommunikation zwischen den XP/2003 Clients und den Domänen Controllern (DC) über den UDP Port 88 nicht erlaubt/verboten/deaktiviert. Eigentlich sollte bei dem Kunden der Port planmäßig erlaubt sein.

Dazu gibt es zwei Lösungsmöglichkeiten:

  1. Port 88 UDP erlauben (trivial aber funktioniert!) Smiley
  2. wie im obigen KB Artikel http://support.microsoft.com/kb/244474 beschrieben den MaxPacketSize Wert wie folgt in der Registrierung der XP/2003 Clients erstellen (ist standardmäßig nicht vorhanden):

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\ Kerberos\Parameters
DWORD MaxPacketSize = 1

Besonders Lösung 2 eignet sich um zu Überprüfen ob evtl. der UDP Port 88 geschlossen ist, da man die Kommunikation mit den DC auf TCP umstellt und man eine mögliche TCP Verbindung zum DC recht einfach mittels dem folgendem Befehl in einer Eingabeaufforderung überprüfen kann:

start telnet [NAMEoderIPdesDC] 88

Bei UDP ist eine solche Prüfung nicht so einfach möglich, da UDP Pakete verbindungslos übermittelt werden und geöffnete UDP Ports somit nicht via telnet oder ähnlichem überprüfbar sind.

Anmerkungen:
Windows Vista, Windwos 7, 2008 und 2008 R2 benutzen standardmäßig den TCP Port 88 statt UDP/88, deshalb haben die entsprechenden Clients des Netzwerkes kein Problem wenn UDP/88 geblockt wird.