يواجه المستخدمون مشكلات المصادقة عند الوصول إلى صفحة ويب في IIS 6.0 أو استعلام Microsoft SQL Server 2000 بعد تثبيت Windows Server 2003 Service Pack 1

الأعراض

ترقية جهاز كمبيوتر يستند إلى نظام التشغيل Microsoft Windows Server 2003 يقوم بتشغيل Microsoft SQL Server 2000 أو Microsoft إنترنت خدمات معلومات (IIS) 6.0 لحزمة الخدمة Windows Server 2003 service Pack 1 (SP1). بعد القيام بذلك، تواجه مشكلات مصادقة المستخدمين عند استخدامهم لتطبيقات ويب أو عند استخدام برنامج يقوم باستعلام قاعدة البيانات. على سبيل المثال، قد تواجه مستخدم أعراض مشابهة لأي مما يلي:
  • يتلقى المستخدم رسالة إعلام بخطأ "تم رفض وصول" عندما يحاول المستخدم الوصول إلى صفحة ويب الذي يقوم باسترداد البيانات من قاعدة بيانات النهاية الخلفية.
  • يتعذر على المستخدم الاتصال به آخر خادم قاعدة البيانات الموجود في كتلة موازنة حمل شبكة (NLB). فشل استعلامات لخادم قاعدة البيانات.
قد تختلف الأعراض التي تواجهها المستخدمين في بيئة التشغيل الخاصة بك.

السبب

تحدث هذه المشكلة إذا لم تتم المصادقة على اسم خدمة أساسي (SPN) للخدمة. لا يتم مصادقة SPN إذا لم يتم تسجيل SPN لحساب خدمة. يتضمن نظام التشغيل Windows Server 2003 SP1 وظيفة الاختيار الاسترجاع المخزنة في إدخال التسجيل التالي:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck
بشكل افتراضي، وظيفة الاختيار الاسترجاع قيد التشغيل في نظام التشغيل Windows Server 2003 SP1، وتم تعيين إدخال التسجيل الماوسديسابليلوبباكتشيك إلى 0 (صفر). وظيفة الاختيار الاسترجاع منع البرنامج من تسجيل SPN.

الحل

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

هام: بشكل افتراضي، وظيفة الاختيار الاسترجاع قيد التشغيل في نظام التشغيل Windows Server 2003 SP1، وتم تعيين إدخال التسجيل الماوسديسابليلوبباكتشيك إلى 0 (صفر). يتم تقليل الأمان عند تعطيل التحقق من مصادقة الاسترجاع، وفتحت خادم Windows Server 2003 للرجل في الوسط (MITM) هجمات على NTLM. لتجنب الهجمات MITM، يجب أن يتم إرجاع قيمة إدخال التسجيل إلى صفر (0) بعد التغييرات SPN. أيضا، الطريقة الأولى هي الحل المفضل.

الطريقة الأولى: إنشاء أسماء المضيفين "تخويل الأمان المحلي" التي يمكن الرجوع إليها في طلب مصادقة NTLM (المفضلة)

  1. انقر فوق ابدأ، ثم انقر فوق تشغيل، اكتب regedit، وثم انقر فوق موافق.
  2. في "محرر التسجيل"، حدد موقع ومن ثم انقر فوق مفتاح التسجيل التالي:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  3. انقر نقراً مزدوجاً فوق MSV1_0، ثم أشر إلى
    جديد، ثم انقر فوق قيمة السلاسل المتعددة.
  4. اكتب الماوسباككوننيكتيونهوستناميس، واضغط على ENTER.
  5. انقر بزر الماوس الأيمن فوق BackConnectionHostNames، ثم انقر فوق تعديل.
  6. في المربع " بيانات القيمة "، اكتب اسم المضيف أو أسماء المضيفين للمواقع التي يتم على الكمبيوتر المحلي، ثم انقر فوق
    OK.
  7. قم بإنهاء "محرر التسجيل"، وقم بإعادة تشغيل الملقم ليصبح هذا التغيير نافذ المفعول.

الطريقة الثانية: تعطيل التحقق من مصادقة الاسترجاع وتسجيل SPN مع الحساب الذي تعمل تحته الخدمة

لحل هذه المشكلة، تعطيل التحقق من مصادقة الاسترجاع ومن ثم تسجيل SPN مع الحساب الذي تعمل تحته الخدمة. للقيام بذلك، قم بتعيين الإدخال الماوسديسابليلوبباكتشيك في المفتاح الفرعي للتسجيل HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa إلى 1 ومن ثم تحديد اسم SPN.

