Potíže s ověřováním pomocí protokolu Kerberos, pokud uživatel patří do více skupin

Překlady článku Překlady článku
ID článku: 327825 - Produkty, které se vztahují k tomuto článku.
Podpora pro systém Windows Vista Service Pack 1 (SP1) končí dne 12. července 2011. Chcete-li pokračovat v přijímání aktualizací zabezpečení pro systém Windows, zkontrolujte, zda používáte systém Windows Vista s aktualizací Service Pack 2 (SP2). Další informace naleznete na této webové stránce společnosti Microsoft: Končí podpora některých verzí systému Windows.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Pokud uživatel patří do více skupin, že uživatel může mít problémy s ověřováním nebo pomocí nastavení Zásady skupiny. Tyto příznaky podrobněji jsou popsány v následujících článcích znalostní báze Microsoft Knowledge Base:

269643 Ověřování protokolem Kerberos Internet Explorer nefunguje nedostatečné vyrovnávací paměti připojení ke službě IIS
280380 Zneužití přetečení vyrovnávací paměti s rozšířené uložené procedury
2020943 "HTTP 400 - Chybný požadavek (Request záhlaví příliš dlouhý)" Chyba v Internetová informační služba (IIS)
Řešení popsané v těchto článcích dá pokyn k úpravě MaxTokenSize hodnota registru. Toto řešení byl proveden zlepšení. Pokud použijete opravu hotfix, která je popsána v tomto článku, pravděpodobně výchozí MaxTokenSize hodnotu upravit.

Opravu hotfix popsanou v tomto článku nahrazuje opravy hotfix, které jsou popsány v článcích znalostní báze Microsoft Knowledge Base, které jsou uvedeny v této části.

Příčina

Uživatele nelze ověřit, protože pevnou maximální velikost tokenu protokolu Kerberos, který je generován během pokusů o ověření. Způsoby přepravy, jako je vzdálené volání procedur (RPC) a protokol HTTP spoléhat na MaxTokenSize hodnota při jejich přidělení vyrovnávací paměti pro ověřování. V systému Windows 2000 (původní verze systému) MaxTokenSize hodnota je 8 000 bajtů. V systému Windows 2000 Service Pack 2 (SP2) a Windows Server 2003 MaxTokenSize hodnota je 12 000 bajtů.

Kerberos používá pole atributů oprávnění certifikát (PAC) paketu protokolu Kerberos na dopravu členství skupiny služby Active Directory. Počínaje Windows Server 2012, to platí i pro pole nároky Active Directory information (dynamické řízení přístupu). Pokud existuje mnoho členství ve skupině pro uživatele a pokud jsou pro uživatele nebo zařízení, které používá mnoho žádostí, tato pole mohou zabírat mnoho místa v paketu.

Pokud je uživatel členem více než 120 skupin, není dostatečně velká vyrovnávací paměť, která je určena podle hodnoty MaxTokenSize. Proto uživatele nelze ověřit a může se zobrazit chybová zpráva "nedostatek paměti". Před instalací opravy hotfix, která je popsána v tomto článku, všechny skupiny, která je přidána do uživatelského účtu této vyrovnávací paměti zvyšuje o 40 bajtů.

Poznámka: V mnoha případech ověřování NTLM systému Windows funguje podle očekávání. Nevidíte problém ověřování Kerberos bez analýzy. Však scénáře, ve kterých je použito nastavení Zásady skupiny nemusí fungovat podle očekávání.

Řešení

Důležité Chcete-li vyřešit tento problém, nastavte u všech počítačů, které se účastní procesu ověřování pomocí protokolu Kerberos MaxTokenSize hodnota registru. Jedná se o klienty serveru SQL Server.(To znamená, že klíč registru musí být stanovena v každém počítači, který je součástí toku požadavků a odpovědí. Proto pokud je SQL Server klienta, o které se opírá webové aplikace nebo token uživatele musí být předány do databáze serveru SQL Server back-end, klíč registru musí být stanovena v klientském počítači serveru SQL Server, databáze serveru SQL a také klientský počítač, který je spuštěna aplikace Internet Explorer, webového serveru se systémem, který je službou IISatd.)

Poznámka: Následující verze systému Windows obsahuje opravu tohoto problému:
  • Windows 8
  • Windows Server 2012
  • Windows 7
  • Windows Server 2008 R2
  • Windows Server 2003
  • Systém Windows Vista
  • Windows Server 2008
  • Systém Windows XP Professional

Informace o aktualizaci Service Pack

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro systém Microsoft Windows 2000. Další informace získáte kliknutím na číslo článku znalostní báze Microsoft Knowledge Base:
260910 Jak získat nejnovější aktualizaci service pack pro systém Windows 2000

