المقدمة
يصف هذا المستند مصادقة لغة تمييز تأكيد الأمان (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 أيضا.