Probleme cu autentificarea Kerberos atunci când un utilizator aparține mai multor grupuri

Traduceri articole Traduceri articole
ID articol: 327825 - View products that this article applies to.
Asisten?a pentru Windows Vista Service Pack 1 (SP1) s-a încheiat pe 12.07.2011. Pentru a continua să primi?i actualizări de securitate pentru Windows, asigura?i-vă că executa?i Windows Vista cu pachetul Service Pack 2 (SP2). Pentru mai multe informații, consultați această pagină web Microsoft: Asistența se încheie pentru anumite versiuni de Windows.
Măriți totul | Reduceți totul

În această pagină

Simptome

Atunci când un utilizator aparține mai multor grupuri, utilizatorul respectiv poate avea probleme cu autentificarea sau cu setările politicii de grup. Următoarele articole din Baza de cunoștințe Microsoft descriu aceste simptome mai detaliat:  

269643 Autentificarea Kerberos în Explorer Internet nu funcționează din cauza unui tampon insuficient la conectarea la IIS
280380 Posibilă exploatare de depășire a tamponului cu proceduri stocate extinse
2020943 Eroare „HTTP 400 - Solicitare eronată (Antet solicitare prea lung)” în Internet Information Services (IIS)
Soluția descrisă în aceste articole vă arată cum să modificați valoarea de registry MaxTokenSize. S-a adus o îmbunătățire acestei soluții. Dacă utilizați remedierea rapidă descrisă în acest articol, probabil nu va trebui să editați valoarea implicită MaxTokenSize.

Remedierea rapidă descrisă în acest articol prevalează față de remedierile descrise în articolele din Baza de cunoștințe Microsoft prezentate în această secțiune.

Cauză

Utilizatorul nu se poate autentifica deoarece simbolul Kerberos generat în timpul încercărilor de autentificare are o dimensiune maximă fixă. Transporturile RPC (remote procedure call) și HTTP se bazează pe valoarea MaxTokenSize atunci când acestea alocă tampoane pentru autentificare. În Windows 2000 (versiunea originală lansată), valoarea MaxTokenSize este de 8.000 de octeți. În Windows 2000 Service Pack 2 (SP2) și Windows Server 2003, valoarea MaxTokenSize este de 12.000 de octeți.

Kerberos utilizează câmpul PAC (certificat atribut privilegiat) al pachetului Kerberos pentru a transporta apartenența la grupul Active Directory. Începând cu Windows Server 2012, acest lucru se aplică la câmpul de informații cu cererile Active Directory (control acces dinamic). Dacă există multe apartenențe la grup ale utilizatorului și dacă există multe cereri ale utilizatorului sau ale dispozitivului utilizat, aceste câmpuri pot ocupa mult spațiu în pachet.

Dacă un utilizator este membru în peste 120 de grupuri, tamponul stabilit de valoarea MaxTokenSize nu este suficient de mare. Prin urmare, utilizatorii nu se pot autentifica și poate să apară mesajul de eroare „memorie insuficientă”. Înainte de a aplica remedierea rapidă descrisă în acest articol, fiecare grup adăugat la un cont de utilizator își mărește tamponul cu 40 de octeți.

Notă În multe situații, autentificarea Windows NTLM funcționează conform așteptărilor. Nu puteți vedea problema autentificării Kerberos fără analiză. Cu toate acestea, există situații în care aplicându-se setările de politicii de grup, acestea să nu funcționeze conform așteptărilor.

Rezoluție

Important Pentru a rezolva această problemă, trebuie să setați valoarea de registry MaxTokenSize pentru toate computerele implicate în procesul de autentificare Kerberos. Acesta include clienții serverului SQL. (Adică cheia de registry trebuie setată pe fiecare computer implicat în fluxul de solicitare/răspuns. Prin urmare, dacă există un client de server SQL pe care se bazează o aplicație web sau dacă simbolul utilizatorului trebuie transferat către o bază de date backend a severului SQL, cheia de registry trebuie setată pe computerului clientului serverului SQL, pe computerul cu baza de date a serverului SQL și pe computerul client pe care se execută Internet Explorer, pe serverul web pe care se execută IIS ș.a.m.d.)

Notă Următoarele versiuni de Windows includ o remediere pentru această problemă:
  • Windows 8
  • Windows Server 2012
  • Windows 7
  • Windows Server 2008 R2
  • Windows Server 2003
  • Windows Vista
  • Windows Server 2008
  • Windows XP Professional

Informa?ii despre pachetul Service Pack