Informace o opravě hotfix

K dispozici je nyní podporovaná oprava hotfix od společnosti Microsoft. Je však určena opravit pouze problém popsaný v tomto článku. Použijte ji pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud jste závažně tento problém, doporučujeme počkat další aktualizaci service pack pro systém Windows 2000, který obsahuje tuto opravu hotfix.

Chcete-li tento problém vyřešit okamžitě, obraťte se na technickou podporu společnosti Microsoft získat opravu hotfix. Úplný seznam telefonních čísel služeb technické podpory společnosti Microsoft a informace o cenách technické podpory naleznete na následujícím webu společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=support
Poznámka: Ve zvláštních případech mohou být účtované poplatky podpory stornovány, pokud pracovník technické podpory společnosti Microsoft určí, že váš problém vyřeší konkrétní aktualizace. Výdaje na technickou podporu použije dalších otázek a problémů, které nelze vyřešit konkrétní aktualizací.Anglická verze této opravy hotfix má atributy souborů (nebo novější) uvedené v následující tabulce. Datum a čas jednotlivých souborů jsou uvedeny v seznamu Koordinovaného světového času (UTC). Pokud zobrazíte informace o souboru, jsou konvertovány do lokálního času. Chcete-li zjistit rozdíl mezi časem UTC a místním časem, použijte kartu časové pásmo v položce Datum a čas v okně Ovládací panely.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro". Tento problém byl poprvé opraven v aktualizaci Microsoft Windows 2000 Service Pack 4.

Další informace

Token výpočet velikosti Windows 2000 na systém Windows Server 2008 R2

Pokud použijete opravu hotfix, která je popsána v tomto článku, není nutné změnit hodnotu registru MaxTokenSize ve většině případů. Existují však některé scénáře, ve kterých budete muset upravit MaxTokenSize hodnota registru po použití této opravy hotfix. Po instalaci této opravy hotfix na všech řadičích domény, použijte k určení, zda je nutné změnit hodnoty MaxTokenSize následující vzorec:
TokenSize = 1200 + 40 d + 8s
Tento vzorec používá následující hodnoty:
  • d: číslo které je uživatel členem místní skupiny domény plus počet univerzálních skupin mimo doménu uživatelského účtu, jejímž je uživatel členem plus počet skupin reprezentovány v zabezpečení ID (SID) historie.
  • s: počet globálních skupin zabezpečení, které je uživatel členem plus počet univerzálních skupin v doméně účtu uživatele, jejímž je uživatel členem.
  • 1200: Odhadovaná hodnota pro režii lístek. Tato hodnota se může lišit v závislosti na faktorech, jako je například délka názvů domén DNS, název klienta a dalších faktorů.
V případech, ve kterých je použit delegování (například při uživatelé jsou ověřeni řadičem domény) doporučujeme, aby zdvojnásobíte velikost tokenu.

Při nastavení položky registru

Velikost tokenu, který se vypočítá pomocí tohoto vzorce je menší než 12 000 bajtů (výchozí hodnota), není nutné změnit hodnotu registru MaxTokenSize u klientů domény. Pokud je hodnota větší než 12 000 bajtů, naleznete v následujícím článku znalostní báze Microsoft Knowledge Base Popis postupu pro úpravu MaxTokenSize hodnotu registru:

263693 Zásady skupiny nemusí být použita pro uživatelé, kteří patří do více skupin

Poznámky
  • Při změně hodnoty MaxTokenSize musí restartování počítače tak, aby změna je účinná.
Doporučená hodnota pro položku registru MaxTokenSize je 65535 desítkové nebo šestnáctkové FFFF. MaxTokenSize hodnota určuje dlouhodobý lístku protokolu Kerberos přijímat vyrovnávací paměti, která obsahuje čísla SID, která představuje skupiny, ve kterých je účet členem.

Známé problémy, ke kterým může dojít.

Známé problémy pro velikost tokenu přístupu:

Místního úřadu zabezpečení (LSA) služba generuje Token přístupu uživatele z této vyrovnávací paměti SID. Omezení pevně zákazníka definovatelné SID pro tento token je 1,015, naleznete v tomto článku:
328889 Uživatelé, kteří jsou členy skupiny více než 1,015 může dojít k selhání ověření při přihlášení
http://support.microsoft.com/kb/328889/en-us

Proto MaxTokenSize hodnota pro více než 1015 účinné SID není užitečná. V následujícím vzorci:
MaxTokenSize = 1200 + 40 d + 8s
40d znamená, že máte 40 bajtů pro SID místní skupiny domény. 8S znamená 8 bajtů pro SID domény globální nebo univerzální skupiny.

