مصادقة Kerberos واستكشاف الأخطاء وإصلاحها التفويض

عمود الصوت دعم المطور IIS

مصادقة Kerberos واستكشاف الأخطاء وإصلاحها التفويض

لتخصيص هذا العمود إلى احتياجاتك، نحن نريد دعوة منك إرسال الأفكار حول مواضيع تهم لك والمسائل التي تحتاج إلى مشاهدة الموجهة في المستقبل مقالات قاعدة المعارف والأعمدة "الصوتية دعم". يمكنك إرسال أفكارك وملاحظات باستخدام نموذج طلب لذلك . يوجد أيضا ارتباط إلى النموذج في أسفل هذا العمود.
اسمي مارتن سميث، وأنا مع مجموعة حل المشكلات الهامة خدمات معلومات إنترنت ل Microsoft (IIS) ل Microsoft. لقد كنت مع Microsoft تسع سنوات وعملوا بالفريق IIS مدة تسع سنوات. لقد جمعت المعلومات من عدة مواقع في
http://msdn.microsoft.com و
http://www.microsoft.com حول كيفية استكشاف مشكلات التفويض و Kerberos.

IIS 6.0

الورقة البيضاء التالية توضح كيفية إعداد تفويض في نظام التشغيل Microsoft Windows Server 2003. يحتوي على معلومات محددة لموازنة حمل الشبكة (NLB) الكتاب الأبيض بل يشمل ممتازة التفاصيل حول كيفية إعداد سيناريو مفوضة دون استخدام NLB. لعرض هذا المستند، قم بزيارة موقع Microsoft التالي على الويب:ملاحظة: استخدام أسماء HTTP خدمة أساسي (Spn) خاصة عند استخدام NLB.

آخر إصدار Kerberos شعبية في الآونة الأخيرة الحاجة إلى السماح لعدة تجمعات التطبيقات لاستخدام نفس اسم DNS. لسوء الحظ، عند استخدام Kerberos تفويض بيانات الاعتماد، لا يمكنك ربط نفس الخدمة الأساسي اسم (SPN) لتجمعات التطبيقات المختلفة. لا يمكن القيام بذلك بسبب تصميم Kerberos. يتطلب بروتوكول Kerberos أسرار مشتركة متعددة لبروتوكول للعمل بشكل صحيح. باستخدام نفس SPN لتجمعات التطبيقات المختلفة، علينا إزالة أحد هذه الأسرار المشتركة. لن يدعم خدمة دليل "Active Directory" هذا التكوين من بروتوكول Kerberos بسبب مشكلة أمنية.

تكوين أسماء Spn بهذه الطريقة يؤدي إلى فشل مصادقة Kerberos. سيكون حل ممكن لهذه المشكلة استخدام بروتوكول نقل. وسيجري تناول المصادقة الأولى بين العميل والخادم بتشغيل IIS باستخدام بروتوكول مصادقة NTLM. أن التعامل مع Kerberos المصادقة بين IIS وموارد الخادم.

Microsoft Internet Explorer 6 أو إصدار أحدث

مستعرض العميل قد تواجه مشكلات، مثل تلقي مطالبات تسجيل الدخول المتكررة لبيانات الاعتماد أو رسائل الخطأ "401 تم رفض الوصول" من الملقم الذي يشغل IIS. وقد وجدنا مشكلتين التالية التي قد تساعد في حل هذه المشكلات:
  • تأكد من تحديد تمكين مصادقة Windows المتكاملة في خصائص الخاص بالمستعرض. للحصول على مزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
    299838 قادر على التفاوض مع مصادقة Kerberos بعد الترقية إلى Internet Explorer 6

  • إذا تم تمكين تكوين الأمان المحسن ل Internet Explorer في إضافة/إزالة "البرامج"، يجب إضافة موقع يستخدم التفويض
    قائمة المواقع الموثوق بها . للحصول على مزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
    815141 تكوين الأمان المحسن ل Internet Explorer بتغيير أسلوب الاستعراض

