المحتويات

المقدمة

المصطلح

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

تدفق شبكة Kerberos

تدفق مصادقة Kerberos في SWA

ما هو الغرض من SPN؟

تكوين خادم Active Directory

استكشاف الأخطاء وإصلاحها

أستكشاف أخطاء Kerberos وإصلاحها باستخدام أوامر SPN

أمثلة على أوامر ومخرجات SPN

السيناريو 1: لم يتم العثور على SPN

السيناريو الثاني: تم العثور على SPN

أستكشاف أخطاء Kerberos وإصلاحها على SWA

لم يتم العثور على الخادم في قاعدة بيانات Kerberos

معلومات ومراجع إضافية

المقدمة

يصف هذا المستند أساسيات مصادقة Kerberos والخطوات الخاصة باستكشاف أخطاء مصادقة Kerberos وإصلاحها في جهاز ويب الآمن (SWA).

المصطلح

سوا

‪Secure Web Appliance‬ (جهاز حماية الويب)

CLI

واجهة سطر الأوامر

إعلان

الدليل النشط

دي سي

وحدة التحكم بالمجال

SPN

اسم الخدمة الأساسي

كي دي سي

مركز توزيع مفتاح Kerberos

تي جي تي

بطاقة المصادقة (بطاقة منح التذكرة)

TGS

خدمة منح التذاكر

ههه

الإتاحة العالية

VRRP

بروتوكول تكرار جهاز التوجيه الظاهري

شبوط

بروتوكول تكرار العنوان الشائع

SPN

اسم الخدمة الأساسي

LDAP

البروتوكول الخفيف للوصول للدليل

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- Active Directory ومصادقة Kerberos.

- المصادقة والحلول على SWA.

المكونات المستخدمة

لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

تدفق شبكة Kerberos

الصورة: نموذج تدفق Kerberos

فيما يلي الخطوات الأساسية للمصادقة في بيئة Kerberized:

1. يطلب العميل بطاقة منح تذكرة (TGT) من مركز توزيع المفاتيح (KDC).

2. يتحقق KDC من بيانات اعتماد مستخدم جهاز العميل ويرسل مفتاح TGT ومفتاح جلسة عمل مشفرا.

3. يتم تشفير TGT باستخدام المفتاح السري لخدمة منح التذكرة (TGS).

4. يقوم العميل بتخزين TGT ويطلب تلقائيا اسم جديد عند انتهاء صلاحيته.

للوصول إلى خدمة أو مورد:

1. يرسل العميل TGT إلى TGS بالإضافة إلى اسم الخدمة الأساسي (SPN) للمورد المطلوب.

2. يتحقق مركز التحكم في الشبكة من TGT ويتحقق من حقوق الوصول إلى جهاز عميل المستخدم.

3. يرسل TGS مفتاح جلسة عمل خاص بالخدمة إلى العميل.

4. يوفر العميل مفتاح الجلسة للخدمة لإثبات الوصول، وتتيح الخدمة الوصول.

تدفق مصادقة Kerberos في SWA

1. يطلب العميل الوصول إلى www.google.com من خلال SWA.

2. ترد إدارة قاعدة بيانات المحول (SWA) بحالة HTTP 407، طالبة المصادقة.

3. يطلب العميل تذكرة خدمة من خادم AD لخدمة HTTP/SWA.domain.com باستخدام TGT الذي يحصل عليه أثناء انضمام المجال.

4. يتحقق خادم AD من صحة العميل ويصدر تذكرة خدمة، وإذا نجح ذلك وتم العثور على SPN (اسم الخدمة الرئيسي) ل SWA، فإنه ينتقل إلى الخطوة التالية.

5. يرسل العميل هذه التذكرة إلى SWA.

6. تقوم SWA بفك تشفير التذكرة والتحقق من المصادقة.

7. إذا نجحت المصادقة، يتحقق SWA من السياسات.

8. ترسل SWA إستجابة HTTP 200/OK" إلى العميل إذا تم السماح بالمعاملة.

ما هو الغرض من SPN؟

يحدد اسم الخدمة الأساسي (SPN) بشكل فريد مثيل خدمة في مصادقة Kerberos. وهو يربط مثيل الخدمة بحساب خدمة، مما يسمح للعملاء بطلب المصادقة للخدمة دون الحاجة إلى اسم الحساب. كل حساب في تطبيق مركز توزيع المفاتيح (KDC)، مثل AD أو LDAP المفتوح، وله SPN. في حين أن شبكة SPN تحدد الخدمة بشكل صارم، فإنها تستخدم بشكل خاطئ أحيانا للإشارة إلى اسم العميل (UPN) في السيناريوهات التي تعمل فيها الخدمة أيضا كعميل.

في Kerberos، يحدد اسم الخدمة الأساسي (SPN) بشكل فريد مثيل خدمة داخل شبكة. وهو يسمح للعملاء بطلب المصادقة لخدمة معينة. يربط SPN مثيل الخدمة بحسابه، مما يمكن Kerberos من المصادقة بشكل صحيح وتخويل طلبات الوصول إلى تلك الخدمة.

تكوين خادم Active Directory

1. إنشاء حساب مستخدم جديد أو إختيار حساب مستخدم موجود لاستخدامه.

2. تسجيل SPN المراد إستخدامه مقابل حساب المستخدم المختار.

3. تأكد من عدم تسجيل أي شبكات SPN مكررة.

تلميح: كيف يختلف Kerberos مع SWA خلف موازن التحميل أو مدير حركة المرور/شاغل حركة المرور؟ بدلا من اقتران SPN ل HA Virtual Hostname بحساب مستخدم، قم بإقران SPN لجهاز إعادة توجيه حركة مرور HTTP (على سبيل المثال: موازن التحميل أو مدير حركة المرور) مع حساب مستخدم على الإعلان.

يمكن العثور على أفضل الممارسات لتنفيذ Kerberos:

- أفضل ممارسات جهاز الويب الآمن

- تكوين منافذ جدار الحماية لاتصالات SWA

استكشاف الأخطاء وإصلاحها

أستكشاف أخطاء Kerberos وإصلاحها باستخدام أوامر SPN

فيما يلي قائمة بأوامر setSPN المفيدة لإدارة أسماء الخدمات الأساسية (SPN) في بيئة Kerberos يتم تشغيل هذه الأوامر عادة من واجهة سطر أوامر ذات امتيازات إدارية في بيئة Windows.

سرد SPNs لحساب معين:

setSPN -L <User/ComputerAccountName>

يسرد كافة SPNs المسجلة للحساب المحدد.

إضافة SPN إلى حساب:

setSPN -A <SPN> <User/ComputerAccountName>

إضافة SPN المحدد إلى الحساب المحدد.

حذف SPN من حساب:

setSPN -D <SPN> <User/ComputerAccountName>

إزالة SPN المحدد من الحساب المحدد.

التحقق من تسجيل SPN بالفعل:

setSPN -Q <SPN>

التحقق مما إذا كان SPN المحدد مسجلا بالفعل في المجال.

سرد كافة SPNs في المجال

setSPN -L <User/Computer account>

يسرد جميع شبكات SPN في المجال.

تعيين SPN لحساب الكمبيوتر:

setSPN -S <SPN> <User/CoumputerAccountName>

إضافة SPN إلى حساب كمبيوتر، مما يضمن عدم تكرار الإدخالات.

إعادة تعيين SPNs لحساب محدد:

setSPN -R <User/CoumputerAccountName>

إعادة تعيين SPNs للحساب المحدد، مما يساعد في حل مشاكل SPN المكررة.

أمثلة على أوامر ومخرجات SPN

الأمثلة المقدمة توضح الاستخدام:

- حساب المستخدم/الكمبيوتر: vrpServiceUser

- SPN: http/WsaHostname.com أو http/proxyha.localdomain

التحقق مما إذا كان SPN مقترنا بالفعل بحساب مستخدم:

setSPN -q <SPN>

setSPN -q http/proxyha.localdomain

السيناريو 1: لم يتم العثور على SPN

السيناريو الثاني: تم العثور على SPN

- إقران SPN بحساب مستخدم/كمبيوتر صالح:

الصيغة: setSPN -s <SPN> <حساب المستخدم/الكمبيوتر>

على سبيل المثال: setSPN -s http/proxyha.localdomain vrpServiceUser

- حذف/إزالة SPN مقترن بالفعل بمستخدم أو حساب كمبيوتر:

الصيغة: setSPN -d <SPN> <User/Computer account>

على سبيل المثال: setSPN -d http/proxyha.localdomain pod1234-wsa0

تأكد من عدم وجود شبكات SPN مكررة لاسم المضيف الظاهري HA، حيث يمكن أن تحدث حالات الفشل لاحقا.

- أمر لاستخدام: سيتسبين -x

ونتيجة لذلك، لا يتم توفير تذكرة خدمة Kerberos للعميل، وتفشل مصادقة Kerberos.

تحذير: إذا تم العثور على تكرارات، الرجاء إزالة التكرارات باستخدام الأمر setSPN -d.

- سرد كافة SPNs المقترنة بحساب:

الصيغة: setSPN -l <User/Computer account>

على سبيل المثال: setSPN -l vrpServiceUser

أستكشاف أخطاء Kerberos وإصلاحها على SWA

يلزم الحصول على معلومات دعم Cisco عند أستكشاف أخطاء مصادقة Kerberos وإصلاحها:

- تفاصيل التكوين الحالي.

- سجلات المصادقة (يفضل أن تكون في وضع تصحيح الأخطاء أو التتبع).

- التقاط الحزم التي تم تنفيذها (مع عوامل التصفية المناسبة):

(أ) جهاز العميل

(ب) النهج القطاعية الشاملة

- الوصول إلى السجلات مع تمكين محدد التنسيق المخصص ٪m. يجب أن يعرض هذا آلية المصادقة التي تم إستخدامها لمعاملة معينة.

- للحصول على تفاصيل المصادقة التفصيلية، أضف هذه الحقول المخصصة إلى سجلات الوصول الموجودة على الوكلاء العاملين/غير العاملين للحصول على مزيد من المعلومات أو ارجع إلى الارتباط التشعبي الذي يضيف المعلمة في سجلات Access.

- في واجهة المستخدم الرسومية SWA، انتقل إلى إدارة النظام > تسجيل الاشتراك > سجلات الوصول > حقول مخصصة > إضافة هذه السلسلة لمشاكل المصادقة:

server IP address = %k, Client IP address= %a, Auth-Mech = %m, Auth_Type= %m, Auth_group= %g, Authenticated_Username= %A, Date= %L, Transaction_ID= %I Auth response = %:

a;

- سجل وصول SWA لتفاصيل مصادقة المستخدم.

- سجلات SWA من Cisco بأسماء المستخدمين التي تمت مصادقتها في تنسيق المجال\username@authentication_realm:

- قم بتشغيل إعدادات مجال مصادقة الاختبار من واجهة المستخدم الرسومية (GUI). انتقل إلى الشبكة > المصادقة، ثم انقر على اسم المجال الخاص بك في قسم إختبار الإعدادات الحالية. انقر على بدء الاختبار.

لم يتم العثور على الخادم في قاعدة بيانات Kerberos

إحدى حالات الخطأ الشائعة هي فشل طلبات الويب مع "لم يتم العثور على الخادم في قاعدة بيانات Kerberos":

curl -vx proxyha.local:3128 --proxy-negotiate -u: http://www.cisco.com/

* About to connect() to proxy proxyha.localdomain port 3128 (#0)

* Connected to proxyha.local (10.8.96.30) port 3128 (#0)

< HTTP/1.1 407 Proxy Authentication Required

< Via: 1.1 pod1234-wsa02.local:80 (Cisco-SWA/10.1.2-003)

< Content-Type: text/html

gss_init_sec_context() failed: : Server not found in Kerberos database

< Proxy-Authenticate: Negotiate

< Connection: close

* HTTP/1.1 proxy connection set close!

في هذه الحالة، يشير الخطأ إلى أن اسم الخدمة الأساسي المقابل لقيمة عنوان الوكيل proxy proxy.local غير مسجل على خادم Active Directory. لحل المشكلة، من الضروري التأكد من تسجيل SPN http/proxyha.local على AD DC وإضافته إلى حساب خدمة مناسب.

معلومات ومراجع إضافية