Problèmes avec l'authentification Kerberos lorsqu'un utilisateur appartient à de nombreux groupes

Traductions disponibles Traductions disponibles
Numéro d'article: 327825 - Voir les produits auxquels s'applique cet article
La prise en charge de Windows Vista Service Pack 1 (SP1) se termine le 12 juillet 2011. Pour continuer à recevoir des mises à jour de sécurité pour Windows, assurez-vous que vous utilisez Windows Vista Service Pack 2 (SP2). Pour plus d'informations, reportez-vous à cette page Web de Microsoft : Prise en charge se termine pour certaines versions de Windows.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsqu'un utilisateur appartient à de nombreux groupes, cet utilisateur peut avoir des problèmes avec l'authentification ou les paramètres de stratégie de groupe. Les articles suivants de la Base de connaissances Microsoft décrivent ces problèmes plus en détail :

269643 L'authentification Kerberos d'Explorer Internet ne fonctionne pas en raison d'une mémoire tampon insuffisante, connexion à IIS
280380 Exploit par Buffer overflow possible avec les procédures stockées étendues
2020943 Erreur « HTTP 400 - Requête incorrecte (demande en-tête trop long) » dans Internet Information Services (IIS)
La résolution qui est décrite dans ces articles vous demande de modifier la valeur de Registre MaxTokenSize. Une amélioration a été faite à cette résolution. Si vous utilisez le correctif qui est décrit dans cet article, vous devrez peut-être pas modifier la valeur MaxTokenSize par défaut.

Le correctif qui est décrit dans cet article remplace les correctifs décrits dans les articles de la Base de connaissances Microsoft qui sont répertoriées dans cette section.

Cause

