Kerberos dwingen TCP te gebruiken in plaats van UDP in Windows

In dit artikel wordt beschreven hoe u Kerberos kunt dwingen tcp te gebruiken in plaats van UDP.

Van toepassing op: Windows 10 - alle edities, Windows Server 2012 R2
Origineel KB-nummer: 244474

Samenvatting

Het Windows Kerberos-verificatiepakket is het standaardverificatiepakket in Windows Server 2003, in Windows Server 2008 en in Windows Vista. Het bestaat naast het NTLM-protocol voor uitdagingen/antwoorden en wordt gebruikt in gevallen waarin zowel een client als een server kan onderhandelen over Kerberos. Request for Comments (RFC) 1510 geeft aan dat de client een UDP-datagram (User Datagram Protocol) moet verzenden naar poort 88 op het IP-adres van het Key Distribution Center (KDC) wanneer een client contact opneemt met de KDC. De KDC moet reageren met een antwoordgegevensgram op de verzendende poort op het IP-adres van de afzender. De RFC geeft ook aan dat UDP het eerste protocol moet zijn dat wordt geprobeerd.

Opmerking

RFC 4120 is nu verouderd RFC 1510. RFC 4120 geeft aan dat een KDC TCP-aanvragen moet accepteren en moet luisteren naar dergelijke aanvragen op poort 88 (decimaal). Standaard proberen Windows Server 2008 en Windows Vista tcp eerst voor Kerberos, omdat de standaardwaarde van MaxPacketSize nu 0 is. U kunt nog steeds de registerwaarde MaxPacketSize gebruiken om dat gedrag te overschrijven.

Een beperking van de UDP-pakketgrootte kan het volgende foutbericht veroorzaken bij het aanmelden bij het domein:

Gebeurtenislogboekfout 5719
Bron NETLOGON

Er is geen Windows NT- of Windows 2000-domeincontroller beschikbaar voor domeindomein. De volgende fout is opgetreden:

Er zijn momenteel geen aanmeldingsservers beschikbaar voor de aanmeldingsaanvraag.

Daarnaast kan het hulpprogramma Netdiag de volgende foutberichten weergeven:

  • Foutbericht 1

    DC list test. . . . . . . . . . . : Mislukt [WAARSCHUWING] Kan DsBind niet aanroepen naar COMPUTERNAMEDC.domain.com (159.140.176.32). [ERROR_DOMAIN_CONTROLLER_NOT_FOUND]

  • Foutbericht 2

    Kerberos-test. . . . . . . . . . . : Failed [FATAL] Kerberos heeft geen ticket voor MEMBERSERVER$.] De Gebeurtenislogboeken van Windows XP die symptomen van dit probleem zijn, zijn SPNegotiate 40960 en Kerberos 10.

Meer informatie

Belangrijk

Deze sectie, methode of taak bevat stappen voor het bewerken van het register. Als u het register op onjuiste wijze wijzigt, kunnen er echter grote problemen optreden. Het is dan ook belangrijk dat u deze stappen zorgvuldig uitvoert. Maak een back-up van het register voordat u wijzigingen aanbrengt. Als er een probleem optreedt, kunt u het register altijd nog herstellen. Raadpleeg Een back-up maken van en het herstellen van het register in Windows voor meer informatie over het maken van een back-up en het herstellen van het register.

Als u UDP voor Kerberos gebruikt, reageert uw clientcomputer mogelijk niet meer (loopt vast) wanneer u het volgende bericht ontvangt: Uw persoonlijke instellingen laden.

Standaard is de maximale grootte van datagrampakketten waarvoor Windows Server 2003 UDP gebruikt 1465 bytes. Voor Windows XP en voor Windows 2000 is dit maximum 2000 bytes. Tcp (Transmission Control Protocol) wordt gebruikt voor alle datagrampacket die groter is dan dit maximum. De maximale grootte van datagrampakketten waarvoor UDP wordt gebruikt, kan worden gewijzigd door een registersleutel en -waarde te wijzigen.

Kerberos maakt standaard gebruik van UDP-datagrampakketten zonder verbinding. Afhankelijk van verschillende factoren, waaronder de geschiedenis van de beveiligings-id (SID) en het groepslidmaatschap, hebben sommige accounts grotere Pakketten voor Kerberos-verificatie. Afhankelijk van de vpn-hardwareconfiguratie (Virtual Private Network), moeten deze grotere pakketten worden gefragmenteerd bij het doorlopen van een VPN. Het probleem wordt veroorzaakt door fragmentatie van deze grote UDP Kerberos-pakketten. Omdat UDP een verbindingsloos protocol is, worden gefragmenteerde UDP-pakketten verwijderd als ze in de juiste volgorde op de bestemming aankomen.

Als u MaxPacketSize wijzigt in een waarde van 1, dwingt u de client om TCP te gebruiken om Kerberos-verkeer via de VPN-tunnel te verzenden. Omdat TCP verbindingsgeoriënteerd is, is het een betrouwbaarder transportmiddel via de VPN-tunnel. Zelfs als de pakketten worden verwijderd, zal de server het ontbrekende gegevenspakket opnieuw aanvragen.

U kunt MaxPacketSize wijzigen in 1 om de clients te dwingen Kerberos-verkeer via TCP te gebruiken. Ga hiervoor als volgt te werk:

  1. De Register-editor starten.

  2. Zoek en klik op de registersubsleutel: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters.

    Opmerking

    Als de sleutel Parameters niet bestaat, maakt u deze nu.

  3. Open het menu Bewerken, wijs Nieuw aan en klik op DWORD Value.

  4. Typ MaxPacketSize en druk op Enter.

  5. Dubbelklik op MaxPacketSize, typ 1 in het vak Waardegegevens , klik om de optie Decimaal te selecteren en klik vervolgens op OK.

  6. Sluit de Register-editor af.

  7. Start de computer opnieuw op.

Dit is de oplossingsbenadering voor Windows 2000, XP en Server 2003. Windows Vista en nieuwer gebruiken de standaardwaarde '0' voor MaxPacketSize, waardoor ook het gebruik van UDP voor de Kerberos-client wordt uitgeschakeld.

De volgende sjabloon is een beheersjabloon die kan worden geïmporteerd in groepsbeleid om de waarde MaxPacketSize in te stellen voor alle bedrijfscomputers waarop Windows Server 2003, Windows XP of Windows 2000 wordt uitgevoerd. Als u de maxPacketSize-instellingen wilt weergeven in groepsbeleid Object Editor, klikt u op Alleen beleid weergeven in het menu Beeld, zodat Alleen beleid weergeven niet is geselecteerd. Met deze sjabloon worden registersleutels buiten de sectie Beleid gewijzigd. Standaard worden deze registerinstellingen niet weergegeven in groepsbeleid Object Editor.