المحتويات

المقدمة

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

المتطلبات

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

تدفق المصادقة

الرسم التخطيطي للتدفق

عملية الاتصال

التكوين

خطوات التكوين على C8000V (وحدة الاستقبال والبث الخاصة بشبكة VPN)

قصاصة من ملف تعريف العميل (ملف تعريف XML)

خطوات التكوين على وكيل مصادقة DUO

خطوات التكوين على ISE

خطوات التكوين على مدخل إدارة Duo

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

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

المقدمة

يوضح هذا المستند كيفية تكوين مصادقة ثنائية العوامل الخارجية لاتصال AnyConnect IPSec بموجه Cisco IOS® XE.

تمت المساهمة من قبل مهندسي TAC من شركة Sadhana K S و Rishah Aggarwal من شركة Cisco TAC.

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

المتطلبات

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

- التجربة مع تكوين RA VPN على موجه

- إدارة محرك خدمات الهوية (ISE)

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

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

- Cisco Catalyst 8000V (C8000V) يركض صيغة 17.10.01a

- Cisco AnyConnect Secure Mobility Client، الإصدار 4.10.04071

- Cisco ISE Running، الإصدار 3.1.0

- خادم وكيل المصادقة الثنائي (نظام التشغيل Windows 10 أو أي جهاز كمبيوتر يعمل بنظام التشغيل Linux)

- حساب Duo على الويب

- كمبيوتر العميل المثبت عليه AnyConnect

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

تدفق المصادقة

تتم مصادقة مستخدم AnyConnect باستخدام اسم مستخدم وكلمة مرور على خادم ISE. يرسل خادم Duo Authentication Proxy أيضا مصادقة إضافية في شكل إعلام دفع إلى جهاز المحمول الخاص بالمستخدم.

الرسم التخطيطي للتدفق

مخطط تدفق المصادقة

عملية الاتصال

1. يقوم المستخدم بتهيئة اتصال RAVPN إلى C8000V ويوفر اسم مستخدم وكلمة مرور للمصادقة الأساسية.

2. يرسل الطراز C8000V طلب مصادقة إلى وكيل المصادقة Duo.

3. ثم يرسل وكيل المصادقة الثنائي الطلب الأساسي إلى خادم Active Directory أو RADIUS.

4. يتم إرسال إستجابة المصادقة مرة أخرى إلى وكيل المصادقة.

5. بمجرد نجاح المصادقة الأساسية، يطلب وكيل المصادقة الثنائي مصادقة ثانوية عبر خادم Duo.

6. ثم تقوم خدمة Duo بمصادقة المستخدم، بناء على طريقة المصادقة الثانوية (الدفع، المكالمة الهاتفية، رمز المرور).

7. يستلم وكيل مصادقة Duo إستجابة المصادقة.

8. يتم إرسال الاستجابة إلى C8000v.

9. في حالة نجاح هذا الإجراء، يتم تأسيس اتصال AnyConnect.

التكوين

من أجل إكمال التكوين، ضع في الاعتبار هذه الأقسام.

خطوات التكوين على C8000V (وحدة الاستقبال والبث الخاصة بشبكة VPN)

1. قم بتكوين خادم RADIUS. يجب أن يكون عنوان IP الخاص بخادم RADIUS هو عنوان IP الخاص بوكيل المصادقة الثنائي.

radius server rad_server

address ipv4 10.197.243.97 auth-port 1812 acct-port 1813

timeout 120

key cisco

2. قم بتكوين خادم RADIUS كaaaمصادقة وتفويض كخادم محلي.

aaa new-model

aaa group server radius FlexVPN_auth_server

server name rad_server

aaa authentication login FlexVPN_auth group FlexVPN_auth_server

aaa authorization network FlexVPN_authz local

3. قم بإنشاء TrustPoint من أجل تثبيت شهادة الهوية، إذا لم تكن موجودة بالفعل للمصادقة المحلية. يمكنك الرجوع إلى تسجيل الشهادة ل PKI للحصول على مزيد من التفاصيل حول إنشاء الشهادة.

