مشاكل مع مصادقة Kerberos عندما ينتمي مستخدم إلى العديد من المجموعات

الدعم ل Windows Vista Service Pack 1 (SP1) تنتهي في 12 تموز/يوليه 2011. للاستمرار في تلقي تحديثات الأمان ل Windows، تأكد من تشغيل نظام التشغيل Windows Vista مع حزمة الخدمة service Pack 2 (SP2). لمزيد من المعلومات، راجع صفحة ويب Microsoft: انتهاء الدعم لبعض إصدارات Windows.

الأعراض

عند مستخدم ينتمي إلى مجموعات كثيرة، قد المستخدم مشاكل المصادقة أو إعدادات "نهج المجموعة". مقالات "قاعدة معارف Microsoft" التالية تصف هذه الأعراض بمزيد من التفصيل:

269643 لا تعمل مصادقة Kerberos مستكشف إنترنت بسبب مخزن مؤقت غير كافية للاتصال ب IIS

280380 استغلال تجاوز سعة المخزن المؤقت المحتملة مع الإجراءات المخزنة الموسعة
2020943 "HTTP 400-طلب غير صحيح (رأس الطلب طويل جداً)" خطأ في خدمات معلومات إنترنت (IIS)
يرشد القرار الموضح في هذه المقالات بتعديل قيمة التسجيل MaxTokenSize. تم إجراء تحسين لهذا القرار. إذا كنت تستخدم الإصلاح الجديد الموضح في هذه المقالة، قد يلزم عدم تحرير القيمة MaxTokenSize الافتراضية.

يحل الإصلاح العاجل الموضح في هذه المقالة محل الإصلاحات العاجلة الموضحة في مقالات "قاعدة معارف Microsoft" المسردة في هذا القسم.

السبب

لا يمكن مصادقة المستخدم للحد الأقصى حجم ثابت يحتوي Kerberos الرمز المميز الذي تم إنشاؤه أثناء محاولات المصادقة. عمليات النقل مثل استدعاء إجراء بعيد (RPC) و HTTP تعتمد على قيمة MaxTokenSize عندما كانت تخصيص مخازن للمصادقة. في نظام التشغيل Windows 2000 (الإصدار الأصلي)، قيمة MaxTokenSize 8.000 بايت. في Windows 2000 Service Pack 2 (SP2) و Windows Server 2003، قيمة MaxTokenSize بايت 12000.

يستخدم Kerberos حقل امتياز سمة الشهادة المعنية بحزمة Kerberos للنقل عضوية مجموعة خدمة active Directory. البدء باستخدام Windows Server 2012، ينطبق هذا أيضا على مجال المعلومات (عنصر تحكم الوصول حيوي) "المطالبات الدليل النشط". إذا كان هناك العديد من عضوية المجموعة للمستخدم، وإذا كان هناك العديد من المطالبات للمستخدم أو الجهاز الذي يستخدم هذه الحقول يمكن أن تشغل الكثير من المساحة في الحزمة.

إذا كان مستخدم عضوا في أكثر من 120 مجموعة المخزن المؤقت المحدد بواسطة قيمة MaxTokenSize غير كافية. ولذلك، لا يمكن مصادقة المستخدمين، وقد تظهر رسالة خطأ "نفاد الذاكرة". قبل تثبيت الإصلاح الجديد الموضح في هذه المقالة، يزيد كل مجموعة يضاف إلى حساب مستخدم هذا المخزن المؤقت ب 40 بايت.

ملاحظة: في العديد من الحالات، مصادقة Windows NTLM يعمل كما هو متوقع. قد لا ترى مشكلة مصادقة Kerberos دون تحليل. ومع ذلك، قد لا تعمل وحدات السيناريو التي يتم تطبيق إعدادات "نهج المجموعة" كما هو متوقع.

الحل

