ปัญหาเกี่ยวกับการรับรองความถูกต้อง Kerberos เมื่อผู้ใช้เป็นสมาชิกของกลุ่มจำนวน

หมายเลขบทความ (Article ID): 327825 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
การสนับสนุนสำหรับ Windows Vista Service Pack 1 (SP1) ที่สิ้นสุดในวันที่ 12 กรกฎาคม 2011 เมื่อต้องการได้รับโปรแกรมปรับปรุงความปลอดภัยสำหรับ Windows ต่อไป ต้องแน่ใจว่าคุณกำลังเรียกใช้ Windows Vista Service Pack 2 (SP2) สำหรับข้อมูลเพิ่มเติม อ้างอิงถึงเว็บเพจนี้ของ Microsoft: จะสิ้นสุดการสนับสนุนสำหรับ Windows บางรุ่น.
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

เมื่อผู้ใช้เป็นสมาชิกของกลุ่มจำนวน ผู้ใช้นั้นอาจมีปัญหา กับการรับรองความถูกต้อง หรือ มีการตั้งค่า'นโยบายกลุ่ม' บทความฐานความรู้ของ Microsoft ต่อไปนี้อธิบายอาการเหล่านี้มีรายละเอียดเพิ่มเติม:

269643 อินเทอร์เน็ต การรับรองความถูกต้องของ Kerberos explorer ทำงานเนื่องจากมีไม่เพียงพอ บัฟเฟอร์ที่มีการเชื่อมต่อกับ IIS
280380 โกงมากเกินไปของบัฟเฟอร์ ที่เป็นไปได้โดยขยายกระบวนงานที่เก็บ
2020943 "HTTP 400 - คำไม่ถูกต้องขอ(หัวคำร้องขอข้อความยาวเกินไป)" ผิดพลาดใน Internet Information Services (IIS)
การแก้ปัญหาที่อธิบายไว้ในบทความเหล่านี้บอกให้คุณสามารถปรับเปลี่ยนค่ารีจิสทรี MaxTokenSize ทำการปรับปรุงประสิทธิภาพการแก้ปัญหานี้ ถ้าคุณใช้โปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความนี้ คุณอาจไม่มีการแก้ไขค่า MaxTokenSize Start

โปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความนี้แทนโปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความฐานความรู้ของ Microsoft ที่แสดงไว้ในส่วนนี้

สาเหตุ

ผู้ใช้ไม่สามารถรับรองความถูกต้องเนื่องจากโทเค็น Kerberos ที่จะถูกสร้างขึ้นในระหว่างความพยายามในการรับรองความถูกต้องมีขนาดสูงสุดถาวร การขนส่งเช่นการเรียกขั้นตอนระยะไกล (RPC) และ HTTP อาศัยค่า MaxTokenSize เมื่อจะจัดสรรบัฟเฟอร์สำหรับการรับรองความถูกต้อง ใน Windows 2000 (รุ่นรุ่นต้นฉบับ), ค่า MaxTokenSize จะถึง 8000 ไบต์ ใน Windows 2000 Service Pack 2 (SP2) และ Windows Server 2003 ค่า MaxTokenSize เป็น 12,000 ไบต์

Kerberos ใช้เขตข้อมูลสิทธิ์การใช้งานแอตทริบิวต์ใบรับรอง (PAC) ของแพคเก็ต Kerberos การขนส่งที่เป็นสมาชิกของ กลุ่มของไดเรกทอรีที่ใช้งานอยู่ เริ่มการทำงานกับ Windows Server 2012 นี้ยังใช้กับเขตข้อมูล (ควบคุมการเข้าถึงแบบไดนามิก) อ้างสิทธิ์ของไดเรกทอรีที่ใช้งานอยู่ ถ้ามีจำนวนสมาชิกของกลุ่มสำหรับผู้ใช้ และถ้ามีการอ้างสิทธิ์ต่าง ๆ สำหรับผู้ใช้หรืออุปกรณ์ที่ใช้ เขตข้อมูลเหล่านี้สามารถใช้พื้นที่ช่องว่างในแพ็คเก็ตเป็นจำนวนมาก

ถ้าผู้ใช้เป็นสมาชิกของกลุ่มมากกว่า 120 บัฟเฟอร์ที่ถูกกำหนด โดยค่า MaxTokenSize ไม่ใหญ่พอที่จะ ดังนั้น ผู้ใช้ไม่สามารถรับรองความถูกต้อง และพวกเขาอาจได้รับข้อผิดพลาด "ไม่อยู่ในหน่วยความจำ" ก่อนที่คุณใช้โปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความนี้ ทุก ๆ กลุ่มที่จะถูกเพิ่มไปยังบัญชีผู้ใช้เพิ่มขึ้นนี้บัฟเฟอร์ โดย 40 ไบต์