crypto pki trustpoint TP_AnyConnect

enrollment url http://x.x.x.x:80/certsrv/mscep/mscep.dll

usage ike

serial-number none

fqdn flexvpn-C8000V.cisco.com

ip-address none

subject-name cn=flexvpn-C8000V.cisco.com

revocation-check none

rsakeypair AnyConnect

4. (إختياري) قم بتكوين قائمة وصول قياسية ليتم إستخدامها للنفق المقسم. تتكون قائمة الوصول هذه من الشبكات الوجهة التي يمكن الوصول إليها من خلال نفق VPN. بشكل افتراضي، تمر جميع حركة مرور البيانات عبر نفق VPN إذا لم يتم تكوين النفق المقسم.

ip access-list standard split-tunnel-acl

10 permit 192.168.11.0 0.0.0.255

20 permit 192.168.12.0 0.0.0.255

5. إنشاء تجمع عناوين IPv4.

ip local pool SSLVPN_POOL 192.168.13.1 192.168.13.10

يعين تجمع عناوين IP الذي تم إنشاؤه عنوان IPv4 لعميل AnyConnect أثناء اتصال AnyConnect بنجاح.

6. تكوين نهج تخويل.

crypto ikev2 authorization policy ikev2-authz-policy

pool SSLVPN_POOL

dns 10.106.60.12

route set access-list split-tunnel-acl

يتم تحديد تجمع IP و DNS وقائمة النفق المقسم وما إلى ذلك ضمن نهج التخويل.

ملاحظة: في حالة عدم تكوين نهج تخويل IKEv2 المخصص، يتم إستخدام نهج التخويل الافتراضي المسمى "الافتراضي" للتخويل. يمكن أيضا دفع السمات المحددة ضمن نهج تخويل IKEv2 عبر خادم RADIUS.

7. تكوين اقتراح وسياسة IKEv2.

crypto ikev2 proposal FlexVPN_IKEv2_Proposal

encryption aes-cbc-128

integrity sha384

group 19

crypto ikev2 policy FlexVPN_IKEv2_Policy

match fvrf any

proposal FlexVPN_IKEv2_Proposal

8. قم بتحميل ملف تعريف عميل AnyConnect إلى ذاكرة التمهيد للموجه وحدد ملف التعريف كما هو موضح:

crypto vpn anyconnect profile Client_Profile bootflash:/Client_Profile.xml

9. تعطيل خادم HTTP الآمن.

no ip http secure-server

10. قم بتكوين سياسة SSL وحدد IP WAN الخاص بالموجه كعنوان محلي لتنزيل ملف التعريف.

crypto ssl policy ssl-server

pki trustpoint TP_AnyConnect sign

ip address local

port 443

11. قم بتكوين قالب ظاهري يتم من خلاله إنشاء مؤسسة الوصول الظاهريالقمم مستنسخة

interface Virtual-Template20 type tunnel

ip unnumbered GigabitEthernet1

يحصل الأمر غير المرقم على عنوان IP من الواجهة التي تم تكوينها (GigabitEthernet1).

13. قم بتكوين ملف تعريف IKEv2 يحتوي على جميع نقاط الربطمعلومات إد.

crypto ikev2 profile Flexvpn_ikev2_Profile

match identity remote any

authentication local rsa-sig

authentication remote eap query-identity

pki trustpoint TP_AnyConnect

dpd 60 2 on-demand

aaa authentication eap FlexVPN_auth

aaa authorization group eap list FlexVPN_authz ikev2-authz-policy

aaa authorization user eap cached

virtual-template 20 mode auto

anyconnect profile Client_Profile

ويتم إستخدام هذه العناصر في ملف تعريف IKEv2:

- match identity remote any  - يشير إلى هوية العميل. تم تكوين 'any' هنا حتى يتمكن أي عميل مزود ببيانات الاعتماد الصحيحة من الاتصال