Pentru a rezolva această problemă, ob?ine?i cel mai recent pachet service pack pentru Microsoft Windows 2000. Pentru informa?ii suplimentare, face?i clic pe următorul număr de articol pentru a vedea articolul în Baza de cuno?tin?e Microsoft:
260910 Cum se ob?ine cel mai recent pachet de service pentru Windows 2000

Informa?ii despre remedierea rapidă

Acum, este disponibilă o remediere rapidă acceptată de la Microsoft. Însă scopul său este de a corecta numai problema descrisă în acest articol. Aplicați-o numai pe sistemele care întâmpină această problemă anume. Această remediere rapidă poate să necesite testare suplimentară. De aceea, dacă nu sunte?i grav afectat de această problemă, vă recomandăm să a?tepta?i următorul pachet service pack Windows 2000 care con?ine această remediere rapidă.

Pentru a rezolva imediat problema, contacta?i Serviciile de asisten?ă pentru clien?ii Microsoft pentru a ob?ine această remediere rapidă. Pentru o listă completă a numerelor de telefon ale Serviciilor de asisten?ă pentru clien?ii Microsoft ?i pentru informa?ii referitoare la costul asisten?ei, mergeți la următorul site web Microsoft:
http://support.microsoft.com/contactus/?ws=support&ln=ro
Notă În cazuri speciale, costurile implicate de obicei pentru apelurile de asisten?ă pot fi anulate dacă un inginer de asisten?ă Microsoft stabile?te că o anumită actualizare va rezolva problema. Costurile uzuale de suport se vor aplica pentru întrebări suplimentare de suport ?i pentru probleme ce nu fac obiectul actualizării în chestiune. Versiunea în limba engleză a acestei remedieri rapide are atributele de fișier (sau atribute de fișier mai recente) enumerate în următorul tabel. Datele și orele acestor fișiere sunt prezentate în timp universal (UTC). Când vizualizați informațiile despre fișiere, acestea sunt transformate în ora locală. Pentru a afla diferen?a între timpul universal ?i cel local, utiliza?i fila Fus orar din elementul Dată ?i oră din Panoul de control.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”. Această problemă a fost corectată prima dată în Microsoft Windows 2000 Service Pack 4.

Informații suplimentare

Calcularea dimensiunii simbolului de la Windows 2000 la Windows Server 2008 R2

Dacă utilizați remedierea rapidă descrisă în acest articol, în majoritatea cazurilor nu trebuie să modificați valoare de registry MaxTokenSize. Cu toate acestea, există unele situații în care trebuie să modificați valoarea de registry MaxTokenSize după aplicarea acestei remedieri rapide. După aplicarea acestei remedieri rapide pentru toate controlerele de domeniu, utilizați formula următoare pentru a stabili dacă trebuie să modificați valoarea MaxTokenSize:
DimensiuneSimbol = 1200 + 40d + 8s
Această formulă utilizează următoarele valori:
  • d: Numărul de grupuri locale din domeniu al căror membru este utilizatorul plus numărul de grupuri universale din afara domeniului contului utilizatorului al căror membru este utilizatorul plus numărul de grupuri reprezentate în istoricul ID-ului de securitate (SID).
  • s: Numărul grupurilor globale de securitate al căror membru este utilizatorul plus numărul de grupuri universale din domeniul unui cont de utilizator al căror membru este utilizatorul.
  • 1200: Valoarea estimată pentru supraîncărcarea tichetului. Această valoare poate varia în funcție de factori ca lungimea numelui de domeniu DNS, numele de client și alți factori.
În situațiile în care se utilizează delegarea (de exemplu, atunci când utilizatorii se autentifică pentru un controler de domeniu), vă recomandăm să dublați dimensiunea simbolului.

Când se setează intrarea de registry

Dacă dimensiunea simbolului pe care o calculați utilizând această formulă este mai mică de 12.000 de octeți (dimensiunea implicită), nu trebuie să modificați valoarea de registry MaxTokenSize pentru clienții de domeniu. Dacă valoare este mai mare de 12.000 de octeți, consultați următorul articol din Baza de cunoștințe Microsoft pentru descrierea modului de reglare a valorii de registry MaxTokenSize:

263693 Este posibil ca politica de grup să nu se aplice utilizatorilor aparținând mai multor grupuri

Note
  • Când modificați valoarea MaxTokenSize, trebuie să reporniți computerul, astfel încât schimbarea să aibă efect.