L'utilisateur ne peut pas authentifier le jeton Kerberos qui est généré au cours des tentatives d'authentification ayant une taille maximale fixe. Transports de l'appel de procédure distante (RPC) et HTTP utilisent la valeur MaxTokenSize lors de leur allouer des tampons pour l'authentification. Dans Windows 2000 (la version d'origine), la valeur MaxTokenSize est 8 000 octets. Dans Windows 2000 Service Pack 2 (SP2) et Windows Server 2003, la valeur MaxTokenSize est 12 000 octets.

Kerberos utilise le champ de certificat d'attribut privilège (PAC) du paquet Kerberos pour transporter l'appartenance au groupe Active Directory. À partir de Windows Server 2012, cela s'applique également au champ d'informations (contrôle d'accès dynamique) Active Directory revendications. S'il y a de nombreuses appartenances aux groupes de l'utilisateur, et s'il y a de nombreuses demandes de l'utilisateur ou le périphérique qui est utilisé, ces champs peuvent occuper beaucoup d'espace dans le paquet.

Si un utilisateur est membre de plus de 120 groupes, la mémoire tampon qui est déterminée par la valeur MaxTokenSize n'est pas assez grande. Par conséquent, les utilisateurs ne peuvent pas s'authentifier, et ils peuvent recevoir un message d'erreur « mémoire insuffisante ». Avant d'appliquer le correctif qui est décrit dans cet article, chaque groupe est ajouté à un compte d'utilisateur augmente ce tampon de 40 octets.

Remarque : Dans de nombreux scénarios, l'authentification Windows NTLM fonctionne comme prévu. Vous ne voyiez pas le problème de l'authentification Kerberos sans analyse. Toutefois, les scénarios dans lesquels les paramètres de stratégie de groupe sont appliquées peut ne pas fonctionnent comme prévu.

Résolution

Important :Pour résoudre ce problème, vous devez définir la valeur de Registre MaxTokenSize sur tous les ordinateurs impliqués dans le processus d'authentification Kerberos. Cela inclut les clients SQL Server.(Autrement dit, la clé de Registre a fixer sur chaque ordinateur impliqué dans le flux de demande/réponse. Par conséquent, s'il existe un client SQL Server sur laquelle s'appuie une application web, ou si le jeton d'utilisateur doit être transmis à une base de données de SQL Server back-end, la clé de Registre doit être défini sur l'ordinateur client de SQL Server, l'ordinateur de base de données SQL Server, et également l'ordinateur client qui exécute Internet Explorer, le serveur web qui exécute IISet ainsi de suite.)

Remarque : Les versions suivantes de Windows incluent un correctif pour ce problème :
  • Windows 8
  • Windows Server 2012
  • Windows 7
  • Windows Server 2008 R2
  • Windows Server 2003
  • Windows Vista
  • Windows Server 2008
  • Windows XP Professionnel

Informations sur le service pack

Pour résoudre ce problème, procurez-vous le dernier service pack pour Microsoft Windows 2000. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
260910 Comment faire pour obtenir le dernier service pack Windows 2000

Informations sur le correctif

Un correctif est désormais disponible auprès de Microsoft. Toutefois, il est conçu pour résoudre uniquement le problème décrit dans cet article. Il s'applique uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre le prochain service pack Windows 2000 qui comprendra ce correctif.

Pour résoudre ce problème immédiatement, contactez les Services de Support technique Microsoft pour obtenir le correctif. Pour obtenir une liste complète des numéros de téléphone des Services de Support technique Microsoft et des informations sur les coûts de support, consultez le site Web Microsoft suivant :
http://support.Microsoft.com/contactus/?ws=support
Remarque : Dans certains cas particuliers, les frais généralement encourus pour les appels au support technique peuvent être annulés si un technicien du support technique Microsoft détermine qu'une mise à jour spécifique peut résoudre votre problème. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes qui ne relèvent pas de la mise à jour spécifique en question.La version anglaise de ce correctif possède les attributs de fichier (ou attributs ultérieurs de fichier ) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont classées par rapport temps universel coordonné (UTC). Les informations du fichier sont converties en heure locale. Pour trouver la différence entre l'UTC et l'heure locale, utilisez l'onglet fuseau horaire dans l'élément de Date et heure dans le panneau de configuration.

Statut

Microsoft a confirmé qu'il s'agit d'un problème pour les produits Microsoft répertoriés dans la section « S'applique à ». Ce problème a été corrigé dans Microsoft Windows 2000 Service Pack 4.

Plus d'informations

Jeton taille calcul Windows 2000 vers Windows Server 2008 R2

Si vous utilisez le correctif qui est décrit dans cet article, vous n'avez pas à modifier la valeur de Registre MaxTokenSize dans la plupart des cas. Toutefois, il existe certains scénarios dans lesquels vous devez modifier la valeur de Registre MaxTokenSize après avoir appliqué ce correctif. Après avoir appliqué ce correctif logiciel sur tous les contrôleurs de domaine, utilisez la formule suivante pour déterminer si vous devez modifier la valeur MaxTokenSize :
TokenSize = 1200 + 40d + 8s
Cette formule utilise les valeurs suivantes :
  • d: le nombre d'un utilisateur est membre de groupes locaux de domaine ainsi que le nombre de groupes universels en dehors du domaine du compte de l'utilisateur que l'utilisateur est un membre de plus le nombre de groupes représentés dans la sécurité historique ID (SID).
  • s: le nombre de groupes de sécurité globaux dont un utilisateur est membre de plus le nombre de groupes universels dans le domaine du compte d'un utilisateur dont l'utilisateur est membre.
  • 1200 : La valeur estimée pour l'activité de ticket. Cette valeur peut varier en fonction de facteurs tels que la longueur du nom de domaine DNS, nom de client et d'autres facteurs.
Dans les scénarios dans lesquels la délégation est utilisée (par exemple, lorsque les utilisateurs s'authentifient au contrôleur de domaine), nous vous recommandons de doubler la taille de jeton.

Quand la valeur de l'entrée de Registre

Si la taille de jeton que vous calculez à l'aide de cette formule est inférieure à 12 000 octets (la taille par défaut), vous n'avez pas à modifier la valeur de Registre MaxTokenSize sur les clients du domaine. Si la valeur est supérieure à 12 000 octets, consultez l'article suivant de la Base de connaissances Microsoft pour obtenir une description de l'ajustement de la valeur de Registre MaxTokenSize :

263693 Une stratégie de groupe peut ne pas être appliquée aux utilisateurs appartenant à de nombreux groupes

Remarques
  • Lorsque vous modifiez la valeur MaxTokenSize, vous devez redémarrer l'ordinateur pour que la modification soit effective.
La valeur recommandée pour l'entrée de Registre MaxTokenSize est 65535 décimal ou hexadécimal FFFF. La valeur MaxTokenSize spécifie un ticket Kerberos fixe le tampon qui contient les identificateurs SID qui représentent les groupes dont le compte est un membre de réception.

Problèmes connus que vous pouvez rencontrer

Problèmes connus pour la taille du jeton d'accès :

Le service Autorité de sécurité locale (LSA) génère le jeton d'accès utilisateur à partir de cette mémoire tampon SID. La limite codée en dur de client définissables SID pour ce jeton est 1,015, reportez-vous à cet article de la base de connaissances :
328889 Utilisateurs qui sont membres de groupes de plus de 1 015 peuvent échouer l'authentification d'ouverture de session
http://support.Microsoft.com/kb/328889/en-us

Par conséquent, une valeur MaxTokenSize pour plus de 1015 SID efficace n'est pas utile. Dans la formule suivante :
MaxTokenSize = 8 1200 + 40 d + s
40d signifie que vous avez 40 octets pour un SID de groupe de domaine Local. 8 s signifie 8 octets pour un SID de groupe de domaine Global/universel.

Par conséquent, si vous avez une valeur MaxTokenSize 0x0000FFFF (64K), vous pourrez peut-être la mémoire tampon d'environ 1600 domaine Local SID de groupe ou environ 8000 domaine Global/Universal groupe SID. Si vous utilisez des comptes « approuvé pour la délégation », les besoins en mémoire tampon pour chaque SID peut être doublée. Dans ces scénarios, vous pouvez seulement stocker environ 800 domaine Local SID de groupe lorsqu'une valeur MaxTokenSize de 64 Ko est utilisée. Toutefois, ayant uniquement domaine Local SID de groupe n'est pas un scénario typique. Une valeur de 64K doit suffire même pour les scénarios de délégation.

Problèmes connus pour le serveur d'informations Internet HTTP le tampon de réception :

Internet Information Server (IIS) utilise une taille de mémoire tampon de demande réduite pour atténuer un refus de l'attaque service de 64 Ko. Toutefois, un Kerberos Ticket dans une requête HTTP est codé en Base64 (six bits développée à huit bits). En outre, et le Kerberos Ticket à l'aide de 133 % de sa taille d'origine. Par conséquent, lorsque la taille de la mémoire tampon maximale est de 64 Ko dans IIS, 48 Ko d'un Kerberos Ticket peut être utilisée.

Si vous définissez l'entrée de Registre MaxTokenSize sur une valeur supérieure à 48000, et l'espace de mémoire tampon est utilisée pour les identificateurs de sécurité, une erreur d'IIS peut se produire. Toutefois, si vous définissez l'entrée de Registre MaxTokenSize sur 48000, une erreur Kerberos peut se produire.

Pour plus d'informations sur les tailles de mémoire tampon IIS, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
310156 Comment faire pour limiter la taille de l'en-tête de la transmission HTTP qui accepte de IIS à partir d'un client dans Windows 2000

920862 Message d'erreur lorsqu'un utilisateur Outlook Web Access tente d'accéder à une boîte aux lettres dans Exchange Server 2003: « HTTP 400 Requête incorrecte (en-tête de requête trop long) "

Modifications de Windows Server 2012

Windows Server 2012 a introduit les modifications suivantes pour les remarques cette mémoire tampon :
  • La valeur par défaut pour MaxTokenSize passe à 48 000 octets.
  • Il existe un nouveau schéma pour compresser les identificateurs SID dans la PAC.
  • Contrôle d'accès dynamique ajoute à Active Directory affirme le Ticket. Par conséquent, calcul de la taille attendue de ticket n'est plus simple. L'objectif est que les tickets émis par les contrôleurs de domaine Windows Server 2012 sont plus petites que les tickets mêmes qui sont émis à partir d'anciennes versions de système d'exploitation. Ajoutent des revendications à la taille du ticket. Cependant, une fois que les serveurs de fichiers Windows Server 2012 sont globalement en utilisant les revendications, vous devriez progressivement un nombre significatif de vos groupes qui contrôlent l'accès aux fichiers pour ajuster les tailles de ticket.

Pour plus d'informations sur les modifications de Windows Server 2012, consultez le site Web Microsoft TechNet suivant :
http://technet.Microsoft.com/en-us/library/hh831717.aspx

Exemples de problèmes en cas de dépasse de la taille du ticket

Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants de la Base de connaissances Microsoft.
277741 Ouverture de session Internet Explorer échoue en raison d'une mémoire tampon insuffisante pour Kerberos
313661 Message d'erreur: « Délai expiré » se produit lorsque vous vous connectez à SQL Server via TCP/IP et le Kerberos MaxTokenSize est supérieur à 0xFFFF

Étant donné que vous disposez des scénarios de connexion entre les domaines de votre forêt, la valeur doit être définie à l'échelle de la forêt sur tous les systèmes basés sur Windows. Par conséquent, nous recommandons que la valeur maximale de la valeur MaxTokenSize 64 Ko.

Important : Sur les clients SQL Server, vous pouvez recevoir le message d'erreur suivant lorsque ce problème se produit :
Impossible de générer le contexte SSPI
Pour résoudre ce problème, vous devez définir la valeur de Registre MaxTokenSize sur tous les ordinateurs impliqués dans le processus d'authentification Kerberos. Cela inclut les clients SQL Server.

Propriétés

Numéro d'article: 327825 - Dernière mise à jour: jeudi 10 octobre 2013 - Version: 6.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows Server 2003 Service Pack 2
  • Windows Vista Professionnel
  • Windows Vista Entreprise
  • Windows Vista Édition Intégrale
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Foundation
  • Windows Server 2008 R2 Standard
  • Windows 7 Entreprise
  • Windows 7 Professionnel
  • Windows 7 Édition Integrale
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Essentials
  • Windows Server 2012 Foundation
  • Windows Server 2012 Standard
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Datacenter x64 Edition
  • Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise x64 Edition
  • Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003 R2 Standard x64 Edition
Mots-clés : 
kbqfe kbhotfixserver kbsecurity kbwin2ksp4fix kbbug kbfix kbwin2000presp3fix kbwin2000presp4fix kbmt KB327825 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d?une traduction incorrecte du contenu ou de son utilisation par les clients.
La version anglaise de cet article est la suivante: 327825
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com