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

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 avec les paramètres de stratégie de groupe. Les articles suivants de la Base de connaissances Microsoft décrivent ces symptômes plus en détail :

269643 Internet L'authentification Kerberos Explorer ne fonctionne pas en raison d'une insuffisance mémoire tampon de la connexion à IIS
280380 Exploit par Buffer overflow possible avec les procédures stockées étendues
2020943 Erreur « HTTP 400 - Requête incorrecte (demander en-tête trop longue) » 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 décrit dans cet article, vous devrez peut-être pas modifier la valeur MaxTokenSize par défaut.

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

Cause

L'utilisateur ne peut pas s'authentifier parce que le jeton Kerberos qui est généré lors de tentatives d'authentification a une taille maximale fixe. Transports tels que l'appel de procédure distante (RPC) et HTTP s'appuient sur la valeur MaxTokenSize lors de leur allouer des tampons pour l'authentification. Dans Windows 2000 (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 de 12 000 octets.

Kerberos utilise le champ de certificat d'attribut privilège (PAC) du paquet de transport l'appartenance au groupe Active Directory Kerberos. À partir de Windows Server 2012, cela vaut également pour le champ des informations (contrôle d'accès dynamique) Active Directory revendications. S'il existe de nombreuses appartenances aux groupes pour l'utilisateur, et s'il existe de nombreuses demandes pour 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 décrit dans cet article, chaque groupe est ajouté à un compte d'utilisateur augmente cette mémoire 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 peuvent 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 qui sont impliqués dans le processus d'authentification Kerberos. Cela inclut les clients SQL Server. (Autrement dit, la clé de Registre doit être définie sur chaque ordinateur impliqué dans le flux de demande/réponse. Par conséquent, s'il existe un client SQL Server sur lequel repose une application web, ou si le jeton d'utilisateur doit être passé à 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 résoudre 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 uniquement pour corriger 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 de Windows 2000 Pack qui comprendra ce correctif.

Pour résoudre ce problème immédiatement, contactez les Services de Support technique Microsoft pour obtenir le correctif. Pour une liste complète des numéros de téléphone 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 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 connaître la différence entre l'UTC et l'heure locale, utilisez la Fuseau horaire onglet 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 dans 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 décrit dans cet article, vous n'êtes pas obligé de modifier la valeur de Registre MaxTokenSize dans la plupart des cas. Toutefois, il existe des scénarios dans lequel vous devez modifier la valeur de Registre MaxTokenSize après avoir appliqué ce correctif. Après avoir appliqué ce correctif 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 de groupes locaux de domaine de qu'un utilisateur est membre plus le nombre de groupes universels en dehors du domaine du compte d'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 que 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 du 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 qui calculent à l'aide de cette formule est inférieure à 12 000 octets (la taille par défaut), vous n'êtes pas obligé de modifier la valeur de Registre MaxTokenSize sur les clients de domaine. Si la valeur est supérieure à 12 000 octets, consultez l'article suivant de la Base de connaissances Microsoft pour un Description de la manière d'ajuster la valeur de Registre MaxTokenSize :

263693 Stratégie de groupe ne peut être appliqué 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 maximale recommandée est de 65535 décimal ou hexadécimal FFFF. La valeur MaxTokenSize spécifie un ticket Kerberos fixe le tampon qui contient les identificateurs de sécurité qui représentent les groupes dans lequel le compte est un membre de réception. Plus tard, le service d'autorité de sécurité locale (LSA) génère le jeton à partir de ce tampon SID. La limite codée en dur du client définissables SID pour ce jeton est 1,015, consultez cet article de la base de connaissances :
328889 Utilisateurs qui sont membres des 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 Local de domaine. 8 s signifie 8 octets pour un SID de groupe de domaine Global/Universal.

Par conséquent, si vous avez la valeur MaxTokenSize 0x0000FFFF (64K), vous pourrez peut-être environ 1600 domaine Local SID de groupe ou environ 8000 domaine Global/Universal groupe SID de la mémoire tampon. 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 uniquement 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 devrait suffire même pour les scénarios de délégation.

Modifications de Windows Server 2012

Windows Server 2012 introduit les modifications suivantes dans les considérations à propos de cette mémoire tampon :
  • La valeur par défaut MaxTokenSize passe à 48 000 octets.
  • Il existe un nouveau schéma de compression des identificateurs de sécurité dans la PAC.
  • Contrôle d'accès dynamique ajoute Active Directory revendications au 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 petits que les tickets mêmes qui sont émises à partir d'anciennes versions de système d'exploitation. Ajoutent des revendications à la taille du ticket. Toutefois, une fois que les serveurs de fichiers Windows Server 2012 sont largement l'utilisation de revendications, attendez-vous à un nombre significatif de vos groupes qui contrôlent l'accès aux fichiers pour ajuster les tailles de ticket de phase.

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

Exemples de problèmes lors de la taille du ticket est dépassée

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

Parce 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 fonctionnant sous 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 qui sont 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: dimanche 12 mai 2013 - Version: 5.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