المحتويات

المقدمة

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

المتطلبات

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

معلومات أساسية

التكوين

الحصول على معلمات SAML IDp

التكوين على FTD عبر FMC

التحقق من الصحة

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

المقدمة

يصف هذا المستند مصادقة لغة تمييز تأكيد الأمان (SAML) على FTD المدارة عبر FMC.

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

المتطلبات

توصي Cisco بمعرفة الموضوعات التالية:

- تكوين AnyConnect على مركز إدارة Firepower (FMC)

- قيم SAML و metadata.xml

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

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

- الدفاع ضد تهديد Firepower (FTD)، الإصدار 6.7.0

- FMC، الإصدار 6.7.0

- ADFS من AD Server مع SAML 2.0

ملاحظة: أستخدم خادم NTP، إن أمكن، لمزامنة الوقت بين FTD و IdP. وإلا، تحقق من مزامنة الوقت يدويا فيما بينهم.

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

معلومات أساسية

يسمح التكوين لمستخدمي AnyConnect بإنشاء مصادقة جلسة عمل VPN باستخدام موفر خدمة تعريف SAML.

بعض القيود الحالية ل SAML هي:

- يتم دعم SAML على FTD للمصادقة (الإصدار 6.7 وما بعده) والتفويض (الإصدار 7.0 وما بعده).

- سمات مصادقة SAML المتوفرة في تقييم DAP (المماثلة لسمات RADIUS المرسلة في إستجابة اعتماد RADIUS من خادم AAA) غير مدعومة.

- يدعم ASA مجموعة النفق التي تم تمكين SAML عليها في نهج DAP. ومع ذلك، لا يمكنك التحقق من سمة اسم المستخدم بمصادقة SAML، لأن سمة اسم المستخدم مقنعة بواسطة موفر هوية SAML.

- نظرا لأن AnyConnect باستخدام المستعرض المضمن يستخدم جلسة عمل مستعرض جديدة في كل محاولة من محاولات الشبكة الخاصة الظاهرية (VPN)، فيجب على المستخدمين إعادة المصادقة في كل مرة إذا كان المعرف يستخدم ملفات تعريف الارتباط لجلسة عمل بروتوكول HTTP لتعقب حالة تسجيل الدخول.

- في هذه الحالة، فإن Force Re-Authentication وضع في Configuration > Remote Access VPN > Clientless SSL VPN Access > Advanced > Single Sign On Servers ليس له تأثير على مصادقة SAML التي تم بدؤها بواسطة AnyConnect.

ويرد وصف لمزيد من القيود أو SAML في الارتباط المتوفر هنا.

المبادئ التوجيهية والقيود الخاصة ب SAML 2.0

تنطبق هذه القيود على ASA و FTD: المبادئ التوجيهية والقيود ل SAML 2.0.

ملاحظة: يمكن العثور على جميع تكوينات SAML التي سيتم تنفيذها على FTD في ملف metadata.xml الذي تم توفيره بواسطة IdP الخاص بك.

التكوين

يوضح هذا القسم كيفية تكوين AnyConnect بمصادقة SAML على FTD

الحصول على معلمات SAML IDp

تعرض هذه الصورة ملف SAML IdP metadata.xml. من المخرج، يمكنك الحصول على كل القيم المطلوبة لتكوين ملف تعريف AnyConnect باستخدام SAML:

التكوين على FTD عبر FMC

الخطوة 1. قم بتثبيت شهادة IdP وتسجيلها على FMC. انتقل إلى Devices > Certificates.

الخطوة 2. انقر Add. حدد FTD للتسجيل في هذه الشهادة. تحت تسجيل CERT، انقر فوق علامة +.

في Add Cert Enrollment أستخدم أي اسم كتسمية لمقر IdP. انقر Manual.

تحقق من CA Only و Skip Check لحقول علامة المرجع المصدق.

لصق base64 تنسيق شهادة CA ل IdP.

انقر Save ثم انقر Add.

الخطوة 3. قم بتكوين إعدادات خادم SAML. انتقل إلى Objects > Object Management > AAA Servers > Single Sign-on Server.ثم حدد Add Single Sign-on Server.

الخطوة 4. استنادا إلى metadata.xml قم بتكوين قيم SAML في الملف الذي تم توفيره بالفعل بواسطة IdP الخاص بك New Single Sign-on Server.

SAML Provider Entity ID: entityID from metadata.xml

SSO URL: SingleSignOnService from metadata.xml.

Logout URL: SingleLogoutService from metadata.xml.

BASE URL: FQDN of your FTD SSL ID Certificate.

Identity Provider Certificate: IdP Signing Certificate.

Service Provider Certificate: FTD Signing Certificate.

الخطوة 5. قم بتكوين Connection Profile يستخدم أسلوب المصادقة هذا. انتقل إلى Devices > Remote Access  ومن ثم قم بتحرير التيار VPN Remote Access التكوين.

الخطوة 6. انقر على علامة الجمع + وأضف توصيف توصيل آخر.

