Problemy z uwierzytelnianiem Kerberos, gdy użytkownik należy do wielu grup

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 327825 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Pomoc techniczna dla systemu Windows Vista z dodatkiem Service Pack 1 (SP1) upływa z dniem 12 lipca 2011 roku. Aby w dalszym ciągu otrzymywać aktualizacje zabezpieczeń dla systemu Windows, upewnij się, że używasz system Windows Vista z dodatkiem Service Pack 2 (SP2). Aby uzyskać więcej informacji należy zapoznać się z tej strony sieci Web firmy Microsoft: Pomoc kończy się dla niektórych wersji systemu Windows.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Symptomy

Gdy użytkownik należy do wielu grup, użytkownik może mieć problemy z uwierzytelnianiem lub ustawienia zasady grupy. Następujące artykuły bazy wiedzy Microsoft Knowledge Base opisano te objawy bardziej szczegółowo:

269643 Uwierzytelnianie Internet Explorer Kerberos zakończy się niepowodzeniem z powodu niewystarczającego buforu, łączący się z IIS
280380 Możliwe z rozszerzonych procedur przechowywanych wykorzystania przepełnienia buforu
2020943 Błąd "HTTP 400 - Złe żądanie (żądanie nagłówka za długi)" w programie Internet Information Services (IIS)
Rozdzielczość, opisaną w tych artykułach powoduje, że można zmodyfikować wartości rejestru MaxTokenSize. Poprawa nastąpiła niniejszą rezolucję. Jeśli używasz poprawki, którą opisano w tym artykule, może nie musisz edytować MaxTokenSize wartość domyślną.

Poprawki, którą opisano w tym artykule zastępuje poprawki, które są opisane w artykułach z bazy wiedzy Microsoft Knowledge Base, które są wymienione w tej sekcji.

Przyczyna

Użytkownik nie może uwierzytelnić, ponieważ tokenu Kerberos, który jest generowany podczas prób uwierzytelnienia ma stały rozmiar maksymalny. Transportu, takich jak zdalne wywołanie procedury (RPC) i HTTP polegać na wartość MaxTokenSize, gdy one przydzielić buforów do uwierzytelniania. W systemie Windows 2000 (oryginalna wersja) MaxTokenSize wartość jest 8000 bajtów. W dodatku Service Pack 2 (SP2) dla systemu Windows 2000 i Windows Server 2003 12 000 bajtów ma wartość MaxTokenSize.

Kerberos używa pola certyfikatu atrybut uprawnień (PAC) pakietu Kerberos do transportu członkostwa grupy usługi Active Directory. Począwszy od systemu Windows Server 2008 R2, dotyczy to również Active Directory roszczeń w polu information (dynamicznej kontroli dostępu). Jeśli istnieje wiele członkostw grup dla użytkownika i istnieje wiele twierdzi dla użytkownika lub urządzenia, który jest używany, te pola mogą zajmować dużo miejsca w pakiecie.

Jeśli użytkownik jest członkiem grupy więcej niż 120, bufor, który jest określony przez wartość MaxTokenSize nie jest wystarczająco duży. W związku z tym nie będzie możliwe uwierzytelnianie użytkowników i może zostać wyświetlony komunikat o błędzie "Brak pamięci". Przed zastosowaniem poprawki, którą opisano w tym artykule, każda grupa, który jest dodawany do konta użytkownika zwiększa bufor 40 bajtów.

Uwaga W wielu sytuacjach uwierzytelnianie Windows NTLM działa zgodnie z oczekiwaniami. Nie widzisz problem z uwierzytelnianiem Kerberos bez analizy. Jednakże scenariusze, w których stosowane są ustawienia zasady grupy mogą nie działać zgodnie z oczekiwaniami.

Rozwiązanie