Valoarea maximă recomandată este zecimală 65535 sau hexazecimală FFFF. Valoarea MaxTokenSize specifică un tampon fix de primire a tichetului Kerberos care conține SID-urile ce reprezintă grupul în care contul este membru. Ulterior, serviciul autorității de securitate locală (LSA) generează simbolul de la acest tampon SID. Limita de trecere în cod sursă a SID-urilor ce pot fi definite de client pentru acest simbol este de 1.015, consultați acest articol din Baza de cunoștințe:
328889 Este posibil ca utilizatorii care sunt membri în mai mult de 1.015 de grupuri să nu se poată autentifica
http://support.microsoft.com/kb/328889/EN-US

Prin urmare, o valoare MaxTokenSize pentru mai mult de 1.015 SID-uri efective nu este utilă. În următoarea formulă:
MaxTokenSize = 1200 + 40d + 8s
40d înseamnă că aveți 40 de octeți pentru un SID de grup local în domeniu. 8s înseamnă 8 octeți pentru un SID de grup universal/global în domeniu.

Prin urmare, dacă aveți o valoare MaxTokenSize de 0x0000FFFF (64.000), puteți trece în tampon aproximativ 1.600 de SID-uri de grup local în domeniu sau aproximativ 8.000 de SID-uri de grup universal/global în domeniu. Dacă utilizați conturile „încredințate pentru delegare”, cerința de tampon pentru fiecare SID poate fi dublată. În aceste situații, puteți stoca numai aproximativ 800 de SID-uri de grup local în domeniu când se utilizează o valoare de 64.000 pentru MaxTokenSize. Cu toate acestea, existența numai a SID-urilor de grup local în domeniu nu reprezintă o situație tipică. O valoare de 64.000 ar trebui să fie suficientă chiar și pentru situațiile de delegare.

Modificările de Windows Server 2012

Windows Server 2012 a introdus următoarele modificări privind acest tampon:
  • Valoarea implicită pentru MaxTokenSize se modifică la 48.000 de octeți.
  • Există o nouă schemă pentru comprimarea SID-urilor în PAC.
  • Controlul accesului dinamic adaugă cereri Active Directory la tichet. Prin urmare, calculul dimensiunilor previzibile ale tichetelor nu mai este precis. Se presupune că tichetele eliberate de controlerele de domeniu Windows Server 2012 sunt mai mici decât aceleași tichete eliberate de versiuni mai vechi de sisteme de operare. Cererile se adaugă la dimensiunea tichetului. Cu toate acestea, după ce serverele de fișiere Windows Server 2012 utilizează în linii mari cererile, vă puteți aștepta la reducerea semnificativă a numărului de grupuri care controlează accesul la fișiere pentru a reduce dimensiunile tichetelor.

Pentru mai multe informa?ii despre modificările din Windows Server 2012, mergeți la următorul site web Microsoft TechNet:
http://technet.microsoft.com/ro-ro/library/hh831717.aspx

Exemple de probleme atunci când se depășește dimensiunea tichetului

Pentru mai multe informații, faceți clic pe următoarele numere de articole pentru a vizualiza articolele în Baza de cunoștințe Microsoft:
277741 Nu se reușește conectarea la Internet Explorer din cauza unui tampon insuficient pentru Kerberos
313661 Mesaj de eroare: „Timp de așteptare expirat” apare atunci când vă conectați la serverul SQL prin TCP/IP și valoarea MaxTokenSize pentru Kerberos este mai mare decât 0xFFFF

Deoarece este posibil să aveți situații în care conectarea se face între domenii în pădure, valoarea trebuie setată la nivel de pădure în toate sistemele bazate pe Windows. De aceea vă recomandăm ca valoarea maximă pentru MaxTokenSize să fie 64.000.

Importanta Pe clienții de server SQL, este posibil să primiți următorul mesaj de eroare atunci când apare această problemă:
Imposibil de generat contextul SSPI
Pentru a rezolva această problemă, trebuie să setați valoarea de registry MaxTokenSize pentru toate computerele implicate în procesul de autentificare Kerberos. Acest lucru include clienții serverului SQL.

Proprietă?i

ID articol: 327825 - Ultima examinare: 30 august 2013 - Revizie: 3.0
Se aplică la:
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows Server 2003 Service Pack 2
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Ultimate
  • 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 Enterprise
  • Windows 7 Professional
  • Windows 7 Ultimate
  • 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
Cuvinte cheie: 
kbqfe kbhotfixserver kbsecurity kbwin2ksp4fix kbbug kbfix kbwin2000presp3fix kbwin2000presp4fix KB327825

Trimite?i feedback

 

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