الخطوة 7. قم بإنشاء ملف تعريف اتصال جديد وإضافة شبكة VPN أو تجمع أو خادم DHCP المناسب.

الخطوة 8. حدد علامة التبويب AAA. تحت Authentication Method خيار، حدد SAML.

تحت Authentication Server حدد كائن SAML الذي تم إنشاؤه في الخطوة 4.

الخطوة 9. إنشاء اسم مستعار لمجموعة لتعيين الاتصالات بملف تعريف الاتصال هذا. هذه هي العلامة التي يمكن للمستخدمين رؤيتها في القائمة المنسدلة AnyConnect Software.

عند تكوين هذا، انقر على موافق واحفظ تكوين VPN الكامل لمصادقة SAML.

الخطوة 10. انتقل إلى Deploy > Deployment وحدد FTD المناسب لتطبيق تغييرات VPN لمصادقة SAML.

الخطوة 11. قم بتوفير ملف FTD metadata.xml إلى IDP بحيث يقوموا بإضافة FTD كجهاز موثوق به.

على واجهة سطر أوامر (CLI) برنامج FTD، قم بتشغيل الأمر show saml metadata SAML_TG حيث SAML_TG هو اسم ملف تعريف الاتصال الذي تم إنشاؤه في الخطوة 7.

هذا هو المخرج المتوقع:

> system support diagnostic-cli

Attaching to Diagnostic CLI ... Press 'Ctrl+a then d' to detach.

Type help or '?' for a list of available commands.

firepower> en

Password:

firepower# show saml metadata SAML_TG

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<EntityDescriptor entityID="https://ftd.lab.local/saml/sp/metadata/SAML_TG" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">

<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">

<KeyDescriptor use="signing">

<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

<ds:X509Data>

<ds:X509Certificate>MIIF1zCCBL+gAwIBAgITYAAAABN6dX+H0cOFYwAAAAAAEzANBgkqhkiG9w0BAQsF

ADBAMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxEzARBgoJkiaJk/IsZAEZFgNsYWIx

EjAQBgNVBAMTCU1TMjAxMi1DQTAeFw0yMDA0MTEwMTQyMTlaFw0yMjA0MTEwMTQy

MTlaMCMxCzAJBgNVBAYTAkNSMRQwEgYDVQQDDAsqLmxhYi5sb2NhbDCCASIwDQYJ

KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKfRmbCfWk+V1f+YlsIE4hyY6+Qr1yKf

g1wEqLOFHtGVM3re/WmFuD+4sCyU1VkoiJhf2+X8tG7x2WTpKKtZM3N7bHpb7oPc

uz8N4GabfAIw287soLM521h6ZM01bWGQ0vxXR+xtCAyqz6JJdK0CNjNEdEkYcaG8

PFrFUy31UPmCqQnEy+GYZipErrWTpWwbF7FWr5u7efhTtmdR6Y8vjAZqFddigXMy

EY4F8sdic7btlQQPKG9JIaWny9RvHBmLgj0px2i5Rp5k1JIECD9kHGj44O5lBEcv

OFY6ecAPv4CkZB6CloftaHjUGTSeVeBAvXBK24Ci9e/ynIUNJ/CM9pcCAwEAAaOC

AuUwggLhMBYGA1UdEQQPMA2CCyoubGFiLmxvY2FsMB0GA1UdDgQWBBROkmTIhXT/

EjkMdpc4aM6PTnyKPzAfBgNVHSMEGDAWgBTEPQVWHlHqxd11VIRYSCSCuHTa4TCB

zQYDVR0fBIHFMIHCMIG/oIG8oIG5hoG2bGRhcDovLy9DTj1NUzIwMTItQ0EsQ049

V0lOLTVBME5HNDkxQURCLENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNl

cyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWxhYixEQz1sb2NhbD9j

ZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlz

dHJpYnV0aW9uUG9pbnQwgbkGCCsGAQUFBwEBBIGsMIGpMIGmBggrBgEFBQcwAoaB

mWxkYXA6Ly8vQ049TVMyMDEyLUNBLENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT

ZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWxhYixEQz1s

b2NhbD9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv

bkF1dGhvcml0eTAOBgNVHQ8BAf8EBAMCBaAwPQYJKwYBBAGCNxUHBDAwLgYmKwYB

BAGCNxUIgYKsboLe0U6B4ZUthLbxToW+yFILh4iaWYXgpQUCAWQCAQMwSwYDVR0l

BEQwQgYIKwYBBQUHAwEGCCsGAQUFBwMHBggrBgEFBQcDBgYIKwYBBQUIAgIGCCsG

AQUFBwMFBggrBgEFBQcDAgYEVR0lADBfBgkrBgEEAYI3FQoEUjBQMAoGCCsGAQUF

BwMBMAoGCCsGAQUFBwMHMAoGCCsGAQUFBwMGMAoGCCsGAQUFCAICMAoGCCsGAQUF

BwMFMAoGCCsGAQUFBwMCMAYGBFUdJQAwDQYJKoZIhvcNAQELBQADggEBAKQnqcaU