Proto pokud máte MaxTokenSize hodnota 0x0000FFFF (64 kB), je možné do vyrovnávací paměti přibližně 1600 domény místní skupiny SID nebo přibližně 8000 domény globální nebo univerzální skupiny SID. Pokud použijete "důvěryhodný pro delegování" účty, mohou dvojitá vyrovnávací paměti požadavek pro každé číslo SID. V těchto případech může být uloženo pouze přibližně 800 domény místní skupiny SID při MaxTokenSize hodnotu 64 kB. Však mají pouze domény místní skupiny SID není běžný. Hodnotu 64 kB by mělo být dostatečné i scénářů delegování.

Vyrovnávací paměť pro příjem HTTP Server Internet informace o známých problémech:

Internet Information Server (IIS) používá velikost vyrovnávací paměti pro snížení požadavku ke zmírnění odmítnutí služby útoku 64 kB. Však lístek protokolu Kerberos v požadavku HTTP je kódována Base64 (šest bitů rozšířena na 8 bitů). Navíc a lístku protokolu Kerberos používá 133 procent původní velikosti. Proto pokud maximální velikost vyrovnávací paměti je 64 KB v rámci služby IIS, lze použít 48 KB lístku protokolu Kerberos.

Pokud je nastavena položka registru MaxTokenSize hodnotu, která je větší než 48000 a vyrovnávací paměť se používá pro SID, může dojít k chybě služby IIS. Pokud nastavíte položku registru MaxTokenSize 48000, může dojít k chybě protokolu Kerberos.

Další informace o velikosti vyrovnávací paměti služby IIS získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
310156 Omezení velikosti hlavičky přenosu protokolu HTTP, služba IIS přijme od klienta v systému Windows 2000

920862 Při uživatel aplikace Outlook Web Access pokusí o přístup k poštovní schránce Exchange Server 2003 zobrazí chybová zpráva: "HTTP 400 Špatný požadavek (hlavičky požadavku příliš dlouhý)"

Změny v systému Windows Server 2012

Windows Server 2012 zavedeny následující změny do úvahy o této vyrovnávací paměti:
  • Změní výchozí MaxTokenSize 48 000 bajtů.
  • Je nové schéma komprese SID v zprávy PAC.
  • Dynamické aplikace Access přidá ovládací prvek Active Directory nároky na lístku. Výpočet velikosti očekávané lístek tedy již jasné. Očekává se, že jsou lístky, vydané v řadičích domény systému Windows Server 2012 menší než stejné lístky, které byly vydány ze starších verzí operačního systému. Deklarace přidejte velikost lístek. Však po souborové servery systému Windows Server 2012 široce používají nároky, lze očekávat postupné ukončení významného počtu skupin, které řídí přístup k souborům na střihu velikosti lístku.

Další informace o změnách v systému Windows Server 2012 naleznete na následujícím webu Microsoft TechNet:
http://technet.microsoft.com/en-us/library/hh831717.aspx

Příklady potíží při překročení velikosti lístku

Další informace získáte klepnutím na následující čísla článků znalostní báze Microsoft Knowledge Base:
277741 Přihlášení k aplikaci Internet Explorer nezdaří z důvodu nedostatečná velikost vyrovnávací paměti pro protokol Kerberos
313661 Chybová zpráva: "Vypršel časový limit" dochází při připojení k serveru SQL Server pomocí protokolu TCP/IP a protokol Kerberos MaxTokenSize je větší než 0xFFFF

Vzhledem k tomu, že jste scénářů přihlašování mezi doménami v doménové struktuře, hodnotu je třeba nastavit pro celou doménovou strukturu ve všech systémech založených na systému Windows. Proto doporučujeme, aby byla maximální hodnoty MaxTokenSize hodnotu 64 kB.

Důležité Na klienty serveru SQL Server můžete obdržet následující chybovou zprávu při výskytu tohoto problému:
Nelze vytvořit kontext SSPI.
Chcete-li vyřešit tento problém, nastavte u všech počítačů, které se účastní procesu ověřování pomocí protokolu Kerberos MaxTokenSize hodnota registru. Jedná se o klienty serveru SQL Server.

Vlastnosti

ID článku: 327825 - Poslední aktualizace: 9. října 2013 - Revize: 19.0
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbqfe kbhotfixserver kbsecurity kbwin2ksp4fix kbbug kbfix kbwin2000presp3fix kbwin2000presp4fix kbmt KB327825 KbMtcs
Strojově přeložený článek
DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.
Projděte si také anglickou verzi článku: 327825

Dejte nám zpětnou vazbu

 

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