IIS 5.0 و IIS 6.0

بعد الترقية من IIS 4.0 إلى IIS 5.0 أو IIS 6.0، التفويض قد لا تعمل بشكل صحيح، أو قد يكون شخص ما أو تطبيق ما قام بتعديل خاصية قاعدة التعريف نتاوثينتيكاتيونبروفيديرس.
لمزيد من المعلومات حول كيفية حل هذه المشكلة، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
فشلت مصادقة Kerberos 248350 بعد الترقية من IIS 4.0 على IIS 5.0

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

تحديد اسم الملقم

تحديد ما إذا كان الاتصال بموقع ويب باستخدام اسم NetBIOS الفعلي الملقم أو باستخدام اسم مستعار، مثل اسم DNS (على سبيل المثال، www.microsoft.com). إذا تم الوصول إلى ملقم ويب باستخدام اسم مختلف عن اسم الفعلي من الخادم، الجديدة الخدمة الرئيسي اسم (SPN) يجب أن يتم تسجيل باستخدام الأداة Setspn من Windows 2000 Server Resource Kit. خدمة الدليل "Active Directory" يعلم هذا اسم الخدمة، خدمة منح التذاكر (TGS) لا يعطيك تذكرة مصادقة المستخدم. يفرض هذا السلوك للعميل باستخدام أسلوب المصادقة المتوفرة التالي وهو NTLM، إلى إعادة التفاوض بشأنها. إذا كان ملقم ويب يستجيب إلى اسم DNS من www.microsoft.com ولكن الملقم المسمى webserver1.development.microsoft.com، يجب تسجيل www.microsoft.com في "Active Directory" على خادم يقوم بتشغيل IIS تشغيل. للقيام بذلك، يجب تنزيل الأداة Setspn وتثبيته على الملقم الذي يشغل IIS.


إذا كنت تستخدم Windows Server 2003 و IIS 6، تكون أداة Setspn لنظام التشغيل Microsoft Windows Server 2003 تتوفر من الموقع التالي:لتحديد ما إذا كنت تتصل باستخدام الاسم الفعلي، حاول الاتصال بالملقم باستخدام اسم الخادم الفعلي بدلاً من اسم DNS. إذا تعذر الاتصال بالخادم، راجع قسم "التحقق من الكمبيوتر موثوق للتفويض".

إذا تمكنت من الاتصال بالخادم، اتبع هذه الخطوات لتعيين SPN لاسم DNS الذي تستخدمه للاتصال بالخادم:
  1. تثبيت الأداة Setspn.
  2. على خادم يقوم بتشغيل IIS، افتح موجه الأوامر، ومن ثم افتح المجلد C:\Program Files\Resource مجموعة.
  3. قم بتشغيل الأمر التالي لإضافة هذا SPN جديد (www.microsoft.com) إلى "Active Directory" للخادم:
    Setspn-HTTP/www.microsoft.com webserver1
    ملاحظة: في هذا الأمر، يمثل webserver1 اسم NetBIOS لملقم.
يظهر إخراج مشابه لما يلي:
Registering ServicePrincipalNames for CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=comHTTP/www.microsoft.com
Updated object

لعرض قائمة بأسماء Spn على الخادم لعرض هذه القيمة الجديدة، اكتب الأمر التالي على خادم يقوم بتشغيل IIS:
ويبسيرفيرنامي-L Setspn
لاحظ أنه ليس لديك لتسجيل كافة الخدمات. العديد من أنواع الخدمة، سيتم تعيين مثل HTTP و W3SVC، WWW، RPC، CIFS (الوصول إلى الملفات)، WINS وامداد طاقة غير متقطع (UPS)، توفير لنوع خدمة افتراضي يسمى المضيف. على سبيل المثال، إذا كان برنامج العميل يستخدم SPN HTTP/webserver1.microsoft.com لإنشاء اتصال HTTP بملقم ويب على الملقم webserver1.microsoft.com، ولكن لم يتم تسجيل SPN هذا على الخادم، وحدة تحكم المجال Windows 2000 سيتم تلقائياً تعيين الاتصال إلى HOST/webserver1.microsoft.com. ينطبق هذا التعيين فقط في حالة تشغيل "خدمة ويب" تحت حساب النظام المحلي.