fZ3kdeoE8v2Qz+3Us8tXxXaXVhS3L5heiwr1IyUgsZm/+RLJL/zGE3AprEiITW2V

Lmq04X1goaAs6obHrYFtSttz/9XlTAe1KbZ0GlRVg9LblPiF17kZAxALjLJHlCTG

5EQSC1YqS31sTuarm4WPDJyMShc6hlUpswnCokGRMMgpx2GmDgv4Zf8SzJJ0NI4y

DgMozuObwkNUXuHbiLuoXwvb2Whm11ysidpl+V9kp1RYamyjFUo+agx0E+L1zp8C

i0YEwYKXgKk3CZdwJfnYQuCWjmapYwlLGt5S59Uwegwro6AsUXY335+ZOrY/kuLF

tzR3/S90jDq6dqk=

</ds:X509Certificate>

</ds:X509Data>

</ds:KeyInfo>

</KeyDescriptor>

<AssertionConsumerService index="0" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://ftd.lab.local/+CSCOE+/saml/sp/acs?tgname=SAML_TG" />

<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://ftd.lab.local/+CSCOE+/saml/sp/logout"/><SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://ftd.lab.local/+CSCOE+/saml/sp/logout"/></SPSSODescriptor>

</EntityDescriptor>

بعد توفير بيانات التعريف.xml من FTD إلى IdP وهو كجهاز موثوق به، يمكن إجراء إختبار تحت اتصال VPN.

التحقق من الصحة

دققت أن ال VPN AnyConnect كان أسست اتصال مع SAML كطريقة مصادقة مع الأمر يرى هنا:

firepower# show vpn-sessiondb detail AnyConnect

Session Type: AnyConnect Detailed

Username : xxxx  Index : 4

Assigned IP : 10.1.1.1 Public IP : 192.168.1.104

Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel

License : AnyConnect Premium

Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES-GCM-256

Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA384

Bytes Tx : 12772 Bytes Rx : 0

Pkts Tx : 10 Pkts Rx : 0

Pkts Tx Drop : 0 Pkts Rx Drop : 0

Group Policy : SAML_GP Tunnel Group : SAML_TG

Login Time : 18:19:13 UTC Tue Nov 10 2020

Duration : 0h:03m:12s

Inactivity : 0h:00m:00s

VLAN Mapping : N/A VLAN : none

Audt Sess ID : c0a80109000040005faad9a1

Security Grp : none Tunnel Zone : 0

AnyConnect-Parent Tunnels: 1

SSL-Tunnel Tunnels: 1

DTLS-Tunnel Tunnels: 1

AnyConnect-Parent:

Tunnel ID : 4.1

Public IP : 192.168.1.104

Encryption : none Hashing : none

TCP Src Port : 55130 TCP Dst Port : 443

Auth Mode : SAML

Idle Time Out: 30 Minutes Idle TO Left : 26 Minutes

Client OS : linux-64

Client OS Ver: Ubuntu 20.04.1 LTS (Focal Fossa)

Client Type : AnyConnect

Client Ver : Cisco AnyConnect VPN Agent for Linux 4.9.03047

Bytes Tx : 6386 Bytes Rx : 0

Pkts Tx : 5 Pkts Rx : 0

Pkts Tx Drop : 0 Pkts Rx Drop : 0

SSL-Tunnel:

Tunnel ID : 4.2

Assigned IP : 10.1.1.1 Public IP : 192.168.1.104

Encryption : AES-GCM-256 Hashing : SHA384

Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384

Encapsulation: TLSv1.2 TCP Src Port : 55156

TCP Dst Port : 443 Auth Mode : SAML

Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes

Client OS : Linux_64

Client Type : SSL VPN Client

Client Ver : Cisco AnyConnect VPN Agent for Linux 4.9.03047

Bytes Tx : 6386 Bytes Rx : 0

Pkts Tx : 5 Pkts Rx : 0

Pkts Tx Drop : 0 Pkts Rx Drop : 0

DTLS-Tunnel:

Tunnel ID : 4.3

Assigned IP : 10.1.1.1 Public IP : 192.168.1.104

Encryption : AES-GCM-256 Hashing : SHA384

Ciphersuite : ECDHE-ECDSA-AES256-GCM-SHA384

Encapsulation: DTLSv1.2 UDP Src Port : 40868

UDP Dst Port : 443 Auth Mode : SAML

Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes

Client OS : Linux_64

Client Type : DTLS VPN Client

Client Ver : Cisco AnyConnect VPN Agent for Linux 4.9.03047

Bytes Tx : 0 Bytes Rx : 0

Pkts Tx : 0 Pkts Rx : 0

Pkts Tx Drop : 0 Pkts Rx Drop : 0

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

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

firepower# show run webvpn

firepower# show run tunnel-group

firepower# show crypto ca certificate

firepower# debug webvpn saml 25

ملاحظة: يمكنك أستكشاف أخطاء DART وإصلاحها من جهاز كمبيوتر مستخدم AnyConnect أيضا.