المقدمة
يصف هذا المستند مثالا لتكوين تسجيل الدخول الأحادي ل AnyConnect (SSO) باستخدام تعيين Duo و LDAP للتخويل على جدار الحماية الآمن.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- Cisco AnyConnect Secure Mobility Client
- الدفاع الآمن عن تهديد الطاقة النارية (FTD) من Cisco
- مركز إدارة جدار الحماية الآمن (FMC) من Cisco
- أساسيات الأمان الثنائي
- لغة ترميز تأكيد الأمان (SAML)
- تكوين خدمات Active Directory (AD) على Microsoft Windows Server
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج التالية:
- Cisco Secure FMC، الإصدار 7.4.0
- Cisco Secure FTD، الإصدار 7.4.0
- وكيل المصادقة الثنائي
- AnyConnect Secure Mobility Client، الإصدار 4.10.06079
- Windows Server 2016، تم تكوينه كخادم AD
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
التكوين
الرسم التخطيطي للشبكة
تدفق حركة مرور SSO الثنائي
تدفق حركة المرور الثنائي
- يقوم عميل AnyConnect بتهيئة اتصال طبقة مآخذ التوصيل الآمنة (SSL) الشبكة الخاصة الظاهرية (VPN) ب Cisco Secure FTD.
- يعمل بروتوكول FTD الآمن على إعادة توجيه المستعرض المضمن في عميل AnyConnect إلى وحدة تخزين SSO ثنائية لمصادقة SAML.
- يقوم مستخدم AnyConnect بتسجيل الدخول باستخدام بيانات اعتماد Active Directory الأساسية الموجودة مسبقا.
- يقوم Duo SSO بإجراء المصادقة الأساسية عبر وكيل مصادقة Duo محلي إلى Active Directory (الدليل النشط).
- بمجرد نجاح المصادقة الأساسية، يبدأ إجراء المصادقة الثنائية (2FA) بنظام التشغيل Duo.
- يكمل مستخدم AnyConnect الثنائي 2Fa.
- يقوم Duo SSO بإعادة توجيه المستخدم مرة أخرى إلى FTD مع رسالة إستجابة تشير إلى النجاح.
SAML مع LDAP خارجي
يعتمد التخويل الخارجي لمستخدم SAML على قيمة NameID التي تم إرجاعها بواسطة IdP. يقوم جدار الحماية الآمن بتعيين حقل NameID إلى اسم المستخدم ويمكن إستخدام اسم المستخدم هذا للاستعلام عن LDAP.
ملاحظة: يسمح التكوين المستخدم في هذا المستند للمستخدمين الذين ينتمون إلى مجموعة AD بإنشاء اتصال VPN للوصول عن بعد (RA). الاتصال محظور للمستخدمين من مجموعات AD مختلفة غير محددة على الخريطة.
التكوينات
تكوين مدخل مسؤول Duo
قم بتكوين موفر تعريف AD أو SAML يمكن إستخدامه كمصدر مصادقة أساسي ل Duo SSO.
كما تحتاج إلى وكيل مصادقة ثنائي (يوصى بثلاثة خوادم وكيل مصادقة للحصول على درجة عالية من التوفر) يمكن الوصول إليه من خلال موفر هوية AD أو SAML المحلي.
لمزيد من المعلومات، ارجع إلى تسجيل الدخول الأحادي الثنائي.
الخطوة 1. قم بتكوين FTD الآمن من Cisco على مدخل مسؤول Duo.
- تسجيل الدخول إلى مدخل مسؤول Duo والانتقال إلى
Applications > Protect an Application
.
- البحث عن FTD بنوع الحماية
2FA with SSO hosted by Duo
.
- انقر
Protect
على أقصى اليمين لتكوين Cisco FTD VPN.
تطبيق الحماية الثنائية
الخطوة 2. قم بتكوين معلومات موفر الخدمة على مدخل مسؤول Duo.
يتم إستخدام هذه السمات:
- عنوان URL لقاعدة FirePOWER من Cisco:
fj-ftdv.example.com
- اسم ملف تعريف الاتصال:
SSO-AD_Split-tunnel
- سمة البريد:
موفر الخدمة الثنائي
ملاحظة: يمكن تعيين سمة البريد إلى
. إذا كان هذا هو الحال، فإن تكوين ldap-naming-attribute
تغييرات من userPrincipalName
إلى sAMAccountName
على Cisco Secure FTD.
الخطوة 3. انقر فوق Save
زر في نهاية الصفحة in order to أنقذت التشكيل.
الخطوة 4. انتقل إلى Users > Add User
كما هو موضح في الصورة:
Duo إضافة مستخدم
الخطوة 5. املأ الفراغ بجميع المعلومات اللازمة للمستخدم الجديد.
معلومات المستخدم الثنائي
ملاحظة: يجب أن تتطابق بيانات اسم المستخدم مع بيانات البريد الإلكتروني مع المعلومات المتوفرة في خادم Active Directory.
الخطوة 6. قم بإضافة هاتف لإضافة رقم هاتف المستخدم. يلزم هذا للمستخدم للمصادقة عبر 2FA باستخدام ميزة "الدفع الثنائي".
إضافة هاتف ثنائي
الخطوة 7. قم بتنشيط Duo Mobile للمستخدم المعين.
تنشيط الهاتف المحمول الثنائي
ملاحظة: تأكد من تثبيت Duo Mobile على جهاز المستخدم النهائي:
الخطوة 8. إنشاء رمز تنشيط Duo أثناء التنقل.
رمز التنشيط الثنائي
الخطوة 9. إرسال تعليمات بواسطة SMS.
Duo SMS
الخطوة 10. انقر فوق الارتباط المرسل عبر SMS، ويتم ربط تطبيق Duo بحساب المستخدم في قسم معلومات الجهاز.
قسم المعلومات الثنائية
الخطوة 11. كرر العملية لكافة المستخدمين الذين سيتم إضافتهم.
الخطوة 12. إسترداد بيانات تعريف التطبيق:
- انتقل إلى
Applications
وانقر فوق تطبيق مزود الخدمة الذي تم إنشاؤه في الخطوة 1.
- انسخ
Identity Provider Entity ID URL
، SSO URL
,و Logout URL
من البيانات الأولية.
معلومات Duo IdP
الخطوة 13. تنزيل Identity Provider Certificate
.
شهادة معرف التنزيل الثنائية
التكوين على FTD عبر FMC
الخطوة 1. قم بتثبيت شهادة موفر الهوية (IDp) وتسجيلها على FMC.
- انتقل إلى
Devices > Certificates
.
الشهادة 1 ل FMC
- انقر
Add
. أختر FTD للتسجيل في هذه الشهادة.
- في
Add Cert Enrollment
أستخدم أي اسم كتسمية لشهادة IdP.
- انقر
Manual
.
- تحقق من
CA only
و Skip Check for CA flag fields
.
- الصق شهادة IdP CA بتنسيق base64.
- انقر فوق حفظ ثم انقر فوق إضافة.
تسجيل شهادة FMC
الخطوة 2. تكوين إعدادات خادم SAML:
- انتقل إلى
Objects > Object Management > AAA Servers > Single Sign-on Server.
- نختار
Add Single Sign-on Server.
FMC SSO
- استنادا إلى بيانات التعريف التي تم تجميعها من Duo، قم بتكوين قيم SAML على خادم SSO الجديد:
- معرف كيان موفر الهوية: EntityID من تطبيق Duo
- SSO URL: خدمة SSO من تطبيق Duo
- عنوان URL لتسجيل الخروج: SingleLogoutService من التطبيق الثنائي
- URL الأساسي: FQDN لشهادة معرف SSL ل FTD الخاص بك
- شهادة موفر الهوية: شهادة توقيع IDp
- شهادة مزود الخدمة: شهادة توقيع FTD
معلومات FMC SSO
ملاحظة: Request Timeout
تم تعيينه إلى 300 عند إرسال دفعة ثنائية أثناء عملية المصادقة ويلزم تفاعل المستخدم. تعديل Request Timeout
وفقا لتصميم الشبكة.
الخطوة 3. تكوين النطاق/خادم LDAP.
- انتقل إلى
Integration > Other Integrations.
نطاق FMC
نطاق إضافة FMC
- توفير تفاصيل خادم Active Directory ودليله. وانقر فوق OK.
ولأغراض هذه المظاهرة:
- الاسم:
ActiveDirectory_SSO
- النوع: AD
- مجال AD الأساسي:
example.com
- اسم مستخدم الدليل:
administrator@example.com
- كلمة مرور الدليل:
- شبكة DN الأساسية: DC=example، DC=com
- مجموعة DN: DC=example، DC=com
معلومات نطاق FMC
ملاحظة: LDAPS
(LDAP عبر SSL) يمكن إستخدامه. يجب تغيير المنفذ من 389 إلى 636.
ملاحظة: يجب أن يحتوي خادم AD على بيانات المستخدم التي تم تحميلها إلى Duo.
الخطوة 4. قم بإنشاء نهج مجموعة حسب الحاجة.
- انتقل إلى
Objects > Object Management > VPN > Group Policy.
- انقر
Add Group Policy
.
- إنشاء "نهج المجموعة" باستخدام المعلمات المقابلة له.
ولغرض هذا العرض التوضيحي، تم تكوين ثلاث سياسات جماعية:
- SSO_LDAP_ADMINS Group Policy هي مجموعة المستخدمين الذين ينتمون إلى
AnyConnect Admins
مجموعة.
نهج المجموعة 1
2. SSO_LDAP_USERS
Group Policy هي مجموعة المستخدمين الذين ينتمون إلى AnyConnect Users
مجموعة.
نهج المجموعة 2
3 - NO_ACCESS
Group Policy هي مجموعة المستخدمين الذين لا ينتمون إلى أي من نهج المجموعة السابق. لديها Simultaneous Login Per User
يجب تعيين المعلمة إلى 0.
نهج المجموعة 3
الخطوة 5. تكوين تعيين سمة LDAP.
لأغراض هذا العرض التوضيحي، تكوين خريطة سمة LDAP:
- اسم سمة LDAP:
memberOf
- اسم سمة Cisco:
Group-Policy
تعيين سمة LDAP
- توفير
LDAP Attribute Value
و Cisco Attribute Value
. انقر OK
.
ولأغراض هذه المظاهرة:
قيمة سمة LDAP: cn=AnyConnect Admins، cn=Users، dc=example، dc=com
قيمة سمة Cisco: SSO_LDAP_ADMINS
قيمة سمة LDAP: CN=AnyConnect Users، CN=Users، DC=example، DC=com
قيمة سمة Cisco: SSO_LDAP_USERS
تكوين تعيين سمة LDAP
الخطوة 6. قم بتكوين Connection Profile
.
- انتقل إلى
Devices > Remote Access
ثم قم بتحرير تكوين الوصول عن بعد للشبكة الخاصة الظاهرية (VPN) الحالية.
- إنشاء توصيف توصيل جديد بسماته. أختر
NO_ACCESS
نهج المجموعة كنهج المجموعة لملف تعريف الاتصال هذا.
ملف تعريف اتصال FMC 1
- أختر
AAA
علامة تبويب. تحت Authentication Method
خيار، إختيار SAML
، ولأجل Authorization Server
أختر خادم AD الذي تم إنشاؤه في الخطوة 3.
توصيف توصيل FMC AAA
- إنشاء اسم مستعار لمجموعة لتعيين الاتصالات بملف تعريف الاتصال هذا. هذه هي العلامة التي يمكن للمستخدمين رؤيتها في القائمة المنسدلة AnyConnect Software.
الاسم المستعار لمجموعة FMC
- طقطقت ok وحفظ الكامل توصيل التوصيف VPN تشكيل.
الخطوة 7. التكوين FlexConfig Policy
لتعديل سمة تسمية LDAP.
بما أن سمة بريد مزود الخدمة معينة إلى عنوان البريد الإلكتروني، بعد ذلك ldap-naming-attribute
يجب تغيير خادم AD من sAMAccountName
إلى userPrincipalName
.
ملاحظة: إذا كان IDp يرسل NameID
القيمة ك sAMAccountName
، هذه الخطوة غير ضرورية.
- انتقل إلى
Devices > FlexConfig
ثم أختر أو انشيء FlexConfig Policy
علشان يعدل.
- انقر
FlexConfig Object
لإضافة كائن جديد.
كائن FMC FlexConfig
- تعديل
ldap-naming-attribute
من sAMAccountName
إلى userPrincipalname.
إضافة كائن FlexConfig
الخطوة 8. انتقل إلى Deploy > Deployment
واخترت FTD مناسب in order to طبقت التشكيل.
التحقق من الصحة
من قصاصة تصحيح أخطاء LDAP debug ldap 255
، يمكن ملاحظة وجود تطابق في خريطة سمة LDAP للمستخدم المسؤول:
[26] LDAP Search:
Base DN = [DC=example,DC=com]
Filter = [userPrincipalName=admin_user@example.com]
Scope = [SUBTREE]
[20]
memberOf: value = CN=AnyConnect Admins,CN=Users,DC=example,DC=com [20]
mapped to Group-Policy: value = SSO_LDAP_ADMINS
[20]
mapped to LDAP-Class: value = SSO_LDAP_ADMINS
قم بإصدار show vpn-sessiondb anyconnect
أمر in order to ضمنت أن المستعمل يكون في المجموعة يعين.
firepower# show vpn-sessiondb anyconnect
Session Type: AnyConnect
Username : admin_user@example.com
Index : 6
Public IP : XX.XX.XX.XX
Protocol : AnyConnect-Parent
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none
Hashing : AnyConnect-Parent: (1)none
Bytes Tx : 0 Bytes Rx : 0
Group Policy : SSO_LDAP_ADMINSTunnel Group : SSO_AD_Split-tunnel Login Time : 19:37:28 UTC Thu Jul 20 2023 Duration : 0h:01m:33s Inactivity : 0h:00m:00s VLAN Mapping : N/A VLAN : none Audt Sess ID : 0a1f7c490000600064b98cf8 Security Grp : none Tunnel Zone : 0
.
من قصاصة تصحيح أخطاء LDAP debug ldap 255
، يمكن ملاحظة وجود تطابق في خريطة سمة LDAP للمستخدم الاختباري:
[29] LDAP Search:
Base DN = [DC=example,DC=com]
Filter = [userPrincipalName=test_user@example.com]
Scope = [SUBTREE]
[29]
memberOf: value = CN=AnyConnect Users,CN=Users,DC=example,DC=com [29]
mapped to Group-Policy: value = SSO_LDAP_USERS [29]
mapped to LDAP-Class: value = SSO_LDAP_USERS
قم بإصدار show vpn-sessiondb anyconnect
أمر in order to ضمنت أن المستعمل يكون في المجموعة صحيح.
firepower# show vpn-sessiondb anyconnect
Session Type: AnyConnect
Username : test_user@example.com
Index : 6
Public IP : XX.XX.XX.XX
Protocol : AnyConnect-Parent
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none
Hashing : AnyConnect-Parent: (1)none
Bytes Tx : 0 Bytes Rx : 0
Group Policy : SSO_LDAP_USERS Tunnel Group : SSO_AD_Split-tunnel
Login Time : 19:37:28 UTC Thu Jul 20 2023
Duration : 0h:08m:07s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 0a1f7c490000600064b98cf8
Security Grp : none Tunnel Zone : 0
من قصاصة تصحيح أخطاء LDAP debug ldap 255
، يمكن ملاحظة عدم وجود تطابق في خريطة سمة LDAP ل NOACCESS
المستخدم ومع تصحيح الأخطاء webvpn
أن NO_ACCESS
يتم إختيار "نهج المجموعة"، لذلك يتعذر على المستخدم المصادقة.
[32] LDAP Search:
Base DN = [DC=example,DC=com]
Filter = [userPrincipalName=noaccess_user@example.com]
Scope = [SUBTREE]
User Policy Access-Lists: user_acl[0] = NULL user_acl[1] = NULL tunnel policy attributes: 1 Filter-Id(11) 8 "" 2 Session-Timeout(27) 4 0 3 Idle-Timeout(28) 4 30 4 Simultaneous-Logins(4098) 4 0 5 Primary-DNS(4101) 4 IP: 0.0.0.0 6 Secondary-DNS(4102) 4 IP: 0.0.0.0 7 Primary-WINS(4103) 4 IP: 0.0.0.0 8 Secondary-WINS(4104) 4 IP: 0.0.0.0 9 Tunnelling-Protocol(4107) 4 96 10 Banner(4111) 0 0x000014e304401888 ** Unresolved Attribute ** 11 Group-Policy(4121) 9
"NO_ACCESS"
استكشاف الأخطاء وإصلاحها
يتضمن معظم أستكشاف أخطاء SAML وإصلاحها تكوينا خاطئا يمكن العثور عليه بفحص تكوين SAML أو تصحيح الأخطاء:
debug webvpn saml 255
debug webvpn 255
debug webvpn anyconnect 255
debug webvpn session 255
debug webvpn request 255
بالنسبة لمشكلات تفويض تعيين LDAP، تكون تصحيح الأخطاء المفيدة:
debug aaa common 255
debug ldap 255
معلومات ذات صلة