WażneAby rozwiązać ten problem, należy ustawić wartość rejestru MaxTokenSize dla wszystkich komputerów, które są zaangażowane w proces uwierzytelniania Kerberos. Obejmuje to klientom programu SQL Server.(To znaczy klucz rejestru ma ma być ustawiony na każdym komputerze, który jest zaangażowany w przepływie żądanie/odpowiedź. W związku z tym jeśli istnieje klienta programu SQL Server, na którym opiera się aplikacji sieci web lub tokenu użytkownika musi zostać przekazane do bazy danych programu SQL Server w wewnętrznej bazie danych, klucz rejestru ma ma być ustawiony na komputer kliencki programu SQL Server, komputer bazy danych programu SQL Server, i także komputer kliencki, na którym jest uruchomiony program Internet Explorer, serwer sieci web z systemem, który działa program IISitd.)

Uwaga Następujące wersje systemu Windows zawierają poprawkę rozwiązującą ten problem:
  • Windows 8
  • Windows Server 2008 R2
  • Windows 7
  • Windows Server 2008 R2
  • Windows Server 2003
  • system Windows Vista
  • Windows Server 2008
  • System Windows XP Professional

Informacje dotyczące Service pack

Aby rozwiązać ten problem, należy uzyskać najnowszy dodatek service pack dla systemu Microsoft Windows 2000. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia go w bazie wiedzy Microsoft Knowledge Base:
260910 Jak uzyskać najnowszy dodatek service pack dla systemu Windows 2000

Informacje o poprawce

Obsługiwana poprawka jest teraz udostępniana przez firmę Microsoft. Jednak jest ona przeznaczona do usunięcia tylko problemu opisanego w tym artykule. Zastosować go tylko w systemach, w których występuje ten problem. Ta poprawka może być dodatkowo testowana. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca poczekanie na następny systemu Windows 2000 z dodatkiem Service pack zawierający tę poprawkę.