หมายเหตุ ในสถานการณ์ที่หลากหลาย การรับรองความถูกต้อง Windows NTLM ให้ทำงานตามที่คาดไว้ คุณอาจไม่เห็นปัญหาการรับรองความถูกต้อง Kerberos ไม่ มีการวิเคราะห์ อย่างไรก็ตาม สถานการณ์ที่จะใช้การตั้งค่า'นโยบายกลุ่ม'อาจทำงานตามที่คาดไว้

การแก้ไข

สิ่งสำคัญ เมื่อต้องการแก้ไขปัญหานี้ คุณต้องตั้งค่าค่ารีจิสทรี MaxTokenSize สำหรับคอมพิวเตอร์ทั้งหมดที่เกี่ยวข้องในกระบวนการรับรองความถูกต้องของ Kerberos ซึ่งรวมถึงการไคลเอ็นต์ของ SQL Server (นั่นคือ คีย์รีจิสทรีจะต้องถูกตั้งค่าบนคอมพิวเตอร์แต่ละเครื่องที่เกี่ยวข้องในลำดับการ/ตอบสนองต่อการร้องขอ ดังนั้น ถ้ามีใช้โปรแกรมประยุกต์เว็บไคลเอนต์ SQL Server หรือถ้าโทเค็นของผู้ใช้ต้องมีการส่งผ่านไปยังฐานข้อมูล SQL Server backend คีย์รีจิสทรีจะถูกตั้งค่าบนคอมพิวเตอร์ไคลเอ็นต์ SQL Server, SQL Server ฐานข้อมูลคอมพิวเตอร์ และนอกจากนี้ คอมพิวเตอร์ไคลเอนต์ที่กำลังเรียกใช้ Internet Explorer เว็บเซิร์ฟเวอร์ที่ทำงานที่กำลังเรียกใช้ IISฯลฯ)

หมายเหตุ หมายเลขรุ่นของ Windows ต่อไปนี้รวมถึงวิธีการแก้ไขสำหรับปัญหานี้:
  • Windows 8
  • Windows Server 2012
  • Windows 7
  • Windows Server 2008 R2
  • Windows Server 2003
  • Windows Vista
  • Windows Server 2008
  • Windows XP Professional

ข้อมูล Service pack

เมื่อต้องการแก้ไขปัญหานี้ ให้ขอรับ service pack ล่าสุดสำหรับ Microsoft Windows 2000 สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
260910 วิธีการ การขอรับ service pack ล่าสุดของ Windows 2000

ข้อมูลโปรแกรมแก้ไขด่วน

สามารถโหลดโปรแกรมแก้ไขด่วนจาก Microsoft ได้แล้ว อย่างไรก็ตาม นั้นมุ่งหวังเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น ใช้กับระบบที่พบปัญหานี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณจะไม่มีผลอย่างร้ายแรงต่อจากปัญหานี้ เราขอแนะนำให้ คุณรอ Windows 2000 บริการถัดไป ชุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้