الخطوة 1: تعيين إدخال التسجيل الماوسديسابليلوبباكتشيك إلى 1

  1. انقر فوق ابدأ، ثم انقر فوق تشغيل، واكتب regedit، ثم انقر فوق
    OK.
  2. حدد موقع ومن ثم انقر فوق مفتاح التسجيل الفرعي التالي:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. انقر نقراً مزدوجاً فوق الماوسديسابليلوبباكتشيك، وثم انقر فوق تعديل.
  4. اكتب 1 في المربع بيانات القيمة ، ومن ثم انقر فوق موافق.

الخطوة 2: تحديد اسم SPN

  1. إضافة إدخالات التسجيل التالية، ثم قم بتعيين كل إدخال سجل القيمة المناسبة كما يلي:
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\LogLevel
      قيمة: 1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\LogToFile
      قيمة: 1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\KerbDebugLevel
      قيمة: c3
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters\LogLevel
      1 القيمة 1:
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters\LogToFile
      Value:1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters\KerbDebugLevel
      قيمة: c3
    لإضافة إدخال تسجيل، اتبع الخطوات التالية:
    1. حدد موقع ومن ثم انقر فوق مفتاح التسجيل الفرعي حيث تريد إضافة إدخال التسجيل.
    2. في القائمة تحرير ، أشر إلى
      جديد، ثم انقر فوق قيمة DWORD.
    3. اكتب اسم إدخال السجل الذي تريد إضافته، واضغط ENTER.
    4. انقر نقراً مزدوجاً فوق إدخال التسجيل الذي قمت بإضافته في الخطوة 2 (ج) ومن ثم انقر فوق تعديل.
    5. اكتب القيمة المناسبة لإدخال التسجيل هذا ومن ثم انقر فوق موافق.
    6. كرر الخطوة 2 أ من خلال 2e لكل إدخال التسجيل الذي تريد إضافته.
    7. قم بإنهاء "محرر التسجيل".
  2. قم بإعادة تشغيل جهاز الكمبيوتر، وقم بإعادة إنشاء المشكلة. بعد القيام بذلك، يتم تسجيل رسالة خطأ معرف حدث مشابهة لما يلي في سجل النظام:
    نوع: خطأ
    المصدر: Kerberos
    الفئة: بلا
    معرف الحدث: 3
    الوصف: تم تلقي رسالة إعلام بالخطأ Kerberos:
    في جلسة عمل تسجيل الدخول
    وقت العميل:
    وقت الخادم:
    الوقت التاريخ
    رمز الخطأ: KDC_ERR_S_PRINCIPAL_UNKNOWN 0x7
    الخطأ الموسع:
    نطاق العميل:

    اسم العميل:
    مجال الملقم:.com اسم المجال

    اسم الخادم: MSSQLSvc/.com:1433اسم المجال

    اسم الهدف: MSSQLSvc/اسم الخادم. اسم المجال: 1433 @.comاسم المجال
    نص الخطأ:
    الملف: 9
    الخط: ab8
    بيانات الخطأ موجود في بيانات السجل.
    تحديد SPN من رسالة خطأ معرف الحدث. في هذا المثال، يتم SPN MSSQLSvc/.com:1433اسم المجال.

الخطوة 3: استخدام أداة سطر الأوامر Setspn.exe لتسجيل SPN لحساب الخدمة المناسبة

في IIS 6.0، حساب الخدمة يتم عادة حساب تجمع التطبيقات يستخدم أو الحساب الذي تعمل تحته خدمة WWW. في Microsoft SQL Server 2000، يتم حساب خدمة الحساب الذي تعمل تحته SQL Server 2000. استخدم بناء الجملة التالي لإضافة SPN جديد:
setspn- SPN اسم المجال\اسم الحساب

ما يلي مثال عن كيفية استخدام أداة سطر الأوامر Setspn.exe لإضافة SPN:
setspn-a MSSQLSvc/NLBNAME.corp.domain.com:1433 اسم المجال\اسم الحساب

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

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

تحديث أداة دعم Setspn.exe 970536 ل Windows Server 2003



لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
837361 إدخالات تسجيل بروتوكول Kerberos KDC مفتاحي التكوين وفي Windows Server 2003



بعد تثبيت التحديث الأمني 957097، قد تفشل تطبيقات مثل SQL Server أو خدمات معلومات إنترنت (IIS) عندما يتقدمون بطلبات مصادقة NTLM المحلية.
لمزيد من المعلومات حول كيفية حل هذه المشكلة، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
957097 MS08-068: وجود ثغرة أمنية في SMB قد تسمح بتنفيذ تعليمات برمجية عن بعد
راجع قسم "مشكلات معروفة مع هذا التحديث الأمني" من مقالة قاعدة المعارف 957097 للحصول على تفاصيل حول كيفية حل هذه المشكلة.
خصائص

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

تعليقات