تأكد من الكمبيوتر موثوق به للتفويض

إذا كان هذا الملقم الذي يشغل IIS عضو المجال لكن ليس وحدة تحكم مجال، يجب أن يكون الكمبيوتر موثوق به للتفويض ل Kerberos للعمل بشكل صحيح. للقيام بذلك، اتبع الخطوات التالية:
  1. على وحدة تحكم المجال، انقر فوق ابدأوأشر إلى إعدادات، ومن ثم انقر فوق لوحة التحكم.
  2. في "لوحة التحكم"، افتح " أدوات إدارية".
  3. انقر نقراً مزدوجاً فوق مستخدمي Active Directory وأجهزة الكمبيوتر.
  4. ضمن المجال الخاص بك، انقر فوق أجهزة الكمبيوتر.
  5. في القائمة، حدد موقع الملقم الذي يشغل IIS زر الماوس الأيمن فوق اسم الملقم وثم انقر فوق خصائص.
  6. انقر فوق علامة التبويب عام ، انقر لتحديد
    خانة الاختيار موثوق بها للتفويض ، وثم انقر فوق
    OK.
لاحظ أنه إذا كان الوصول إلى العديد من مواقع ويب باستخدام URL نفسه ولكن على المنافذ المختلفة، التفويض لن تعمل. لجعل هذا العمل، يجب استخدام أسماء المضيفين مختلفة وأسماء Spn مختلفة. عندما يطلب Internet Explorer أما http://www. mywebsite.com أو http://www. mywebsite.com:81، Internet Explorer طلبات تذكرة SPN HTTP/www.mywebsite.com. لا يضيف Internet Explorer المنفذ أو vdir طلب SPN. هذا السلوك هو نفسه بالنسبة http://www. mywebsite.com/app1 أو http://www. .com mywebsite/app2. في هذا السيناريو، سيطلب Internet Explorer تذكرة SPN http://www. .com mywebsiteمن مركز توزيع مفتاح (KDC). يمكن أن يتم تعريف كل SPN للهوية واحد فقط. لذلك، قد تتلقى أيضا رسالة خطأ KRB_DUPLICATE_SPN إذا حاولت أن تقوم بتعريف هذا SPN لكل هوية.

التفويض و Microsoft ASP.NET

لمزيد من المعلومات حول التكوين لتفويض بيانات الاعتماد عند استخدام أحد تطبيقات ASP.NET، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
كيفية تكوين تطبيق ASP.NET لسيناريو تفويض 810572

التمثيل والتفويض طريقتان لخادم المصادقة نيابة عن العميل. قرار تحديد أي من هذه الطرق لاستخدام وتنفيذها يمكن أن يسبب بعض الارتباك. يجب مراجعة الفرق بين هاتين الطريقتين والنظر في أي من هذه الأساليب التي يمكنك استخدامها للتطبيق الخاص بك. ستكون توصيتي لقراءة المستند التقني التالي لمزيد من التفاصيل:

المراجع

305971 يطلب Windows 2000 Server مستخدم المجال لبيانات الاعتماد

كيفية تمكين تسجيل الأحداث Kerberos 262177

كيفية استكشاف المشكلات المتعلقة ب Kerberos في IIS 326985

842861 TechNet دعم البث الشبكي: مصادقة Kerberos استكشاف الأخطاء وإصلاحها باستخدام Microsoft SQL Server وتطبيقات ويب آمنة

كما دائماً، لا تتردد في تقديم أفكار حول مواضيع تريد التصدي لها في المستقبل الأعمدة أو في استخدام قاعدة المعارف
نموذج طلب لذلك .
خصائص

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

تعليقات