เมื่อต้องการแก้ไขปัญหานี้ทันที ติดต่อฝ่ายบริการสนับสนุนลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน สำหรับรายการทั้งหมดของหมายเลขโทรศัพท์ของบริการสนับสนุนลูกค้าของ Microsoft และข้อมูลเกี่ยวกับต้นทุนสนับสนุน ไปเว็บไซต์ Microsoft ต่อไปนี้:
http://support.microsoft.com/contactus/?ws=support
หมายเหตุ ในบางกรณี ค่าธรรมเนียมค่าใช้จ่ายสำหรับการสนับสนุนอาจสามารถยกเลิกได้ถ้า Microsoft Support Professional พบว่าการปรับปรุงเฉพาะจะสามารถแก้ปัญหาของคุณได้ ค่าใช้จ่ายในการสนับสนุนปกติจะมีผลกับคำถามการสนับสนุนเพิ่มเติมและปัญหาที่ไม่สามารถจัดเฉพาะเจาะจงในการปรับปรุงเวอร์ชันภาษาอังกฤษของ hotfix นี้มีแอตทริบิวต์แฟ้ม (หรือแอตทริบิวต์ของแฟ้มรุ่นที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันและเวลาสำหรับแฟ้มเหล่านี้จะแสดงรายการในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้มข้อมูล จะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้ โซนเวลา แท็บในรายการวันและเวลา'ใน'แผงควบคุม'

สถานะ

Microsoft ยืนยันว่า ปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ ในส่วน "ใช้กับ" ปัญหานี้ถูกแก้ไขใน Microsoft Windows 2000 Service Pack 4 ครั้งแรก

ข้อมูลเพิ่มเติม

Token Windows คำนวณขนาด 2000 กับ Windows Server 2008 R2

ถ้าคุณใช้โปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความนี้ คุณไม่จำเป็นต้องปรับเปลี่ยนค่ารีจิสทรี MaxTokenSize ในกรณีส่วนใหญ่ อย่างไรก็ตาม มีบางสถานการณ์ ซึ่งคุณต้องการปรับเปลี่ยนค่ารีจิสทรี MaxTokenSize หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้ หลังจากที่คุณใช้ โปรแกรมแก้ไขด่วนเพื่อทุกตัวควบคุมโดเมน ใช้สูตรต่อไปนี้เพื่อตรวจสอบ ระบุว่าคุณจำเป็นต้องปรับเปลี่ยนค่า MaxTokenSize:
TokenSize = 1200 + 40 d + 8s
สูตรนี้ใช้ค่าต่อไปนี้:
  • d:หมายเลขของกลุ่มภายในโดเมนผู้ใช้ที่เป็นสมาชิกของ บวกจำนวนกลุ่มที่หลากหลายภายนอกของผู้ใช้บัญชีโดเมนที่ผู้ใช้ที่เป็นสมาชิกของ บวกจำนวนของกลุ่มแสดงในการรักษาความปลอดภัยรหัส (SID) ประวัติ
  • s:หมายเลขของกลุ่มหลากหลายในโดเมนบัญชีของผู้ใช้ที่ผู้ใช้ที่เป็นสมาชิกของบวกหมายเลขของกลุ่มส่วนกลางรักษาความปลอดภัยที่ผู้ใช้ที่เป็นสมาชิกของ
  • 1200: มูลค่าที่ประเมินสำหรับค่าใช้จ่ายในบัตร ค่านี้อาจแตกต่างกัน ขึ้นอยู่กับปัจจัยต่าง ๆ เช่นความยาวของชื่อโดเมน DNS ชื่อลูกค้า และปัจจัยอื่น ๆ
ในสถานการณ์ที่การมอบหมายใช้ (ตัวอย่างเช่น เมื่อผู้ใช้รับรองความถูกต้องไปยังตัวควบคุมโดเมน), เราขอแนะนำว่า คุณได้คู่ขนาดโทเค็น

เมื่อการตั้งค่ารายการรีจิสทรี

ถ้าขนาดโทเค็นที่คุณคำนวณ โดยใช้สูตรนี้คือ น้อยกว่า 12,000 ไบต์ (ขนาดค่าเริ่มต้น), คุณไม่จำเป็นต้องปรับเปลี่ยนค่ารีจิสทรี MaxTokenSize บนไคลเอนต์ในโดเมน ถ้าค่าเป็นมากกว่า ไบต์ 12,000 ดูบทความฐานความรู้ของ Microsoft ต่อไปนี้สำหรับการ คำอธิบายของวิธีการปรับปรุงค่ารีจิสทรี MaxTokenSize:

263693 'นโยบายกลุ่ม'อาจไม่สามารถใช้กับ ผู้ใช้ที่เป็นสมาชิกของกลุ่มจำนวน

บันทึกย่อ
  • เมื่อคุณเปลี่ยนค่า MaxTokenSize คุณต้องรีสตาร์ทคอมพิวเตอร์เพื่อให้การเปลี่ยนแปลงจะมีผลบังคับ
ค่าสูงสุดแนะนำคือ 65535 ทศนิยมหรือเลขฐานสิบหก FFFF ค่า MaxTokenSize ระบุ Kerberos ticket ถาวรบัฟเฟอร์ที่ประกอบด้วย SIDs ที่แสดงถึงกลุ่มบัญชีที่เป็นสมาชิก ที่ได้รับ ในภายหลัง การบริการของหน่วยงานจัดเก็บรักษาความปลอดภัยภายในเครื่อง (LSA) สร้างโทเค็นการจากบัฟเฟอร์นี้ SID ขีดจำกัดที่ตายของลูกค้า SIDs กำหนดเพื่อรับ token นี้เป็น 1,015 ดูบทความนี้:
ผู้ใช้ 328889 ที่เป็นสมาชิกของกลุ่มมากกว่า 1,015 อาจล้มเหลวรับรองความถูกต้องเข้าสู่ระบบ
http://support.microsoft.com/kb/328889/EN-US

ดังนั้น ค่า MaxTokenSize สำหรับ SIDs มีประสิทธิภาพมากกว่า 1015 จะไม่มีประโยชน์ ในสูตรต่อไปนี้:
MaxTokenSize = 1200 + 40 d + 8s
40 d หมายความ ว่า คุณมี 40 ไบต์สำหรับ SID โดเมนกลุ่มท้องถิ่น 8s หมายถึง 8 ไบต์สำหรับกลุ่ม SID Global/สากล โดเมน

ดังนั้น ถ้าคุณมีค่าเท่ากับ MaxTokenSize 0x0000FFFF (64k), คุณอาจสามารถเผื่อประมาณ 1600 โดเมนภายในกลุ่ม SIDs หรือประมาณ 8000 โดเมน Global/สากล กลุ่ม SIDs ถ้าคุณใช้บัญชี "น่าเชื่อถือสำหรับการมอบหมาย" บัฟเฟอร์ข้อกำหนดสำหรับแต่ละ SID อาจเป็นสองเท่า ในสถานการณ์เหล่านี้ คุณสามารถเก็บประมาณ 800 โดเมน SIDs กลุ่มท้องถิ่นได้เฉพาะเมื่อมีใช้ค่า MaxTokenSize 64 K อย่างไรก็ตาม มีเฉพาะโดเมนภายในกลุ่ม SIDs ไม่สถานการณ์สมมติทั่วไป ค่าของ 64 K น่าจะเพียงพอแม้แต่สถานการณ์การมอบหมาย

การเปลี่ยนแปลงใน Windows Server 2012

Windows Server 2012 แนะนำการเปลี่ยนแปลงต่อไปนี้เพื่อพิจารณาเกี่ยวกับการบัฟเฟอร์นี้:
  • ค่าเริ่มต้นสำหรับ MaxTokenSize เปลี่ยนเป็น 48,000 ไบต์
  • ไม่มีโครงร่างใหม่สำหรับการบีบอัด sids ใน PAC. การ
  • ควบคุมการเข้าถึงแบบไดนามิกเพิ่มที่ใช้งานอยู่ไดเรกทอรีการเรียกร้องการ Ticket ดังนั้น คำนวณขนาด ticket ที่คาดว่าจะไม่ตรงไปตรงมา คาดหวังได้ว่า ตั๋วที่ออกใช้ โดยตัวควบคุมโดเมนของ Windows Server 2012 ดังกล่าวมีขนาดเล็กกว่าตั๋วเดียวกันที่ออกจากระบบปฏิบัติการรุ่นที่เก่ากว่า อ้างสิทธิ์เพิ่มขนาดบัตร อย่างไรก็ตาม หลังจากที่เซิร์ฟเวอร์แฟ้มของ Windows Server 2012 ใช้อ้างสิทธิ์แก้ไข คุณสามารถคาดว่าจะแสดงระยะออกหมายเลขที่มีนัยสำคัญของกลุ่มของคุณที่ควบคุมการเข้าถึงแฟ้มการตัดแต่งขนาดบัตร

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงใน Windows Server 2012 ไปเว็บไซต์ Microsoft TechNet ต่อไปนี้:
http://technet.microsoft.com/en-us/library/hh831717.aspx

ตัวอย่างของปัญหาเมื่อมีเกินขนาดบัตร

สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
277741เข้าสู่ระบบของ Internet Explorer ล้มเหลวเนื่องจากมีบัฟเฟอร์ไม่เพียงพอสำหรับ Kerberos
313661 ข้อความแสดงข้อผิดพลาด: "หมดเวลาหมดอายุ" เกิดขึ้นเมื่อคุณเชื่อมต่อกับ SQL Server ผ่าน TCP/IP และ Kerberos MaxTokenSize มากกว่า 0xFFFF

เนื่องจากคุณอาจมีสถานการณ์สมมติของการเข้าสู่ระบบข้ามโดเมนในฟอเรสต์ของคุณ ควรสามารถตั้งค่าฟอเรสต์ทั้งบนระบบที่ใช้ Windows ทั้งหมด ดังนั้น จึง ขอแนะนำว่า ค่าสูงสุดสำหรับค่า MaxTokenSize เป็น 64 K

สิ่งสำคัญ บนไคลเอ็นต์ของ SQL Server คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้เมื่อเกิดปัญหานี้:
ไม่สามารถสร้างบริบท SSPI
เมื่อต้องการแก้ไขปัญหานี้ คุณต้องตั้งค่าค่ารีจิสทรี MaxTokenSize สำหรับคอมพิวเตอร์ทั้งหมดที่เกี่ยวข้องในกระบวนการรับรองความถูกต้องของ Kerberos ซึ่งรวมถึงการไคลเอ็นต์ของ SQL Server

คุณสมบัติ

หมายเลขบทความ (Article ID): 327825 - รีวิวครั้งสุดท้าย: 20 กุมภาพันธ์ 2556 - Revision: 4.0
ใช้กับ
  • Microsoft Windows XP Professional Edition
  • 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 Edition (64-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise Edition (64-Bit x86)
  • Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003 R2 Standard Edition (64-Bit x86)
Keywords: 
kbqfe kbhotfixserver kbsecurity kbwin2ksp4fix kbbug kbfix kbwin2000presp3fix kbwin2000presp4fix kbmt KB327825 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:327825

ให้ข้อเสนอแนะ