So erzwingen Sie, dass Kerberos unter Windows TCP anstelle von UDP verwendet

In diesem Artikel wird beschrieben, wie Sie erzwingen, dass Kerberos TCP anstelle von UDP verwendet.

Gilt für: Windows 10 (alle Editionen), Windows Server 2012 R2
Ursprüngliche KB-Nummer: 244474

Zusammenfassung

Das Windows Kerberos-Authentifizierungspaket ist das Standardauthentifizierungspaket in Windows Server 2003, Windows Server 2008 und Windows Vista. Es ist gleichzeitig mit dem NTLM-Anforderungs-/Antwortprotokoll vorhanden und wird in Instanzen verwendet, in denen sowohl ein Client als auch ein Server Kerberos aushandeln können. Request for Comments (RFC) 1510 gibt an, dass der Client ein UDP-Datagramm (User Datagram Protocol) an Port 88 an der IP-Adresse des Schlüsselverteilungscenters (Key Distribution Center, KDC) senden soll, wenn ein Client den KDC kontaktiert. Das KDC sollte mit einem Antwort-Datagramm auf den Sendeport an der IP-Adresse des Absenders antworten. Der RFC gibt auch an, dass UDP das erste Protokoll sein muss, das versucht wird.

Hinweis

RFC 4120 ist jetzt veraltet rfc 1510. RFC 4120 gibt an, dass ein KDC TCP-Anforderungen akzeptieren muss und auf solche Anforderungen an Port 88 (dezimal) lauschen soll. Standardmäßig versuchen Windows Server 2008 und Windows Vista tcp zuerst für Kerberos, da der MaxPacketSize-Standardwert jetzt 0 ist. Sie können weiterhin den Registrierungswert MaxPacketSize verwenden, um dieses Verhalten außer Kraft zu setzen.

Eine Einschränkung der UDP-Paketgröße kann bei der Domänenanmeldung die folgende Fehlermeldung verursachen:

Ereignisprotokollfehler 5719
Quelle NETLOGON

Für die Domänendomäne ist kein Windows NT- oder Windows 2000-Domänencontroller verfügbar. Der folgende Fehler ist aufgetreten:

Zurzeit sind keine Anmeldeserver verfügbar, um die Anmeldeanforderung zu verarbeiten.

Darüber hinaus zeigt das Netdiag-Tool möglicherweise die folgenden Fehlermeldungen an:

  • Fehlermeldung 1

    DC-Listentest. . . . . . . . . . . : Fehler [WARNUNG] DsBind kann nicht aufgerufen werden ( COMPUTERNAMEDC.domain.com 159.140.176.32). [FEHLER_DOMÄNENCONTROLLER_NICHT_GEFUNDEN]

  • Fehlermeldung 2

    Kerberos-Test. . . . . . . . . . . : Fehler [FATAL] Kerberos hat kein Ticket für MEMBERSERVER$.] Die Windows XP-Ereignisprotokolle, die Symptome dieses Problems sind, sind SPNegotiate 40960 und Kerberos 10.

Weitere Informationen

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher ist es wichtig, bei der Ausführung der folgenden Schritte sorgfältig vorzugehen. Für zusätzlichen Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Sie können die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.

Wenn Sie UDP für Kerberos verwenden, reagiert Ihr Clientcomputer möglicherweise nicht mehr (hängt), wenn Sie die folgende Meldung erhalten: Laden Ihrer persönlichen Einstellungen.

Standardmäßig beträgt die maximale Größe von Datagrammpaketen, für die Windows Server 2003 UDP verwendet, 1.465 Bytes. Für Windows XP und Windows 2000 beträgt dieser Höchstwert 2.000 Bytes. TCP (Transmission Control Protocol) wird für jedes Datagrampacket verwendet, das größer als dieses Maximum ist. Die maximale Größe von Datagrammpaketen, für die UDP verwendet wird, kann durch Ändern eines Registrierungsschlüssels und -werts geändert werden.

Standardmäßig verwendet Kerberos verbindungslose UDP-Datagrammpakete. Abhängig von einer Vielzahl von Faktoren wie dem Verlauf der Sicherheits-ID (SID) und der Gruppenmitgliedschaft verfügen einige Konten über größere Kerberos-Authentifizierungspaketgrößen. Abhängig von der Hardwarekonfiguration des virtuellen privaten Netzwerks (VPN) müssen diese größeren Pakete beim Durchlaufen eines VPN fragmentiert werden. Das Problem wird durch die Fragmentierung dieser großen UDP-Kerberos-Pakete verursacht. Da UDP ein verbindungsloses Protokoll ist, werden fragmentierte UDP-Pakete verworfen, wenn sie nicht in der richtigen Reihenfolge am Ziel ankommen.

Wenn Sie MaxPacketSize in den Wert 1 ändern, erzwingen Sie, dass der Client TCP verwendet, um Kerberos-Datenverkehr über den VPN-Tunnel zu senden. Da TCP verbindungsorientiert ist, ist es ein zuverlässigeres Transportmittel über den VPN-Tunnel. Selbst wenn die Pakete gelöscht werden, fordert der Server das fehlende Datenpaket erneut an.

Sie können MaxPacketSize in 1 ändern, um zu erzwingen, dass die Clients Kerberos-Datenverkehr über TCP verwenden. Gehen Sie dazu wie folgt vor:

  1. Starten Sie den Registrierungs-Editor.

  2. Klicken Sie auf den folgenden Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters

    Hinweis

    Wenn der Parameterschlüssel nicht vorhanden ist, erstellen Sie ihn jetzt.

  3. Zeigen Sie im Menü Bearbeiten auf Neu, und klicken Sie anschließend auf DWORD-Wert.

  4. Geben Sie MaxPacketSize ein, und drücken Sie dann die EINGABETASTE.

  5. Doppelklicken Sie auf MaxPacketSize, geben Sie 1 in das Feld Wertdaten ein, wählen Sie die Option Dezimal aus , und klicken Sie dann auf OK.

  6. Schließen Sie den Registrierungs-Editor.

  7. Restart your computer.

Dies ist der Lösungsansatz für Windows 2000, XP und Server 2003. Windows Vista und neuer verwenden den Standardwert "0" für MaxPacketSize, wodurch auch die Verwendung von UDP für den Kerberos-Client deaktiviert wird.

Die folgende Vorlage ist eine administrative Vorlage, die in Gruppenrichtlinie importiert werden kann, damit der MaxPacketSize-Wert für alle Unternehmenscomputer festgelegt werden kann, auf denen Windows Server 2003, Windows XP oder Windows 2000 ausgeführt wird. Um die MaxPacketSize-Einstellungen in Gruppenrichtlinie Objekt Editor anzuzeigen, klicken Sie im Menü Ansicht auf Nur Richtlinien anzeigen, damit Nur Richtlinien anzeigen ausgewählt ist. Diese Vorlage ändert Registrierungsschlüssel außerhalb des Abschnitts Richtlinien. Standardmäßig zeigt Gruppenrichtlinie Object Editor diese Registrierungseinstellungen nicht an.