Aby natychmiast rozwiązać ten problem, skontaktuj się z biurem obsługi klienta firmy Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej firmy Microsoft oraz informacje o kosztach odwiedź następujące witryny firmy Microsoft znajdują się:
http://support.microsoft.com/contactus/?ws=support
Uwaga W wyjątkowych przypadkach opłaty, które są zwykle naliczane za telefoniczną pomoc techniczną mogą zostać anulowane, jeśli pracownik profesjonalnego wsparcia firmy Microsoft stwierdzi, że określona aktualizacja może rozwiązać problem. Koszty obsługi zwykły zastosuje się do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej aktualizacji.Wersja anglojęzyczna tej poprawki ma atrybuty pliku (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC a czasem lokalnym, należy skorzystać z karty Strefa czasowa apletu Data i godzina w Panelu sterowania.

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft, które są wymienione w sekcji "Informacje zawarte w tym artykule dotyczą". Ten problem został po raz pierwszy rozwiązany w dodatku Service Pack 4 dla systemu Microsoft Windows 2000.

Więcej informacji

Token rozmiar obliczeń Windows 2000 do systemu Windows Server 2008 R2

Jeśli używasz poprawki, którą opisano w tym artykule, nie trzeba modyfikować wartości rejestru MaxTokenSize, w większości przypadków. Jednakże istnieje kilka scenariuszy, w których trzeba zmodyfikować wartość rejestru MaxTokenSize, po zastosowaniu tej poprawki. Po zastosowaniu tej poprawki na wszystkich kontrolerach domeny, umożliwia określenie, czy trzeba zmodyfikować MaxTokenSize wartość następującego wzoru:
TokenSize = 1200 + 40 d + cyfrę
Ta formuła używa następujących wartości:
  • d: liczbę grup lokalnych w domenie użytkownika jest członkiem plus liczba grup uniwersalnych poza domenę konta użytkownika, której ten użytkownik jest członkiem plus liczba grup reprezentowane w zabezpieczeń historii Identyfikatora (SID).
  • s: Liczba globalnych grup zabezpieczeń, które użytkownik jest członkiem plus liczba grup uniwersalnych w domenie konta użytkownika, której ten użytkownik jest członkiem.
  • 1200: wartość szacunkowa napowietrznych biletu. Wartość ta jest zależna od czynników, takich jak długość nazwy domeny DNS, nazwy klienta i innych czynników.
W scenariuszach, w których delegowania jest używany (na przykład, gdy użytkownicy uwierzytelniani do kontrolera domeny) zaleca się dwukrotnie rozmiaru żetonu.

Kiedy należy ustawić wartość wpisu rejestru

Jeśli rozmiar tokenu, który obliczenia za pomocą następującej formuły jest mniej niż 12 000 bajtów (domyślny rozmiar), nie trzeba modyfikować MaxTokenSize wartości rejestru na komputerach klienckich w domenie. Jeśli wartość jest więcej niż 12 000 bajtów, zobacz następujący artykuł bazy wiedzy Microsoft Knowledge Base, aby uzyskać opis sposobu dopasowywania wartości rejestru MaxTokenSize:

263693 Zasady grupy nie mogą być stosowane do użytkowników należących do wielu grup

Notatki
  • Gdy zmieniasz wartość MaxTokenSize tak, że zmiana będzie obowiązywać należy ponownie uruchomić komputer.
Zalecaną wartością dla wpisu rejestru MaxTokenSize jest dziesiętna 65535 lub FFFF w ZAPISIE szesnastkowym. MaxTokenSize wartość Określa stałe biletu Kerberos odebrać buforu, zawierające identyfikatory SID, które reprezentują grupy, których członkiem jest to konto.

Aby użyć rozmiaru bezpieczne, można wybrać zestaw MaxTokenSize 48000, po dyskusji na temat ograniczenia wprowadzone przez rozmiar nagłówka HTTP w dalszej części tego artykułu. W zależności od tego, jakie wartości używane są po raz pierwszy wystąpi problem z zdarzenia błędu Kerberos lub IIS HTTP 400 błędy.

Znane problemy, które mogą się pojawić

Znane problemy dotyczące rozmiaru tokenu dostępu:

Usługę Urząd zabezpieczeń lokalnych (LSA) generuje bufor ten identyfikator SID tokenu dostępu użytkownika. Limit ustalonych dla klienta definiowalne identyfikatorów zabezpieczeń ten token jest 1,015, zobacz ten artykuł bazy wiedzy:
328889 użytkowników, którzy są członkami grup 1,015 więcej niż może się nie powieść uwierzytelniania logowania
http://support.microsoft.com/kb/328889/en-us

W związku z tym MaxTokenSize wartość dla więcej niż 1015 skuteczne identyfikatorów SID nie jest przydatne. W następującej formule:
MaxTokenSize = 1200 + 40 d + cyfrę
40d oznacza, że masz 40 bajtów dla identyfikatora SID grupy lokalne domeny. cyfrę oznacza 8 bajtów dla identyfikatora SID grupy globalnej/Universal domeny.

W związku z tym jeśli masz MaxTokenSize wartość 0x0000FFFF (64K), może mieć możliwość buforu około 1600 domeny lokalnej grupy identyfikatorów SID lub około 8000 domeny szablon globalny/uniwersalny grupy identyfikatorów SID. Jeśli używasz konta "zaufany w kwestii delegowania", może zostać podwojony wymóg buforu dla każdego identyfikatora SID. W tych scenariuszach można przechowywać tylko około 800 lokalnej grupy identyfikatorów SID domeny użyto MaxTokenSize wartość 64K. Jednakże posiadanie tylko domeny lokalnej grupy identyfikatorów SID nie jest typowy scenariusz. Wartość 64K powinna wystarczyć nawet w scenariuszach delegowania.

Znane problemypo użyciu wartości większe niż 65535 MaxTokenSize

Poprzednie wersje tego artykułu omówiono wartości do 100000 bajtów dla MaxTokenSize. Odkryliśmy, że wersje programu Administrator programu SMS występują problemy podczas MaxTokenSize wynosi 100000 lub większych. Również Odkryliśmy, że protokół IPSEC IKE nie zezwala na zabezpieczeń obiektu BLOB się większe niż 66536 bajtów, a to również nie po MaxTokenSize jest ustawiona na wartość większą.

Bufor odbioru znane problemy dotyczące Internetu informacje serwera HTTP

Internet Information Server (IIS) używa rozmiar buforu obniżonej żądania do złagodzenia odmowę usługi ataku 64 KB. Jednakże biletu Kerberos w żądaniu HTTP jest zakodowane w formacie Base64 (bity 6 rozszerzony do ośmiu bitów). Dodatkowo a biletu Kerberos używa 133% oryginalnego rozmiaru. Dlatego gdy maksymalny rozmiar buforu jest 64 KB w programie IIS, mogą być używane 48 KB biletu protokołu Kerberos.

Jeśli wpis rejestru MaxTokenSize zostanie ustawiona wartość, która jest większa od 48000, a miejsca w buforze jest używany dla identyfikatorów SID, może wystąpić błąd usług IIS. Jednakże jeśli wpis rejestru MaxTokenSize zostanie ustawiona na 48000, może wystąpić błąd protokołu Kerberos.

Aby uzyskać więcej informacji na temat usług IIS rozmiary buforów kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
310156 Jak ograniczyć rozmiar nagłówka transmisji HTTP, która akceptuje IIS od klienta w systemie Windows 2000

920862 Komunikat o błędzie, gdy użytkownik programu Outlook Web Access podejmie próbę dostępu do skrzynki pocztowej w programie Exchange Server 2003: "HTTP 400 Złe żądanie (zbyt długi nagłówek żądania)"

Zmiany systemu Windows Server 2008 R2

Windows Server 2008 R2 wprowadzono następujące zmiany do zagadnienia dotyczące tego buforu:
  • Zmienia domyślne dla MaxTokenSize do 48 000 bajtów.
  • Istnieje nowy schemat kompresji identyfikatorów SID w SAW.
  • Kontrola dostępu dynamicznego dodaje Active Directory roszczeń do biletu. W związku z tym obliczania wielkości oczekiwanej biletu nie jest już proste. Oczekuje się, że bilety, które są wystawiane przez kontrolery domeny systemu Windows Server 2008 R2 są mniejsze od tych samych biletów wystawionych ze starszych wersji systemu operacyjnego. Roszczeń zwiększają rozmiar biletu. Jednak po serwery plików systemu Windows Server 2008 R2 jest szeroko używany roszczeń, można spodziewać się wycofywać znaczącej liczby grup kontrolujące dostęp do przycięcia bilet rozmiary plików.

Aby uzyskać więcej informacji na temat zmiany systemu Windows Server 2008 R2 przejdź do następującej witryny sieci Web Microsoft TechNet:
http://technet.microsoft.com/en-us/library/hh831717.aspx

Przykłady problemów po przekroczeniu rozmiaru biletu

Aby uzyskać więcej informacji, kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
277741 Program Internet Explorer logowanie nie powiedzie się z powodu niewystarczającego buforu, protokół Kerberos
313661 Komunikat o błędzie: "Upłynął limit czasu" występuje po podłączeniu do serwera SQL przez TCP/IP i Kerberos MaxTokenSize jest większa niż 0xFFFF

Ponieważ może mieć scenariuszy logowania między domenami w lesie, powinna być ustawiona wartość lasu we wszystkich systemach opartych na systemie Windows. Dlatego zaleca się, że wartość maksymalna dla wartości MaxTokenSize być 64K.

Ważne Na komputerach klienckich programu SQL Server może otrzymać następujący komunikat o błędzie w przypadku wystąpienia tego problemu:
Nie można wygenerować kontekstu SSPI
Aby rozwiązać ten problem, należy ustawić wartość rejestru MaxTokenSize dla wszystkich komputerów, które są zaangażowane w proces uwierzytelniania Kerberos. Obejmuje to klientom programu SQL Server.

Właściwości

Numer ID artykułu: 327825 - Ostatnia weryfikacja: 13 czerwca 2014 - Weryfikacja: 5.0
Informacje zawarte w tym artykule dotyczą:
  • 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
  • Windows 8.1 Enterprise
  • Windows 8.1 Pro
  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 R2 Essentials
  • Windows Server 2012 R2 Foundation
  • Windows Server 2012 R2 Standard
Słowa kluczowe: 
kbqfe kbhotfixserver kbsecurity kbwin2ksp4fix kbbug kbfix kbwin2000presp3fix kbwin2000presp4fix kbmt KB327825 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.
Anglojęzyczna wersja tego artykułu to: 327825

Przekaż opinię

 

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