- authentication remote - يشير إلى أنه يجب إستخدام بروتوكول EAP لمصادقة العميل

- authentication local - الإشارة إلى أنه يجب إستخدام الشهادات للمصادقة المحلية

- aaa authentication eap - أثناء مصادقة EAP،FlexVPN_authيستخدم خادم RADIUS

- aaa authorization group eap list - أثناء الترخيص، قائمة الشبكة FlexVPN_authzيستخدم مع نهج التخويل ikev2-authz-policy

- aaa authorization user eap cached- تمكين تفويض المستخدم الضمني

- virtual-template 20 mode auto   - تحديد القالب الظاهري المطلوب نسخه

- anyconnect profile Client_Profile  - يتم تطبيق ملف تعريف العميل المحدد في الخطوة 8 هنا على ملف تعريف IKEv2 هذا

14. تكوين مجموعة تحويل وملف تعريف IPSec.

crypto ipsec transform-set TS esp-gcm 256

mode tunnel

crypto ipsec profile Flexvpn_IPsec_Profile

set transform-set TS

set ikev2-profile Flexvpn_ikev2_Profile

15. أضف ملف تعريف IPSec إلى القالب الظاهري.

interface Virtual-Template20 type tunnel

tunnel mode ipsec ipv4

tunnel protection ipsec profile Flexvpn_IPsec_Profile

قصاصة من ملف تعريف العميل (ملف تعريف XML)

قبل Cisco IOS XE 16.9.1، لا تتوفر تنزيلات ملف التعريف التلقائية من وحدة الاستقبال والبث. بعد 16.9.1، من الممكن تنزيل ملف التعريف من وحدة الاستقبال والبث.

!

!

false

true

false

All

All

false

Native

false

30

false

true

false

false

true

IPv4,IPv6

true

ReconnectAfterResume

false

true

Automatic

SingleLocalLogon

SingleLocalLogon

AllowRemoteUsers

LocalUsersOnly

false

Automatic

false

false

20

4

false

false

true

<ServerList>

<HostEntry>

<HostName>FlexVPN</HostName>

<HostAddress>flexvpn-csr.cisco.com</HostAddress>

<PrimaryProtocol>IPsec

<StandardAuthenticationOnly>true

<AuthMethodDuringIKENegotiation>EAP-MD5</AuthMethodDuringIKENegotiation>

</StandardAuthenticationOnly>

</PrimaryProtocol>

</HostEntry>

</ServerList>

خطوات التكوين على وكيل مصادقة DUO

ملاحظة: يدعم وكيل المصادقة الثنائي MS-CHAPv2 فقط مع مصادقة RADIUS.

الخطوة 1. تنزيل خادم وكيل مصادقة Duo وتثبيته.

قم بتسجيل الدخول إلى جهاز Windows وقم بتثبيت خادم Duo Authentication Proxy.

يوصى باستخدام نظام مزود بوحدة معالجة مركزية (CPU) واحدة على الأقل ومساحة قرص تبلغ 200 ميجابايت وذاكرة وصول عشوائي (RAM) سعة 4 جيجابايت.

الخطوة 2. انتقل إلى C:\Program Files\Duo Security Authentication Proxy\conf\وفتحauthproxy.cfgلتكوين وكيل المصادقة باستخدام التفاصيل المناسبة.

[radius_client]

host=10.197.243.116

secret=cisco

ملاحظة: هنا '10.197.243.116' هو عنوان IP الخاص بخادم ISE و'cisco' هو كلمة المرور التي تم تكوينها للتحقق من صحة المصادقة الأساسية.

بمجرد إجراء هذه التغييرات، قم بحفظ الملف.

الخطوة 3. افتح وحدة تحكم خدمات Windows (services.msc). وإعادة التشغيل Duo Security Authentication Proxy Service.

خدمة وكيل مصادقة الأمان الثنائي

خطوات التكوين على ISE

الخطوة 1. انتقل إلى Administration > Network Devices، وانقرAddفوق لتكوين جهاز الشبكة.

ملاحظة: إستبدالx.x.x.xبعنوان IP الخاص بخادم وكيل مصادقة Duo.

ISE - أجهزة الشبكة

الخطوة 2. قم بتكوينShared Secretالأمر كما هو مذكور فيauthproxy.cfgsecret:

ISE - سر مشترك

الخطوة 3. انتقل إلىAdministration > Identities > Users.أخترAddin order to شكلت معرف المستخدم لمصادقة AnyConnect الأساسية:

ISE - المستخدمون

خطوات التكوين على مدخل إدارة Duo

الخطوة 1. تسجيل الدخول إلى حساب Duo الخاص بك.

انتقل إلىApplications > Protect an Application. انقرProtectللتطبيق الذي تريد إستخدامه. (RADIUS في هذه الحالة)

ثنائي - التطبيق

الخطوة 2. انقر فوقProtectللتطبيق الذي تريد إستخدامه. (RADIUS في هذه الحالة)

انسخ مفتاح التكامل، والمفتاح السري، واسم مضيف واجهة برمجة التطبيقات (API) ولصقه علىauthproxy.cfgوكيل مصادقة Duo.

ثنائي - RADIUS

انسخ هذه القيم وانتقل مرة أخرى إلى وكيل مصادقة DUO وافتح authproxy.cfgولصق القيم كما هو موضح:

مفتاح التكامل = iKey

المفتاح السري = مفتاح

اسم مضيف API = api_host

[radius_server_auto]

ikey=xxxxxxxx

skey=xxxxxxxv1zG

api_host=xxxxxxxx

radius_ip_1=10.106.54.143

radius_secret_1=cisco

failmode=safe

client=radius_client

port=1812

ملاحظة: يجب نسخ iKey و skey و api_host من خادم Duo عند تكوين الخادم، و'10.106.54.143' هو عنوان IP الخاص بالموجه C8000V، و'cisco' هو المفتاح الذي تم تكوينه على الموجه ضمن تكوين خادم Radius.

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

الخطوة 3. إنشاء مستخدمين على duo للمصادقة الثانوية.

انتقل إلى اسم المستخدم Users > Add Userوكتابه.

ملاحظة: يجب أن يتطابق اسم المستخدم مع اسم مستخدم المصادقة الأساسي.

انقر.Add User عند إنشائها، تحتPhones، انقرAdd Phone، أدخل رقم الهاتف، وانقرAdd Phone.

Duo - إضافة هاتف

أختر نوع المصادقة.

Duo - معلومات الجهاز

اختَر.Generate Duo Mobile Activation Code

ثنائي - تنشيط الهاتف

اختَر Send Instructions by SMS.

Duo - إرسال SMS

انقر فوق الارتباط المرسل إلى الهاتف ويتم ربط تطبيق DUO بحساب المستخدم فيDevice Infoالمقطع، كما هو موضح في الصورة:

Duo - جهاز مرتبط

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

لاختبار المصادقة، قم بالاتصال بال C8000V من كمبيوتر المستخدم من خلال AnyConnect.

اكتب اسم المستخدم وكلمة المرور للمصادقة الأساسية.

اتصال AnyConnect

وبعدها تقبلي ضغط الثنائي على الموبايل.

ضغط ثنائي

تم تأسيس الاتصال.

يمكنك التحقق من ذلك على وحدة الاستقبال والبث الخاصة بالشبكة الخاصة الظاهرية (VPN):

1. IKEv2 parameters

R1#sh crypto ikev2 sa detailed

IPv4 Crypto IKEv2  SA

Tunnel-id Local                 Remote                fvrf/ivrf            Status

1         10.106.54.143/4500    10.197.243.98/54198   none/none            READY

Encr: AES-CBC, keysize: 256, PRF: SHA384, Hash: SHA384, DH Grp:19, Auth sign: RSA, Auth verify: FlexVPN-ikev2_Profile

Life/Active Time: 86400/147 sec

CE id: 1108, Session-id: 15

Status Description: Negotiation done

Local spi: 81094D322A295C92       Remote spi: 802F3CC9E1C33C2F

Local id: 10.106.54.143

Remote id: cisco.com

Remote EAP id: sadks                                                                                           //AnyConnect username

Local req msg id:  0              Remote req msg id:  10

Local next msg id: 0              Remote next msg id: 10

Local req queued:  0              Remote req queued:  10

Local window:      5              Remote window:      1

DPD configured for 60 seconds, retry 2

Fragmentation not  configured.

Dynamic Route Update: disabled

Extended Authentication not configured.

NAT-T is detected  outside

Cisco Trust Security SGT is disabled

Assigned host addr: 192.168.13.5                                                                            //Assigned IP address from the address pool

Initiator of SA : No

2. Crypto session detail for the vpn session

R1#sh crypto session  detail

Crypto session current status

Code: C - IKE Configuration mode, D - Dead Peer Detection

K - Keepalives, N - NAT-traversal, T - cTCP encapsulation

X - IKE Extended Authentication, F - IKE Fragmentation

R - IKE Auto Reconnect, U - IKE Dynamic Route Update

S - SIP VPN

Interface: Virtual-Access2

Profile: FlexVPN-ikev2_Profile

Uptime: 00:01:07

Session status: UP-ACTIVE

Peer: 10.197.243.97 port 54198 fvrf: (none) ivrf: (none)

Phase1_id: cisco.com

Desc: (none)

Session ID: 114

IKEv2 SA: local 10.106.54.143/4500 remote 10.197.243.98/54198 Active

Capabilities:DN connid:1 lifetime:23:58:53

IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 host 192.168.13.5

Active SAs: 2, origin: crypto map

Inbound:  #pkts dec'ed 3 drop 0 life (KB/Sec) 4607998/3532

Outbound: #pkts enc'ed 0 drop 0 life (KB/Sec) 4608000/3532

3.Verification on ISE live logs

انتقل إلىOperations > Live LogsISE. يمكنك عرض تقرير المصادقة للمصادقة الأساسية.

ISE - السجلات المباشرة

4. Verification on DUO authentication proxy

انتقل إلى هذا الملف في وكيل مصادقة DUO؛ C:\Program Files\Duo Security Authentication Proxy\log

2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request from 10.106.54.143 to radius_server_auto                                                                                              //10.106.54.143 IP address of C8000V

2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Received new request id 163 from ('10.106.54.143', 1645)

2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): login attempt for username 'sadks'

2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request for user 'sadks' to ('10.197.243.116', 1812) with id 191                                                                        //Primary auth sent to ISE 10.197.243.116

2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] Got response for id 191 from ('10.197.243.116', 1812); code 2                                                                                      //ISE auth successful

2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth

2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>

2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Got preauth result for: 'auth'

2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth                                                                             // Proxy is sending secondary auth request to DUO server

2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>

2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>

2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Duo authentication returned 'allow': 'Success. Logging you in...'

2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Returning response code 2: AccessAccept                                                                 //DUO push successful

2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Sending response

2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>

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

1. تصحيح الأخطاء على C8000v.

بالنسبة ل IKEv2:

- debug crypto ikev2

- debug crypto ikev2 client flexvpn

- debug crypto ikev2 internal

- debug crypto ikev2 packet

- debug crypto ikev2 error

ل IPSec:

- debug crypto ipsec

- debug crypto ipsec error

2. بالنسبة لوكيل مصادقة DUO، تحقق من السجلات المتعلقة بوكيل ملف السجل. ()C:\Program Files\Duo Security Authentication Proxy\log

يظهر القصاصة ل خطأ سجل حيث ISE يرفض المصادقة الأساسية:

2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Sending proxied request for id 26 to ('10.197.243.116', 1812) with id 18

2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Got response for id 18 from ('10.197.243.116', 1812); code 3

2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Primary credentials rejected - No reply message in packet

2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Returning response code 3: AccessReject