Partager via


Comment obliger Kerberos à utiliser TCP au lieu de UDP dans Windows

Cet article explique comment forcer Kerberos à utiliser TCP au lieu d’UDP.

Numéro de base de connaissances d’origine : 244474

Résumé

Le package d’authentification Kerberos Windows est le package d’authentification par défaut dans Windows Server 2003, dans Windows Server 2008 et dans Windows Vista. Il coexiste avec le protocole de défi/réponse NTLM et est utilisé dans les instances où un client et un serveur peuvent négocier Kerberos. Demande de commentaires (RFC) 1510 indique que le client doit envoyer un datagramme UDP (User Datagram Protocol) au port 88 à l’adresse IP du Centre de distribution de clés (KDC) lorsqu’un client contacte le KDC. Le KDC doit répondre avec un datagramme de réponse au port d’envoi à l’adresse IP de l’expéditeur. La RFC indique également que UDP doit être le premier protocole essayé.

Note

RFC 4120 obsolète désormais RFC 1510. RFC 4120 spécifie qu’un KDC doit accepter les requêtes TCP et doit écouter ces demandes sur le port 88 (décimal). Par défaut, Windows Server 2008 et Windows Vista essaieront d’abord TCP pour Kerberos, car la valeur par défaut MaxPacketSize est maintenant 0. Vous pouvez toujours utiliser la valeur de Registre MaxPacketSize pour remplacer ce comportement.

Une limitation de la taille du paquet UDP peut entraîner le message d’erreur suivant lors de l’ouverture de session du domaine :

Erreur du journal des événements 5719
Source NETLOGON

Aucun contrôleur de domaine Windows NT ou Windows 2000 n’est disponible pour domaine. L’erreur suivante s’est produite :

Il n’existe actuellement aucun serveur d’ouverture de session disponible pour le service de la demande d’ouverture de session.

En outre, l’outil Netdiag peut afficher les messages d’erreur suivants :

  • Message d’erreur 1

    DC list test. . . . . . . . . . . : Échec [AVERTISSEMENT] Impossible d’appeler DsBind vers COMPUTERNAMEDC.domain.com (159.140.176.32). [ERROR_DOMAIN_CONTROLLER_NOT_FOUND]

  • Message d’erreur 2

    Kerberos test. . . . . . . . . . . : Échec [FATAL] Kerberos n’a pas de ticket pour MEMBERSERVER$.] Les journaux des événements Windows XP qui sont des symptômes de ce problème sont SPNegotiate 40960 et Kerberos 10.

Plus d’informations

Important

Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, vérifiez que vous suivez ces étapes attentivement. Pour une protection supplémentaire, sauvegardez le Registre avant de le modifier. Ensuite, vous pouvez restaurer le Registre si un problème se produit. Pour plus d’informations sur la sauvegarde et la restauration du registre, voir : Procédure de sauvegarde, de modification et de restauration du Registre dans Windows.

Si vous utilisez UDP pour Kerberos, votre ordinateur client peut cesser de répondre (bloquer) lorsque vous recevez le message suivant : Chargement de vos paramètres personnels.

Par défaut, la taille maximale des paquets de datagramme pour lesquels Windows Server 2003 utilise UDP est de 1 465 octets. Pour Windows XP et Pour Windows 2000, ce maximum est de 2 000 octets. Le protocole TCP (Transmission Control Protocol) est utilisé pour tout datagrampacket supérieur à ce maximum. La taille maximale des paquets de datagramme pour lesquels UDP est utilisé peut être modifiée en modifiant une clé et une valeur de Registre.

Par défaut, Kerberos utilise des paquets de datagramme UDP sans connexion. Selon divers facteurs, notamment l’historique de l’identificateur de sécurité (SID) et l’appartenance au groupe, certains comptes auront des tailles de paquets d’authentification Kerberos plus importantes. En fonction de la configuration matérielle du réseau privé virtuel (VPN), ces paquets plus volumineux doivent être fragmentés lors de l’utilisation d’un VPN. Le problème est dû à la fragmentation de ces paquets Kerberos UDP volumineux. Étant donné que UDP est un protocole sans connexion, les paquets UDP fragmentés sont supprimés s’ils arrivent à la destination hors de commande.

Si vous remplacez MaxPacketSize par une valeur de 1, vous forcez le client à utiliser TCP pour envoyer le trafic Kerberos via le tunnel VPN. Étant donné que TCP est orienté connexion, il s’agit d’un moyen de transport plus fiable sur le tunnel VPN. Même si les paquets sont supprimés, le serveur demande à nouveau le paquet de données manquant.

Vous pouvez modifier MaxPacketSize sur 1 pour forcer les clients à utiliser le trafic Kerberos via TCP. Pour ce faire, procédez comme suit :

  1. Démarrez l'Éditeur du Registre.

  2. Recherchez la sous-clé de Registre suivante, puis cliquez dessus : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters.

    Note

    Si la clé Parameters n’existe pas, créez-la maintenant.

  3. Dans le menu Edition, pointez sur Nouveau, puis cliquez sur Valeur DWORD.

  4. Tapez MaxPacketSize, puis appuyez sur Entrée.

  5. Double-cliquez sur MaxPacketSize, tapez 1 dans la zone De données Valeur, cliquez pour sélectionner l’option Décimale , puis cliquez sur OK.

  6. Quittez l'Éditeur du Registre.

  7. Redémarrez votre ordinateur.

Il s’agit de l’approche de la solution pour Windows 2000, XP et Server 2003. Windows Vista et les versions ultérieures utilisent la valeur par défaut « 0 » pour MaxPacketSize, ce qui désactive également l’utilisation d’UDP pour le client Kerberos.

Le modèle suivant est un modèle d’administration qui peut être importé dans la stratégie de groupe pour permettre à la valeur MaxPacketSize d’être définie pour tous les ordinateurs d’entreprise exécutant Windows Server 2003, Windows XP ou Windows 2000. Pour afficher les paramètres MaxPacketSize dans l’Éditeur d’objets de stratégie de groupe, cliquez sur Afficher les stratégies uniquement dans le menu Affichage afin que l’affichage des stratégies uniquement ne soit pas sélectionné. Ce modèle modifie les clés de Registre en dehors de la section Stratégies. Par défaut, l’Éditeur d’objets de stratégie de groupe n’affiche pas ces paramètres de Registre.