هام: لحل هذه المشكلة، يجب تعيين قيمة التسجيل MaxTokenSize لكافة أجهزة الكمبيوتر المتضمنة في عملية مصادقة Kerberos. وهذا يشمل العملاء SQL Server. (هو مفتاح التسجيل يحتوي على كل كمبيوتر يشارك في تدفق الطلب/الاستجابة. ولذلك، إذا كان هناك عميل SQL Server الذي يستند إليه تطبيق ويب، أو إذا كان الرمز المميز للمستخدم إلى قاعدة بيانات SQL Server الخلفي، مفتاح التسجيل يجب أن يتم تعيين على كمبيوتر عميل 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

معلومات حزمة الخدمة

لحل هذه المشكلة، يجب الحصول على أحدث حزمة خدمة لنظام التشغيل Microsoft Windows 2000. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
260910 كيفية الحصول على أحدث حزمة خدمة Windows 2000

معلومات الإصلاح العاجل

الآن يتوفر إصلاح عاجل معتمد من Microsoft. ومع ذلك، الغرض منه هو حل المشكلة الموضحة في هذه المقالة فقط. تطبيقها فقط على الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. ولذلك، إذا لم يكن تأثير المشكلة كبيرا، نوصي بالانتظار حتى الإصدار التالي حزمة الخدمة Windows 2000 الذي يحتوي على هذا الإصلاح العاجل.

لحل هذه المشكلة فورا، اتصل بخدمات دعم العملاء في Microsoft للحصول على الإصلاح العاجل. للحصول على قائمة كاملة من أرقام هواتف خدمات دعم العملاء في Microsoft وعلى معلومات حول تكاليف الدعم، انتقل إلى موقع Microsoft التالي على الويب:ملاحظة: في بعض الحالات، قد يتم إلغاء المصروفات التي تحتسب عادة على مكالمات الدعم إذا قرر أخصائي الدعم لدى Microsoft أن تحديثًا معيناً سوف يعمل على حل المشكلة. سيتم اضافة تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشاكل التي لا يأهل على حلها للتحديث المطلوب. يحتوي الإصدار "اللغة الإنجليزية" من هذا الإصلاح العاجل سمات الملف (أو سمات الملف الأحدث) المسرودة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات بالتوقيت العالمي المتفق عليه (UTC). عند عرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي المتفق عليه والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".

الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "تنطبق على". تم تصحيح هذه المشكلة أولاً في Microsoft Windows 2000 Service Pack 4.

مزيد من المعلومات

الرمز المميز حجم حساب Windows 2000 إلى Windows Server 2008 R2

إذا كنت تستخدم الإصلاح الجديد الموضح في هذه المقالة، لم تكن لتعديل قيمة التسجيل MaxTokenSize في معظم الحالات. ومع ذلك، هناك بعض السيناريوهات التي تحتاج إلى تعديل قيمة التسجيل MaxTokenSize بعد تطبيق هذا الإصلاح العاجل. بعد تطبيق هذا الإصلاح العاجل على كافة وحدات تحكم المجال، استخدم الصيغة التالية لتحديد ما إذا كان لتعديل قيمة MaxTokenSize:
توكينسيزي = 1200 + 40 d + 8s
تستخدم هذه الصيغة القيم التالية:
  • d: عدد مجموعات المجال المحلية كان مستخدم عضوا بالإضافة إلى العدد من المجموعات العالمية خارج مجال حساب المستخدم التي يكون المستخدم عضوا بالإضافة إلى عدد المجموعات الممثلة في أمان محفوظات معرف (SID).
  • s: عدد مجموعات الأمان العمومية التي يكون مستخدم عضوا بالإضافة إلى العدد من المجموعات العالمية في مجال حساب المستخدم التي يكون المستخدم عضوا.
  • 1200: القيمة المقدرة لحمل البطاقة. هذه القيمة يمكن أن تختلف تبعاً لعوامل مثل طول اسم المجال DNS واسم العميل وعوامل أخرى.
في وحدات السيناريو التي يتم استخدام التفويض (على سبيل المثال، عند مصادقة المستخدمين لوحدة تحكم مجال)، نوصي بأن تقوم بمضاعفة حجم الرمز المميز.

عند تعيين إدخال التسجيل

إذا كان حجم الرمز المميز الذي يحسب باستخدام هذه الصيغة أقل من 12000 بايت (الحجم الافتراضي)، لم تكن لتعديل قيمة التسجيل MaxTokenSize على الأجهزة العميلة في المجال. إذا كانت القيمة أكثر من 12000 بايت، راجع مقالة "قاعدة معارف Microsoft" التالية للحصول على وصف لكيفية ضبط قيمة التسجيل MaxTokenSize:

263693 تطبيق "نهج المجموعة" قد لا يمكن للمستخدمين الذين ينتمون إلى مجموعات كثيرة


Notes
  • عند تغيير قيمة MaxTokenSize، يجب إعادة تشغيل الكمبيوتر حتى يكون التغيير فعالاً.
هو القيمة الموصى بها لإدخال التسجيل MaxTokenSize 65535 العشري أو FFFF الست عشري. تعين القيمة MaxTokenSize تذكرة Kerberos ثابتة تلقي المخزن المؤقت الذي يحتوي على معرفات الأمان التي تمثل مجموعات الحساب الذي عضو.

لاستخدام حجم آمنة، يمكنك تعيين MaxTokenSize إلى 48000، عقب المناقشة حول تقييد عرض بحجم رأس HTTP لاحقاً في هذه المقالة. اعتماداً على ما هي القيمة التي تستخدمها، فأولاً تواجه مشكلة أحداث الخطأ Kerberos أو أخطاء IIS HTTP 400.

المشكلات المعروفة التي قد تواجهها

المشكلات المعروفة لحجم "رمز الوصول":

خدمة مرجع الأمان المحلي (LSA) بإنشاء "رمز وصول" المستخدم من هذا المخزن المؤقت SID. حد مضمنة للعميل يمكن تحديدها من قبل الدول الجزرية الصغيرة النامية للرمز المميز هذا 1015، راجع مقالة قاعدة المعارف هذه:
328889 المستخدمين الذين هم أعضاء في مجموعات 1015 أكثر من احتمال فشل مصادقة تسجيل الدخول
http://support.microsoft.com/kb/328889/EN-US

ولذلك، قيمة MaxTokenSize 1015 أكثر فعالية الدول الجزرية الصغيرة النامية غير مفيدة. في الصيغة التالية:
MaxTokenSize = 1200 + 40 d + 8s
د 40 يعني وجود 40 بايت ل SID مجموعة المجال المحلية. يعني 8s 8 بايت "معرف أمان المجال" العالمي Global/المجموعة.

ولذلك، إذا كان لديك قيمة MaxTokenSize 0x0000FFFF (64 كيلو بايت)، قد تتمكن المنطقة العازلة حوالي 1600 المجال المحلي مجموعة الدول الجزرية الصغيرة النامية أو حوالي 8000 المجال العالمي/العالمي مجموعة الدول الجزرية الصغيرة النامية. إذا كنت تستخدم حسابات "موثوق للتفويض"، قد تضاعفت متطلبات المخزن المؤقت كل SID. في هذه السيناريوهات، يمكنك تخزين حوالي 800 المجال المحلي مجموعة الدول الجزرية الصغيرة النامية عند استخدام MaxTokenSize قيمة 64 كيلو بايت. ومع ذلك، فقط "المجال المحلي مجموعة الدول الجزرية الصغيرة النامية" تواجه غير نموذجي. يجب أن تكون قيمة 64 كيلو بايت كافية حتى بالنسبة لسيناريوهات التفويض.

المشكلات المعروفة عند استخدام قيم أكبر من 65535 MaxTokenSize

الإصدارات السابقة من هذه المادة وناقش قيم وحدات البايت 100000 حتى MaxTokenSize. وقد وجدنا أن الإصدارات لمسؤول SMS تواجه مشاكل عند MaxTokenSize 100000 أو أكبر. وقد حددنا أيضا بروتوكول IPSEC IKE لا يسمح أمن BLOB تصبح أكبر من البايتات 66536 وستفشل أيضا عندما يتم تعيين MaxTokenSize إلى قيمة أكبر.

المشكلات المعروفة ل HTTP ملقم معلومات إنترنت تلقي المخزن المؤقت

يستخدم ملقم معلومات إنترنت (IIS) حجم المخزن مؤقت لطلب المنخفض للتخفيف من حدة حرمان من الهجوم الموجه بواسطة خدمة 64 كيلو بايت. ومع ذلك، هو تذكرة Kerberos في طلب HTTP ترميز Base64 (توسيع بت ستة إلى ثمانية بتات). بالإضافة إلى ذلك، ويتم استخدام تذكرة Kerberos 133 في المائة حجمه الأصلي. ولذلك، عندما يكون الحجم الأقصى للمخزن المؤقت 64 كيلو بايت في IIS، يمكن استخدام كيلوبايت 48 تذكرة Kerberos.

إذا قمت بتعيين إدخال التسجيل MaxTokenSize إلى قيمة أكبر من 48000، ويتم استخدام مساحة المخزن المؤقت للدول الجزرية الصغيرة النامية، قد يحدث خطأ IIS. ومع ذلك، إذا قمت بتعيين إدخال التسجيل MaxTokenSize ل 48000، قد تحدث مشكلة Kerberos.

لمزيد من المعلومات حول IIS أحجام المخازن المؤقتة، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
310156 كيفية تحديد حجم رأس الإرسال HTTP التي تقبل IIS من عميل في نظام التشغيل Windows 2000

رسالة الخطأ 920862 عندما يحاول مستخدم Outlook Web Access الوصول إلى علبة بريد في Exchange Server 2003: "HTTP 400 طلب تالف (رأس الطلب طويل جداً)"

التغييرات Windows Server 2012

Windows Server 2012 أدخل التعديلات التالية على الاعتبارات حول هذا المخزن المؤقت:
  • تغيير الإعداد الافتراضي ل MaxTokenSize بايت 48000.
  • هناك نظام جديد لضغط الدول الجزرية الصغيرة النامية في المعنية
  • التحكم بالوصول الحيوية إضافة "مطالبات الدليل النشط" للبطاقة. لذلك، حساب أحجام تذكرة المتوقعة لم يعد مباشرة. المتوقع هو أن التذاكر التي تم إصدارها من قبل وحدات تحكم المجال Windows Server 2012 أصغر من نفس التذاكر التي تصدر من إصدارات نظام التشغيل الأقدم. إضافة مطالبات إلى حجم البطاقة. ومع ذلك، بعد تستخدم ملقمات ملفات Windows Server 2012 المطالبات على نطاق واسع، أن تتوقع للتخلص التدريجي من عدد كبير من المجموعات الخاصة بك التي تتحكم في الوصول إلى قطع التذاكر أحجام الملف.

لمزيد من المعلومات حول التغييرات 2012 ملقم Windows، انتقل إلى موقع Microsoft TechNet التالي على الويب:

أمثلة للمشكلات التي تحدث عند تجاوز حجم البطاقة

لمزيد من المعلومات، انقر فوق أرقام المقالات التالية لعرضها في "قاعدة معارف Microsoft":

277741 Internet Explorer يفشل تسجيل الدخول نظراً لوجود مخزن غير كافية ل Kerberos

رسالة الخطأ 313661 : "انتهت مهلة" عند الاتصال ب SQL Server عبر TCP/IP و Kerberos MaxTokenSize أكبر من 0xFFFF


نظراً لإمكانية احتواء سيناريوهات تسجيل الدخول عبر المجالات في مجموعة التفرعات، يجب تعيين القيمة الغابات العالمية على كافة الأنظمة المستندة إلى Windows. ولذلك، نوصي بأن يكون الحد الأقصى لقيمة MaxTokenSize القيمة 64 كيلو بايت.



هام: على عملاء ملقم SQL، قد تتلقى رسالة الخطأ التالية عند حدوث هذه المشكلة:
يتعذر إنشاء سياق SSPI
لحل هذه المشكلة، يجب تعيين قيمة التسجيل MaxTokenSize لكافة أجهزة الكمبيوتر المتضمنة في عملية مصادقة Kerberos. وهذا يشمل العملاء SQL Server.

خصائص

رقم الموضوع: 327825 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات