المقدمة
يوضح هذا المستند كيفية اتصال Identity Service Engine (ISE) و Active Directory (AD)، والبروتوكولات المستخدمة، وعوامل تصفية AD، والتدفقات.
المتطلبات الأساسية
المتطلبات
تستعيد Cisco معرفة أساسية ب :
- دمج ISE 2.x و Active Directory .
- مصادقة الهوية الخارجية على ISE.
المكونات المستخدمة
- ISE 2.x .
- خادم Windows (Active Directory) .
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
بروتوكولات AD
بروتوكول Kerberos
تتألف رؤوس Kerberos الثلاثة من مركز توزيع المفاتيح (KDC) ومستخدم العميل والخادم الذي يجب الوصول إليه.
يتم تثبيت KDC كجزء من وحدة التحكم بالمجال (DC) ويقوم بوظيفتين للخدمات: خدمة المصادقة (AS) وخدمة منح التذاكر (TGS).
يتم تضمين ثلاث عمليات تبادل عندما يقوم العميل بالوصول في البداية إلى مورد خادم:
- كبديل.
- تبادل TGS.
- تبادل العميل/الخادم (CS).

- وحدة التحكم بالمجال = KDC (AS + TGS).
- مصادقة إلى AS (مدخل SSO) باستخدام كلمة المرور الخاصة بك.
- الحصول على تذكرة منح (TGT) (ملف تعريف إرتباط جلسة).
- طلب تسجيل الدخول إلى خدمة (SRV01).
- يقوم SRV01 بإعادة توجيهك إلى KDC.
- إظهار TGT إلى KDC - (أنا مصدق عليه بالفعل)
- تقدم لك شركة KDC TGS ل SRV01.
- قم بإعادة التوجيه إلى SRV01.
- إظهار تذكرة الخدمة إلى SRV01.
- يقوم SRV01 بالتحقق من تذكرة الخدمة أو الوثوق بها.
- بطاقة الخدمة تحتوي على جميع المعلومات الخاصة بي.
- يقوم SRV01 بتسجيل دخولي.
عند تسجيل الدخول في البداية إلى شبكة، يجب على المستخدمين التفاوض بشأن الوصول وتوفير اسم تسجيل الدخول وكلمة المرور للتحقق منه بواسطة جزء AS من KDC داخل مجالهم.
لدى KDC إمكانية الوصول إلى معلومات حساب مستخدم Active Directory. وبمجرد مصادقته، يتم منح المستخدم تذكرة منح (TGT) صالحة للمجال المحلي.
يبلغ عمر TGT الافتراضي 10 ساعات ويتم تجديده خلال جلسة عمل تسجيل دخول المستخدم بدون الحاجة إلى إعادة إدخال كلمة المرور الخاصة به.
يتم تخزين TGT مؤقتا على الجهاز المحلي في مساحة ذاكرة متطايرة ويتم إستخدامه لطلب جلسات العمل مع الخدمات عبر الشبكة.
يقدم المستخدم TGT إلى جزء TGS من KDC عند الحاجة إلى الوصول إلى خدمة الخادم.
يقوم TGS الموجود على KDC بمصادقة TGT للمستخدم وإنشاء تذكرة ومفتاح جلسة عمل لكل من العميل والخادم البعيد. يتم بعد ذلك تخزين هذه المعلومات (بطاقة الخدمة) مؤقتا محليا على جهاز العميل.
يتلقى TGS العميل TGT ويقرأه بمفتاحه الخاص. إذا وافق TGS على طلب العميل، يتم إنشاء تذكرة خدمة لكل من العميل والخادم الهدف.
يقرأ العميل نصيبه مع مفتاح جلسة TGS الذي تم إسترداده مسبقا من رد AS.
يقوم العميل بتقديم جزء الخادم الخاص برد TGS على الخادم الهدف في عملية تبادل العميل/الخادم التالية.
مثال:

التقاط الحزمة من ISE لمستخدم تتم مصادقته:

تحتوي AS-REQ على اسم المستخدم. إذا كانت كلمة المرور صحيحة، فإن خدمة AS توفر TGT مشفرا باستخدام كلمة مرور المستخدم. وبعد ذلك يتم توفير TGT لخدمة TGT للحصول على تذكرة جلسة عمل.
تكون المصادقة ناجحة عند إستلام تذكرة جلسة عمل..
هذا مثال حيث كلمة المرور المقدمة من العميل خاطئة:

إذا كانت كلمة المرور غير صحيحة، يفشل طلب AS ولا يتم تلقي TGT:

قم بتسجيل الدخول إلى ملف ad_agent.log عندما تكون كلمة المرور غير صحيحة:
2020-01-14 13:36:05،442 تصحيح الأخطاء، 140574072981248،krb5: تم إرسال طلب (276 بايت) إلى RALMAAIT.COM،LwKrb5TraceCallback()،lwadvapi/threaded/lwkrb5.c:1325
2020-01-14 13:36:05،444 تصحيح الأخطاء، 140574072981248،krb5: تم تلقي خطأ من KDC: -1765328360/فشلت مصادقة مسبقة،LwKrb5TraceCallback()،lwadvapi/threaded/lwkrb5.c:1325
2020-01-14 13:36:05،444 تصحيح الأخطاء، 140574072981248،krb5: أنواع إدخال محاولة ما قبل التشغيل مرة أخرى: 16 و 14 و 19 و 2 و LwKrb5TraceCallback() و lwadvapi/threaded/lwkrb5.c:1325
2020-01-14 13:36:05،444 تحذير، 140574072981248،[LwKrb5GetTgtImpl ../../lwadvapi/threaded/krbtgt.c:329] KRB5 خطأ رمز: -1765328360 (الرسالة: فشلت عملية ما قبل المصادقة)،LwTranslateKrb5Error()،lwadvapi/threaded/lwkrb5.c:892
2020-01-14 13:36:05،444 تصحيح الأخطاء، 140574072981248،[LwKrb5InitializeUserLoginCredentials()] رمز الخطأ: 40022 (الرمز: LW_ERROR_PASSWORD_MISMATCH)،LwKrb5InitializeUserLoginCredentials()،lwadvapi/threaded/lwkrb5.c:1453
بروتوكول MS-RPC
يستخدم ISE MS-RPC عبر SMB، وتوفر SMB المصادقة ولا تتطلب جلسة منفصلة للعثور على موقع خدمة RPC معينة. وهو يستخدم آلية تسمى "ممر البيانات المسمى" للاتصال بين العميل والخادم.
- إنشاء اتصال جلسة عمل SMB.
- نقل رسائل RPC عبر SMB/CIFS.TCP منفذ 445 كنقل
- تحدد جلسة عمل SMB المنفذ الذي تقوم خدمة RPC معينة بتشغيله وتعالج مصادقة المستخدم.
- الاتصال ب IPC$ للمشاركة المخفية للاتصال بين العمليات.
- فتح ممر بيانات مسمى مناسب لمورد/وظيفة RPC المطلوبة.
تبادل RPC عبر SMB.

يتفاوض negotiate protocol request/response
البند مع لهجة الشركات الصغيرة والمتوسطة. يقوم session setup request/response
بإجراء المصادقة.
اتصال طلب اتصال الشجرة والاستجابة بالمورد المطلوب. أنت متصل بمشاركة خاصة IPC$.
وتوفر هذه المشاركة في الاتصال بين العمليات وسائل الاتصال بين الأجهزة المضيفة وكذلك كوسيلة نقل لوظائف MSRPC.
في الحزمة 77 Create Request File
هو اسم الملف للخدمة المتصلة (خدمة netlogon في هذا المثال).
في الحزم 83 و 86، يكون طلب NetrlogonSamLogonEX هو المكان الذي تقوم فيه بإرسال اسم المستخدم لمصادقة العميل على ISE إلى AD في الحقل network_info.
تقوم حزمة إستجابة NetrlogonSamLogonEX بالرد مع النتائج.
بعض قيم العلامات لاستجابة NetrlogonSamLogonEX:
0xc00006a status_wrong_password
0x000000 هو status_success
0x0000103 هو status_pending
دمج ISE مع خدمة Active Directory (AD)
يستخدم ISE بروتوكول LDAP و KRB و MSRBC للاتصال بالإعلان أثناء عملية الانضمام/المغادرة والمصادقة.
توفر الأقسام التالية البروتوكولات وتنسيق البحث والآليات المستخدمة للاتصال ب DC محدد في AD ومصادقة المستخدم مقابل DC هذا.
وفي حالة عدم اتصال وحدة التحكم بالمجال (DC) لأي سبب من الأسباب، يفشل ISE في الوصول إلى وحدة التحكم بالمجال (DC) التالية المتاحة ولا تتأثر عملية المصادقة.
خادم الكتالوج العمومي (GC) هو وحدة تحكم بالمجال تقوم بتخزين نسخ من كافة كائنات Active Directory في الغابة.
وهو يخزن نسخة كاملة من كل الكائنات في دليل مجالك ونسخة جزئية من كل الكائنات من كل مجالات الغابات الأخرى.
وبالتالي، يتيح الكتالوج العمومي للمستخدمين والتطبيقات العثور على كائنات في أي مجال من مجالات الغابة الحالية مع البحث عن سمات مضمنة في GC.
يحتوي الكتالوج العمومي على مجموعة أساسية (غير كاملة) من السمات لكل كائن غابة في كل مجال (مجموعة سمات جزئية، PAT).
يتلقى GC بيانات من كل أقسام دليل المجال في الغابة. يتم نسخها باستخدام الخدمة القياسية للنسخ المتماثل باستخدام AD.
انضمام ISE إلى AD
المتطلبات الأساسية لتكامل Active Directory و ISE
- دققت أن أنت يتلقى امتياز من سوبر مدير أو نظام مدير في ISE.
- أستخدم إعدادات خادم بروتوكول وقت الشبكة (NTP) لمزامنة الوقت بين خادم Cisco وخدمة Active Directory. الحد الأقصى لفرق الوقت المسموح به بين ISE و AD هو 5 دقائق
- يجب أن يكون DNS الذي تم تكوينه على ISE قادرا على الرد على استعلامات SRV الخاصة ب DCs و GCs و KDCs مع معلومات الموقع الإضافية أو بدونها.
- تأكد من أن كافة خوادم DNS يمكنها الرد على استعلامات DNS الأمامية والعكسية لأي مجال DNS محتمل ل Active Directory.
- يجب أن يكون ل AD خادم كتالوج عمومي واحد على الأقل قيد التشغيل ويمكن الوصول إليه بواسطة Cisco، في المجال الذي تنضم إليه Cisco.
الانضمام إلى مجال AD
يطبق ISE اكتشاف المجال للحصول على معلومات حول مجال الانضمام في ثلاث مراحل:
- تم انضمام الاستعلامات إلى المجالات—اكتشاف المجالات من غابتها والمجالات الموثوق بها خارجيا للمجال المنضم.
- يستعلم عن المجالات الجذرية في غابته - يؤسس الثقة مع الغابة.
- استعلامات المجالات الجذرية في الغابات الموثوق بها—يكتشف المجالات من الغابات الموثوق بها.
وبالإضافة إلى ذلك، يكتشف Cisco ISE أسماء مجالات DNS (لاحقات UPN)، ولاحقات UPN البديلة، وأسماء مجال NTLM.
يقوم ISE بتطبيق اكتشاف DC للحصول على جميع المعلومات حول وحدات DC و GCs المتوفرة.
- تبدأ عملية الانضمام ببيانات اعتماد الإدخال الخاصة بالمسؤول المتميز على AD الموجودة في المجال نفسه. إذا كان موجودا في مجال أو مجال فرعي مختلف، فيجب ملاحظة اسم المستخدم في تدوين UPN (username@domain).
- يقوم ISE بإرسال استعلام DNS لجميع سجلات DCs و GCs و KDCs. إذا لم يحتوي رد DNS على أي واحد منها في إجابته، يفشل التكامل مع الخطأ المرتبط DNS.
- يستخدم ISE إختبار اتصال CLDAP لاكتشاف جميع DCs و GCs من خلال طلبات CLDAP المرسلة إلى DCs والتي تتوافق مع أولوياتها في سجل SRV. يتم إستخدام إستجابة وحدة التحكم بالمجال (DC) الأولى ومن ثم يتم توصيل ISE بهذا وحدة التحكم بالمجال DC.
يتمثل أحد العوامل المستخدمة لحساب أولوية DC في الوقت الذي يستغرقه DC للاستجابة لأدوات إختبار الاتصال من بعد (CLDAP)؛ وتتلقى الاستجابة الأسرع أولوية أعلى.
ملاحظة: CLDAP هي الآلية التي يستخدمها ISE لإنشاء اتصال مع وحدات التحكم في الوصول (DCs) والحفاظ عليه. يقيس وقت الاستجابة حتى أول رد ل DC. يفشل إذا لم تجد إجابة من التيار المستمر. حذر إذا كان وقت الاستجابة أكبر من 2.5 ثانية. مسح كافة وحدات التحكم بالمجال DC في الموقع (في حالة عدم وجود موقع، فإنه يتم مسح كافة وحدات التحكم بالمجال DC في المجال). تحتوي إستجابة CLDAP على موقع DC وموقع العميل (الموقع الذي تم تعيين جهاز ISE إليه).
- ثم يستقبل ISE TGT مع بيانات اعتماد "الانضمام إلى المستخدم".
- قم بإنشاء اسم حساب جهاز ISE باستخدام MSRPC. (SAM و SPN)
- بحث AD بواسطة SPN إذا كان حساب جهاز ISE موجودا بالفعل. إذا لم يكن جهاز ISE موجودا، يقوم ISE بإنشاء جهاز جديد.
- فتح حساب الجهاز، وتعيين كلمة مرور حساب جهاز ISE، والتحقق من إمكانية الوصول إلى حساب جهاز ISE.
- قم بتعيين سمات حساب جهاز ISE (SPN و dnsHostname وما شابه).
- احصل على TGT باستخدام بيانات اعتماد جهاز ISE باستخدام KRB5 واكتشف جميع المجالات الموثوق بها.
- وعند اكتمال الانضمام، تقوم عقدة ISE بتحديث مجموعات AD و SIDS المقترنة بها وتبدأ عملية تحديث SID تلقائيا. تحقق من إمكانية إكمال هذه العملية على جانب AD.
ترك مجال AD
عندما يغادر ISE، يجب ان يأخذ الاعلان بعين الاعتبار:
- أستخدم مستخدم مسؤول AD كامل لإجراء عمليات المغادرة. وهذا يتحقق من إزالة حساب جهاز ISE من قاعدة بيانات Active Directory.
- إذا تم ترك AD بدون بيانات اعتماد، فلا يتم إزالة حساب ISE من AD ويجب حذفه يدويا.
- عند إعادة ضبط تكوين ISE من واجهة سطر الأوامر (CLI) أو إستعادة التكوين بعد النسخ الاحتياطي أو الترقية، فإنه يقوم بتنفيذ عملية خروج ويقطع اتصال عقدة ISE من مجال Active Directory. (إذا تم الانضمام). ومع ذلك، لم تتم إزالة حساب عقدة ISE من مجال Active Directory.
- يوصى بإجراء عملية خروج من مدخل المسؤول مع بيانات اعتماد Active Directory لأنه يزيل أيضا حساب العقدة من مجال Active Directory. كما يوصى بذلك عند تغيير اسم مضيف ISE.
تجاوز فشل التيار المستمر
عند اتصال وحدة التحكم بالمجال DC ب ISE يصبح غير متصل أو يتعذر الوصول إليه لأي سبب، يتم تشغيل تجاوز فشل وحدة التحكم بالمجال DC تلقائيا على ISE. يمكن تشغيل تجاوز فشل التيار المستمر بواسطة الشروط التالية:
- يكتشف موصل AD أن DC المحدد حاليا أصبح غير متوفر أثناء محاولة اتصال Cldap أو LDAP أو RPC أو Kerberos. في مثل هذه الحالات، يبدأ موصل AD تحديد DC ويفشل في الوصول إلى DC المحدد حديثا.
- يتم تشغيل وحدة التحكم بالمجال (DC) والاستجابة لعملية إختبار اتصال CLDAP، ولكن يتعذر على موصل AD الاتصال بها لسبب ما (أمثلة: تم حظر منفذ RPC، وكانت وحدة التحكم بالمجال (DC) في حالة "النسخ المتماثل المكسور"، ولم يتم إيقاف تشغيل وحدة التحكم بالمجال DC بشكل صحيح).
في مثل هذه الحالات، يقوم موصل AD بتهيئة تحديد DC بقائمة محظورة ( يتم وضع DC "سيئ" في القائمة المحظورة) ويحاول الاتصال ب DC المحدد. لم يتم تخزين وحدة التحكم بالمجال (DC) المحددة في القائمة المحظورة مؤقتا.
يجب أن يقوم موصل AD بإكمال تجاوز الفشل خلال فترة زمنية معقولة (أو الفشل إذا لم يكن ذلك ممكنا). ولهذا السبب، يحاول موصل AD تجربة عدد محدود من وحدات DC أثناء تجاوز الفشل.
يقوم ISE بحظر وحدات التحكم بالمجال AD إذا كان هناك خطأ غير قابل للاسترداد في الشبكة أو الخادم لمنع ISE من إستخدام DC تالف. لا تتم إضافة DC إلى القائمة المحظورة إذا لم يستجيب إلى إختبارات اتصال CLDAP. تعمل خدمة ISE على تقليل أولوية وحدة التحكم بالمجال (DC) التي لا تستجيب.
اتصال ISE-AD من خلال LDAP
يبحث ISE عن آلة أو مستخدم في AD بإحدى تنسيقات البحث هذه. إذا كان البحث عن جهاز، فإن ISE يضيف "$" في نهاية اسم الجهاز. هذه قائمة بأنواع الهوية التي تستخدم لتعريف مستخدم في AD:
- اسم سام: اسم المستخدم أو اسم الجهاز بدون أي علامة مجال، هذا هو اسم تسجيل دخول المستخدم في AD. مثال: ساجدة أو ساجدة$
- سي إن: هو اسم عرض المستخدم على AD، يجب ألا يكون نفس SAM. مثال: ساجدة أحمد.
- اسم المستخدم الأساسي (UPN): هو مزيج من اسم SAM واسم المجال (SAM_NAME@domian). مثال: sajeda@cisco.com أو sajeda$@cisco.com
- UPN البديل: لاحقات UPN إضافية / بديلة تم تكوينها في AD بخلاف اسم المجال. تتم إضافة هذا التكوين بشكل عام في AD (لم يتم تكوينه لكل مستخدم) ومن غير الضروري أن يكون لاحقة اسم مجال حقيقي.
يمكن أن يكون لكل إعلان لاحقة UPN متعددة(@alt1.com،@alt2.com،...، وما إلى ذلك). مثال: شبكة رئيسية (sajeda@cisco.com)، شبكة بديلة:sajeda@domain1 ، sajeda@domain2
- اسم NetBIOS الثابت مسبقا: هو اسم المجال\اسم المستخدم لاسم الجهاز. مثال: Cisco\Sajeda أو Cisco\machine$
- المضيف/البادئة مع جهاز غير مؤهل: يستخدم هذا للمصادقة الآلية عند إستخدام اسم الجهاز فقط، فهو المضيف/اسم الجهاز فقط. مثال: مضيف/جهاز
- المضيف/ البادئة مع جهاز مؤهل بالكامل: يستخدم هذا لمصادقة الجهاز عند إستخدام FQDN للجهاز، عادة في حالة مصادقة الشهادة، يكون المضيف/FQDN الخاص بالجهاز. مثال: host/machine.cisco.com
- اسم SPN: الاسم الذي يحدد به العميل بشكل فريد مثيل خدمة ما، (أمثلة: HTTP و LDAP و SSH) المستخدم للجهاز فقط.
مصادقة المستخدم مقابل تدفق AD:
- حل الهوية وتحديد نوع الهوية - SAM و UPN و SPN. إذا استلم ISE الهوية كاسم مستخدم فقط، فإنه يبحث عن حساب SAM مقترن في AD. إذا استلم ISE الهوية على هيئة username@domain، فإنه يبحث عن UPN أو بريد مطابق في AD. في كلا السيناريوين يستخدم ISE عوامل تصفية إضافية للجهاز أو اسم المستخدم.
- مجال البحث أو الغابة (يعتمد على نوع الهوية)
- الاحتفاظ بمعلومات حول جميع الحسابات المقترنة (JP و DN و UPN و Domain)
- في حالة عدم العثور على أي حساب مقترن، تكون ردود AD مع المستخدم غير معروفة.
- إجراء مصادقة MS-RPC (أو Kerberos) لكل حساب مقترن
- في حالة تطابق حساب واحد فقط مع هوية الإدخال وكلمة المرور، تكون المصادقة ناجحة
- وإذا تطابقت حسابات متعددة مع الهوية الواردة، فإن ISE يستخدم كلمة المرور لحل الغموض بحيث تتم مصادقة الحساب مع كلمة المرور المقترنة وتزيد الحسابات الأخرى من عداد كلمة المرور غير الصحيح بمقدار 1.
- إذا لم يتطابق أي حساب مع الهوية وكلمة المرور الواردين، فعندئذ ترد AD بكلمة مرور غير صحيحة.
عوامل تصفية البحث ISE
تستخدم عوامل التصفية لتعريف الكيان الذي يريد الاتصال ب AD. تبحث ISE دائما عن هذا الكيان في مجموعات المستخدمين والآلات.
أمثلة على عوامل تصفية البحث:
- بحث SAM: إذا استلم ISE هوية كاسم مستخدم فقط دون أي علامة مجال، فإن ISE يتعامل مع اسم المستخدم هذا كSAM ويبحث في AD لجميع مستخدمي الأجهزة أو الأجهزة التي لها تلك الهوية كاسم SAM.
إذا لم يكن اسم SAM فريدا، فإن ISE يستخدم كلمة المرور للتمييز بين المستخدمين وكان ISE مكونا لاستخدام بروتوكول غير معرف كلمة مرور مثل EAP-TLS.
لا توجد معايير أخرى لتحديد موقع المستخدم المناسب، لذلك يفشل ISE في المصادقة مع حدوث خطأ "هوية غامضة".
ومع ذلك، إذا كانت شهادة المستخدم موجودة في Active Directory، يستخدم Cisco ISE مقارنة ثنائية لحل الهوية.

- بحث UPN أو Mail: إذا كان ISE يتلقى هوية على هيئة username@domain، يبحث ISE في كل كتالوجات العمومية للغابة بحثا عن تطابق مع هوية UPN تلك أو هوية البريد "identity=match UPN أو البريد الإلكتروني".
إذا كان هناك تطابق فريد، يستمر Cisco ISE مع تدفق AAA.
إذا كانت هناك نقاط ربط متعددة لها نفس UPN وكلمة مرور أو نفس UPN والبريد، فإن Cisco ISE يفشل في المصادقة مع حدوث خطأ "معرف ملتبس".

- بحث NetBIOS: إذا كان ISE يتلقى هوية مع بادئة مجال NetBIOS (ex:Cisco\Sajedah)، بعد ذلك يقوم ISE بالبحث في الغابات عن مجال NetBIOS. وبمجرد العثور عليها، تبحث عن اسم SAM المتوفر (ساجدة في المثال الذي نمثله)

- البحث عن قاعدة الجهاز: إذا تلقى ISE مصادقة جهاز، بهوية مضيف/بادئة، يقوم ISE بالبحث في الغابة عن سمة servicePrincipalName متطابقة.
إذا تم تحديد لاحقة مجال مؤهلة بالكامل في الهوية، على سبيل المثال host/machine.domain.com، فإن Cisco ISE يبحث في الغابة حيث يوجد هذا المجال.
إذا كانت الهوية في شكل مضيف/جهاز، يقوم Cisco ISE بالبحث في جميع الغابات عن اسم الخدمة الأساسي.
إذا كان هناك أكثر من تطابق واحد، يفشل Cisco ISE في المصادقة باستخدام خطأ "معرف ملتبس".

ملاحظة: نفس المرشحات ترى في ملفات ISE AD-agent.log
ملاحظة: ISE 2.2 رقعة 4 و Before و 2.3 رقعة 1 و Before Identified Users السابق مع السمات SAM أو CN أو كلاهما. Cisco ISE، الإصدار 2.2 تصحيح 5 وأعلى، و 2.3 تصحيح 2 وأعلى، أستخدم سمة sAMAccountName فقط كسمة افتراضية.