المحتويات

المقدمة

المفاهيم

مجال تشفير VPN

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

المتطلبات

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

التكوين

تكوين IKEv1 على ASA

IKEv2 مستند إلى المسار مع VTI على رمز ASA 9.8 (1) أو إصدار أحدث

تكوين IKEv1 على FTD

IKEv2 مستند إلى المسار مع محددات حركة المرور المستندة إلى السياسة

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

المرحلة الأولى

المرحلة الثانية

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

IKEv1

IKEv2

المقدمة

يصف هذا وثيقة المفاهيم والتكوين ل VPN بين cisco ASA و cisco يأمن جدار حماية و Microsoft Azure سحابة خدمات.

المفاهيم

مجال تشفير VPN

يسمح نطاق عناوين IP IPSec بالمشاركة في نفق VPN.يتم تحديد مجال التشفير باستخدام محدد حركة مرور محلي ومنتقي حركة مرور البيانات عن بعد لتحديد نطاقات الشبكات الفرعية المحلية والبعيدة التي يتم التقاطها وتشفيرها بواسطة IPSec. هناك أسلوبان لتحديد مجالات تشفير VPN: محددات حركة المرور المستندة إلى المسار أو المستندة إلى السياسة.

مستند إلى المسار:

تم تعيين مجال التشفير للسماح بأي حركة مرور تدخل نفق IPSec. تم تعيين محددات حركة مرور البيانات المحلية والبعيدة من IPSec على 0.0.0.0. وهذا يعني أن أي حركة مرور يتم توجيهها إلى نفق IPSec يتم تشفيرها بغض النظر عن الشبكة الفرعية للمصدر/الوجهة.

يدعم جهاز الأمان القابل للتكيف (ASA) من Cisco شبكة VPN المستندة إلى المسار باستخدام واجهات النفق الظاهرية (VTIs) في الإصدارات 9.8 والإصدارات الأحدث.

يدعم جدار الحماية الآمن أو الحماية ضد تهديد الطاقة النارية (FTD) من Cisco المدارة من قبل FMC (مركز إدارة Firepower) شبكة خاصة ظاهرية (VPN) قائمة على التوجيه باستخدام شبكات VTI في الإصدارات 6.7 والإصدارات الأحدث.

مستند إلى السياسة:

تم تعيين مجال التشفير على تشفير نطاقات IP معينة فقط لكل من المصدر والوجهة. يحدد محددون لحركة المرور المحلية المستندة إلى السياسة ومحددو حركة المرور عن بعد حركة المرور التي يجب تشفيرها عبر IPSec.

يدعم ASA شبكة VPN المستندة إلى السياسة مع خرائط التشفير في الإصدار 8.2 والإصدارات الأحدث.

يدعم Microsoft Azure محددات حركة المرور المستندة إلى المسار أو القائمة على السياسة أو القائمة على المسار باستخدام محددات حركة المرور المستندة إلى السياسة التي تم محاكاتها. يقوم Azure حاليا بتقييد إصدار Internet Key Exchange (IKE) الذي يمكنك تكوينه استنادا إلى الأسلوب المحدد لشبكة VPN. يتطلب المستند إلى المسار الإصدار الثاني من بروتوكول IKEv2، كما يتطلب المستند إلى السياسة الإصدار الأول من بروتوكول IKEv1. وهذا يعني أنه إذا تم إستخدام IKEv2، فيجب تحديد مستند إلى المسار في Azure ويجب أن يستخدم ASA VTI، ولكن إذا كان ASA يدعم خرائط التشفير فقط بسبب إصدار الرمز، فيجب تكوين Azure لملفات تحديد حركة المرور المستندة إلى السياسة المستندة إلى المسار. ويتم تحقيق ذلك في مدخل Azure عبر نشر البرامج النصية ل PowerShell لتنفيذ خيار تقوم Microsoft باستدعائه UsePolicyBasedTrafficSelectors كما هو موضح هنا: https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-connect-multiple-policybased-rm-ps.

للتلخيص من منظور تكوين ASA و FTD:

- بالنسبة ل ASA/FTD الذي تم تكوينه باستخدام خريطة تشفير، يجب تكوين Azure ل VPN المستندة إلى السياسة أو المستندة إلى المسار باستخدام UsePolicyBasedTrafficSelectors.

- بالنسبة ل ASA الذي تم تكوينه باستخدام VTI، يجب تكوين Azure لشبكة VPN المستندة إلى المسار.

- بالنسبة ل FTD، يمكن العثور على مزيد من المعلومات حول كيفية تكوين VTIs هنا، https://www.cisco.com/c/en/us/td/docs/security/firepower/670/configuration/guide/fpmc-config-guide-v67/firepower_threat_defense_site_to_site_vpns.html#concept_ccj_p4r_cmb

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

المتطلبات

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

- بالنسبة لشبكة VPN المستندة إلى المسار IKEv2 التي تستخدم VTI على ASA: رمز ASA الإصدار 9.8(1) أو إصدار أحدث. (يجب تكوين Azure لشبكة VPN المستندة إلى المسار.)

- بالنسبة لشبكة VPN المستندة إلى سياسة IKEv1 التي تستخدم خريطة التشفير على ASA و FTD: رمز ASA الإصدار 8.2 أو إصدار أحدث و FTD 6.2.0 أو إصدار أحدث.  (يجب تكوين Azure لشبكة VPN المستندة إلى السياسة.)

- بالنسبة لشبكة VPN المستندة إلى المسار IKEv2 التي تستخدم خريطة التشفير على ASA مع محددات حركة المرور المستندة إلى السياسة: رمز ASA الإصدار 8.2 أو إصدار أحدث تم تكوينه باستخدام خريطة تشفير. (يجب تكوين Azure لشبكة VPN المستندة إلى المسار باستخدام UsePolicyBasedTrafficSelectors.)

- معرفة FMC لإدارة FTD وتكوينه.

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

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

- ASA من Cisco

- Microsoft Azure

- Cisco FTD

- Cisco FMC

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

التكوين

أتمت التشكيل steps. أختر إما تكوين مسار IKEv1 أو IKEv2 استنادا إلى المسار باستخدام VTI أو مسار IKEv2 استنادا إلى إستخدام محددات حركة المرور المستندة إلى السياسة (خريطة التشفير على ASA).

تكوين IKEv1 على ASA

بالنسبة إلى شبكة VPN من موقع إلى موقع IKEv1 من ASA إلى Azure، اتبع تكوين ASA التالي. تأكد من تكوين نفق مستند إلى السياسة في مدخل Azure. يتم إستخدام خرائط التشفير على ASA لهذا المثال.

راجع مستند Cisco هذا ل IKEv1 بالكامل على معلومات تكوين ASA.

الخطوة 1. قم بتمكين IKEv1 على الواجهة الخارجية.

Cisco-ASA(config)#crypto ikev1 enable outside

الخطوة 2. إنشاء سياسة IKEv1 التي تحدد الخوارزميات/الطرق التي سيتم إستخدامها للتجزئة، والمصادقة، ومجموعة Diffie-Hellman، ودورة الحياة، والتشفير.

ملاحظة: تقدم سمات المرحلة 1 IKEv1 المدرجة أفضل جهد من مستند Microsoft هذا المتاح بشكل عام. لمزيد من التوضيح، اتصل بدعم Microsoft Azure.

Cisco-ASA(config)#crypto ikev1 policy 1

Cisco-ASA(config-ikev1-policy)#authentication pre-share

Cisco-ASA(config-ikev1-policy)#encryption aes

Cisco-ASA(config-ikev1-policy)#hash sha

Cisco-ASA(config-ikev1-policy)#group 2

Cisco-ASA(config-ikev1-policy)#lifetime 28800

الخطوة 3. قم بإنشاء مجموعة نفق تحت سمات IPsec وقم بتكوين عنوان IP للنظير ومفتاح النفق المشترك مسبقا.

Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l

Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes

Cisco-ASA(config-tunnel-ipsec)#ikev1 pre-shared-key cisco

الخطوة 4. قم بإنشاء قائمة وصول تحدد حركة المرور التي سيتم تشفيرها وإنشاء قنوات لها. في هذا المثال، حركة مرور المصلحة هي حركة المرور من النفق الذي يتم الحصول عليه من الشبكة الفرعية 10.2.2.0 إلى 10.1.1.0. ويمكن أن يحتوي على إدخالات متعددة إذا كانت هناك شبكات فرعية متعددة مشتركة بين المواقع.

في الإصدارات 8.4 والإصدارات الأحدث، يمكن إنشاء كائنات أو مجموعات كائنات تعمل كحاويات للشبكات أو الشبكات الفرعية أو عناوين IP للمضيف أو كائنات متعددة. قم بإنشاء كائنين يحتويان على شبكات فرعية محلية وبعيدة واستخدامهما لكل من عبارات قائمة التحكم في الوصول (ACL) للتشفير وترجمة عنوان الشبكة (NAT).

Cisco-ASA(config)#object network 10.2.2.0_24

Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0

Cisco-ASA(config)#object network 10.1.1.0_24

Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0

Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24

الخطوة 5. تكوين مجموعة التحويل (TS)، والتي يجب أن تتضمن الكلمة الأساسيةIKEv1. يجب إنشاء TS مطابق على الطرف البعيد أيضا.

ملاحظة: تقدم سمات المرحلة 2 IKEv1 المدرجة أفضل جهد من مستند Microsoft هذا المتاح بشكل عام. لمزيد من التوضيح، اتصل بدعم Microsoft Azure.

Cisco-ASA(config)#crypto ipsec ikev1 transform-set myset esp-aes esp-sha-hmac

الخطوة 6. قم بتكوين خريطة التشفير وتطبيقها على الواجهة الخارجية، والتي تحتوي على المكونات التالية:

· عنوان IP للنظير

· قائمة الوصول المحددة التي تحتوي على حركة مرور الفائدة

· النظام الأساسي الموثوق به

· لا يقوم التكوين بتعيين سرية إعادة التوجيه المثالية (PFS) نظرا لأن وثائق Azure المتوفرة بشكل عام تنص على تعطيل PFS ل IKEv1 في Azure. يمكن تمكين إعداد PFS إختياري، والذي يؤدي إلى إنشاء زوج جديد من مفاتيح Diffie-Hellman التي يتم إستخدامها لحماية البيانات (يجب تمكين كلا الجانبين من PFS قبل ظهور المرحلة 2)، من خلال إستخدام هذا التكوين:  crypto map outside_map 20 set pfs .

· تستند المرحلة 2 من فترات عمل IPSec المحددة إلى وثائق Azure المتاحة للجمهور. لمزيد من التوضيح، اتصل بدعم Microsoft Azure.

Cisco-ASA(config)#crypto map outside_map 20 match address 100

Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1

Cisco-ASA(config)#crypto map outside_map 20 set ikev1 transform-set myset

Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 3600

Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes 102400000

Cisco-ASA(config)#crypto map outside_map interface outside

الخطوة 7. ضمنت أن لا يخضع ال VPN حركة مرور إلى أي آخر nat قاعدة. إنشاء قاعدة إستثناء NAT:

Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup

ملاحظة: عند إستخدام شبكات فرعية متعددة، يجب عليك إنشاء مجموعات كائنات باستخدام جميع الشبكات الفرعية للمصدر والوجهة واستعمالها في قاعدة NAT.

Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE

Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0

Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0

Cisco-ASA(config)#object network 10.x.x.x_DESTINATION

Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0

Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0

Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup

IKEv2 مستند إلى المسار مع VTI على رمز ASA 9.8 (1) أو إصدار أحدث

بالنسبة لشبكة VPN المستندة إلى مسار IKEv2 من موقع إلى موقع على رمز ASA، اتبع هذا التكوين. تأكد من تكوين Azure لشبكة VPN المستندة إلى المسار ولا تقوم بتكوين UsePolicyBasedTrafficSelectors في مدخل Azure. شكلت VTI على ال ASA.

مرجع مستند Cisco هذا للحصول على معلومات تكوين ASA VTI بالكامل.

الخطوة 1. تمكين IKEv2 على الواجهة الخارجية:

Cisco-ASA(config)#crypto ikev2 enable outside

الخطوة 2. إضافة نهج المرحلة الأولى من IKEv2.

ملاحظة: قامت Microsoft بنشر معلومات تتعارض مع ميزة التشفير الخاصة بالمرحلة الأولى من IKEv2 والنزاهة وسمات العمر المستخدمة من قبل Azure. يتم توفير السمات المدرجة بأفضل جهد من مستند Microsoft هذا المتوفر بشكل عام. المعلومات التي تتعارض مع سمة IKEv2 من Microsoft مرئية هنا. لمزيد من التوضيح، اتصل بدعم Microsoft Azure.

Cisco-ASA(config)#crypto ikev2 policy 1

Cisco-ASA(config-ikev2-policy)#encryption aes

Cisco-ASA(config-ikev2-policy)#integrity sha

Cisco-ASA(config-ikev2-policy)#group 2

Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800

الخطوة 3. إضافة مقترح IPsec للمرحلة 2 من IKEv2. تحديد معلمات الأمان في IPsec للتشفير  ikev2 ipsec-proposal  وضع التكوين:

تشفير ESP للبروتوكول {des | 3des | AES | الطراز AES-192 | الطراز AES-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | فارغ}

تكامل بروتوكول esp {md5 | sha-1 | SHA-256 | SHA-384 | SHA-512 | فارغ}

ملاحظة: قامت Microsoft بنشر معلومات تتعارض مع سمات تكامل وتشفير IPSec الخاصة بالمرحلة الثانية التي تستخدمها Azure. يتم توفير السمات المدرجة بأفضل جهد من مستند Microsoft هذا المتوفر بشكل عام. المعلومات التي تتعارض مع سمة IPSec للمرحلة 2 من Microsoft مرئية هنا. لمزيد من التوضيح، اتصل بدعم Microsoft Azure.

Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1

Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes

Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-1

الخطوة 4. إضافة ملف تعريف IPSec الذي يحدد:

- مقترح بروتوكول IPSec الذي تم تكوينه مسبقا ل iV2 المرحلة 2

- العمر الافتراضي للمرحلة 2 ل IPSec (إختياري) بالثواني و/أو كيلوبايت

- مجموعة PFS (إختياري)

ملاحظة: قامت Microsoft بنشر معلومات تتعارض مع العمر الافتراضي للمرحلة الثانية من IPSec وسمات PFS المستخدمة من قبل Azure. يتم توفير السمات المدرجة بأفضل جهد من مستند Microsoft هذا المتوفر بشكل عام. المعلومات التي تتعارض مع سمة IPSec للمرحلة 2 من Microsoft مرئية هنا. لمزيد من التوضيح، اتصل بدعم Microsoft Azure.

Cisco-ASA(config)#crypto ipsec profile PROFILE1

Cisco-ASA(config-ipsec-profile)#set ikev2 ipsec-proposal SET1

Cisco-ASA(config-ipsec-profile)#set security-association lifetime seconds 27000

Cisco-ASA(config-ipsec-profile)#set security-association lifetime kilobytes unlimited

Cisco-ASA(config-ipsec-profile)#set pfs none

الخطوة 5. قم بإنشاء مجموعة أنفاق تحت سمات IPsec وقم بتكوين عنوان IP للنظير ومفتاح النفق المحلي والبعيد المشترك مسبقا ل IKEv2:

Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l

Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes

Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco

Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco

الخطوة 6. خلقت VTI أن يعين:

- رقم واجهة نفق جديد: نفق الواجهة [number]

- اسم واجهة نفق جديد: name[name]

- عنوان IP غير موجود على واجهة النفق: عنوان IP [عنوان ip] [قناع]

- واجهة مصدر النفق حيث تنتهي VPN محليا: واجهة مصدر النفق [int-name]

- عنوان IP لعبارة Azure: وجهة النفق [Azure Public IP]

- وضع IPSec IPv4: وضع النفق ل IPv4

- ملف تعريف IPSec المطلوب إستخدامه لملف تعريف VTI هذا: ملف تعريف IPsec الخاص بحماية النفق [profile-name]

Cisco-ASA(config)#interface tunnel 100

Cisco-ASA(config-if)#nameif vti

Cisco-ASA(config-if)#ip address 169.254.0.1 255.255.255.252

Cisco-ASA(config-if)#tunnel source interface outside

Cisco-ASA(config-if)#tunnel destination [Azure Public IP]

Cisco-ASA(config-if)#tunnel mode ipsec ipv4

Cisco-ASA(config-if)#tunnel protection ipsec profile PROFILE1

الخطوة 7. قم بإنشاء مسار ثابت للإشارة إلى حركة المرور داخل النفق. لإضافة مسار ساكن إستاتيكي، أدخل هذا الأمر:

route if_name dest_ip mask gateway_ip [distance]

يعرض الأمر  dest_ip و  mask هو عنوان IP لشبكة الوجهة في سحابة Azure، على سبيل المثال، 10.0.0.0/24. يجب أن يكون gateway_ip أي عنوان IP (موجود أو غير موجود) على الشبكة الفرعية لواجهة النفق، مثل 169.254.0.2. الغرض من هذا gateway_ip هو توجيه حركة المرور إلى واجهة النفق، ولكن البوابة الخاصة ip نفسها ليست مهمة.

Cisco-ASA(config)#route vti 10.0.0.0 255.255.255.0 169.254.0.2

تكوين IKEv1 على FTD

بالنسبة إلى شبكة VPN IKEv1 من موقع إلى موقع من FTD إلى Azure، يلزمك تسجيل جهاز FTD مسبقا إلى FTD.

الخطوة 1. قم بإنشاء نهج من موقع إلى موقع. انتقل إلى  FMC dashboard > Devices > VPN > Site to Site.

الخطوة 2. إنشاء نهج جديد. انقر فوق  Add VPN  قائمة منسدلة واختر  Firepower Threat Defense device .

الخطوة 3. على  Create new VPN Topology  النافذة، قم بتعيين  Topology Name، تحقق من  IKEV1  خانة إختيار البروتوكول وانقر فوق  IKE  علامة تبويب. لأغراض هذا المثال، يتم إستخدام المفاتيح التي تم ضبطها مسبقا كطريقة مصادقة.

انقر فوق  Authentication Type  قائمة منسدلة، واختر  Pre-shared manual key . اكتب المفتاح اليدوي المشترك مسبقا على  Key  وConfirm Key  حقول النص.

الخطوة 4. قم بتكوين سياسة ISAKMP أو معلمات المرحلة 1 بإنشاء سياسة جديدة. في نفس الإطار، انقر على  green plus button  لإضافة سياسة ISAKMP جديدة. حدد اسم النهج واختر التشفير المطلوب والتجزئة ومجموعة Diffie-hellman وطريقة العمر والمصادقة، وانقر  Save .

الخطوة 5. تكوين نهج IPsec أو معلمات المرحلة 2. انتقل إلى  IPsec  جدولة، إختيار  Static  على  Crypto Map Type  خانة إختيار. انقر فوق  edit pencil  رمز من  IKEV1 IPsec Proposals  في  Transform Sets  خيار.

الخطوة 6. إنشاء مقترح IPsec جديد. على  IKEv1 IPSec Proposal  إطار، انقر فوق  green plus button  لإضافة اسم جديد. حدد اسم النهج والمعلمات المطلوبة لتشفير ESP وخوارزميات تجزئة ESP وانقر فوق  Save .

الخطوة 7.  على  IKEV1 IPsec Proposal  إطار، أضف نهج IPsec الجديد إلى  Selected Transform Sets  مقطع وطقطقة  OK .

الخطوة 8. عودة إلى  IPSec  علامة التبويب، قم بتكوين مدة العمر الافتراضي وحجمه المطلوبين.

الخطوة 9. أختر مجال التشفير/محددات حركة مرور البيانات/الشبكات المحمية. انتقل إلى  Endpoints  علامة تبويب. على  Node A  انقر فوق المقطع  green plus button  لإضافة اسم جديد. في هذا المثال، يتم إستخدام العقدة A كشبكات فرعية محلية ل FTD.

الخطوة 10. على  Add Endpoint  إطار، حدد FTD لاستخدامه على  Device  منسدل مع الواجهة المادية وعنوان IP للاستخدام.

الخطوة 11. لتحديد محدد حركة المرور المحلية، انتقل إلى  Protected Networks  ثم انقر فوق  green plus button  لإنشاء كائن جديد.

الخطوة 12. على  Network Objects  نافذة، انقر على  green plus button  بجانب  Available Networks  نص لإنشاء كائن محدد حركة مرور محلي جديد.

الخطوة 13. على  New Network Object  قم بتعيين اسم الكائن، ثم أختر وفقا لذلك المضيف/الشبكة/النطاق/FQDN. ثم انقر فوق  Save .

الخطوة 14. إضافة الكائن إلى  Selected Networks  قسم عن  Network Objects  نافذة ونقر  OK . انقر  OK  على  Add Endpoint  نافذة.

الخطوة 15. قم بتعريف نقطة نهاية العقدة B، والتي هي في هذا المثال، نقطة نهاية Azure. على  Create New VPN Topology  نافذة، انتقل إلى  Node B  ثم انقر فوق  green plus button  لإضافة محدد حركة مرور نقطة النهاية البعيدة. تحديد  Extranet  بالنسبة لجميع نقاط النهاية النظيرة لشبكة VPN التي لا تتم إدارتها بواسطة وحدة التحكم في الإدارة الأساسية (FMC) نفسها الخاصة بالعقدة A. اكتب اسم الجهاز (المهم محليا فقط) وعنوان IP الخاص به.

الخطوة 16. قم بإنشاء كائن محدد حركة المرور عن بعد. انتقل إلى  Protected Networks  ثم انقر فوق  green plus button  لإضافة كائن جديد.

الخطوة 17. على  Network Objects  نافذة، انقر على  green plus button  بجانب  Available Networks  نص لإنشاء كائن جديد. على  New Network Object  قم بتعيين اسم الكائن، ثم أختر وفقا لذلك المضيف/النطاق/الشبكة/FQDN وانقر Save .

الخطوة 18. عودة إلى  Network Objects  نافذة، أضف الكائن البعيد الجديد إلى  Selected Networks  مقطع وطقطقة  OK . انقر  Ok  على  Add Endpoint  نافذة.

الخطوة 19. على  Create New VPN Topology  الإطار الذي يمكنك رؤيته الآن كلا العقد مع محددات حركة المرور/الشبكات المحمية الصحيحة الخاصة بها. انقر  Save .

الخطوة 20. في لوحة معلومات FMC، انقر  Deploy  في الجزء العلوي الأيسر، أختر جهاز FTD، وانقر  Deploy .

الخطوة 21. على واجهة سطر الأوامر، يبدو تكوين VPN نفسه كما هو الحال بالنسبة لأجهزة ASA.

IKEv2 مستند إلى المسار مع محددات حركة المرور المستندة إلى السياسة

للحصول على IKEv2 VPN من موقع إلى موقع على ASA مع خرائط التشفير، اتبع هذا التكوين. تأكد من تكوين Azure لشبكة VPN المستندة إلى المسار وأنه يجب تكوين UsePolicyBasedTrafficSelectors في مدخل Azure من خلال إستخدام PowerShell.

يصف هذا المستند من Microsoft تكوين UsePolicyBasedTrafficSelectors بالاقتران مع وضع Azure VPN المستند إلى المسار. بدون اكتمال هذه الخطوة، يفشل ASA مع خرائط التشفير في إنشاء الاتصال بسبب عدم تطابق في محددات حركة المرور التي تم استقبالها من Azure.

راجع مستند Cisco هذا ل ASA IKEv2 بالكامل باستخدام معلومات تكوين خريطة التشفير.

الخطوة 1. تمكين IKEv2 على الواجهة الخارجية:

Cisco-ASA(config)#crypto ikev2 enable outside

الخطوة 2. إضافة نهج المرحلة الأولى من IKEv2.

ملاحظة: قامت Microsoft بنشر معلومات تتعارض مع ميزة التشفير الخاصة بالمرحلة الأولى من IKEv2 والنزاهة وسمات العمر المستخدمة من قبل Azure. يتم توفير السمات المدرجة بأفضل جهد من مستند Microsoft هذا المتوفر بشكل عام. معلومات سمة IKEv2 من Microsoft التي تظهر التعارضات هنا. لمزيد من التوضيح، اتصل بدعم Microsoft Azure.

Cisco-ASA(config)#crypto ikev2 policy 1

Cisco-ASA(config-ikev2-policy)#encryption aes

Cisco-ASA(config-ikev2-policy)#integrity sha

Cisco-ASA(config-ikev2-policy)#group 2

Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800

الخطوة 3. قم بإنشاء مجموعة أنفاق تحت سمات IPsec وقم بتكوين عنوان IP للنظير ومفتاح النفق المحلي والبعيد المشترك مسبقا ل IKEv2:

Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l

Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes

Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco

Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco

الخطوة 4. قم بإنشاء قائمة وصول تحدد حركة المرور التي سيتم تشفيرها وإنشاء قنوات لها. في هذا المثال، حركة مرور المصلحة هي حركة المرور من النفق الذي يتم الحصول عليه من الشبكة الفرعية 10.2.2.0 إلى 10.1.1.0. ويمكن أن يحتوي على إدخالات متعددة إذا كانت هناك شبكات فرعية متعددة مشتركة بين المواقع.

في الإصدارات 8.4 والإصدارات الأحدث، يمكن إنشاء كائنات أو مجموعات كائنات تعمل كحاويات للشبكات أو الشبكات الفرعية أو عناوين IP للمضيف أو كائنات متعددة. قم بإنشاء كائنين يحتويان على الشبكات الفرعية المحلية والبعيدة واستخدامهما لكل من قوائم التحكم في الوصول (ACL) للتشفير وعبارات NAT.

Cisco-ASA(config)#object network 10.2.2.0_24

Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0

Cisco-ASA(config)#object network 10.1.1.0_24

Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0

Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24

الخطوة 5. إضافة مقترح IPsec للمرحلة 2 من IKEv2. حدد معلمات الأمان في وضع تكوين مقترح بروتوكول الإنترنت ل IPsec الذي لا يحتوي على تشفير:

تشفير ESP للبروتوكول {des | 3des | AES | الطراز AES-192 | الطراز AES-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | فارغ}

تكامل بروتوكول esp {md5 | sha-1 | SHA-256 | SHA-384 | SHA-512 | فارغ}

ملاحظة: قامت Microsoft بنشر معلومات تتعارض مع سمات التكامل والتشفير الخاصة بالمرحلة الثانية من IPSec المستخدمة من قبل Azure. يتم توفير السمات المدرجة بأفضل جهد من مستند Microsoft هذا المتوفر بشكل عام. المرحلة 2 معلومات سمة IPSec من Microsoft التي تظهر التعارضات هنا. لمزيد من التوضيح، اتصل بدعم Microsoft Azure.

Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1

Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes

Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-1

الخطوة 6. قم بتكوين خريطة تشفير وتطبيقها على الواجهة الخارجية، والتي تحتوي على المكونات التالية:

· عنوان IP للنظير

· قائمة الوصول المحددة التي تحتوي على حركة مرور الفائدة

· مقترح IKEv2 المرحلة 2 IPSec

· مدة بقاء المرحلة 2 من IPSec بالثواني

· إعداد إختياري لسرية إعادة التوجيه المثالية (PFS)، مما يؤدي إلى إنشاء زوج جديد من مفاتيح Diffie-Hellman التي يتم إستخدامها لحماية البيانات (يجب تمكين كلا الجانبين من PFS قبل ظهور المرحلة 2)

قامت Microsoft بنشر معلومات تتعارض مع مدة بقاء المرحلة 2 الخاصة ب IPSec وسمات PFS المستخدمة من قبل Azure.

يتم توفير السمات المدرجة كأفضل جهد من مستند Microsoft هذا المتوفر بشكل عام.

المرحلة 2 معلومات سمة IPSec من Microsoft التي تظهر التعارضات هنا. لمزيد من التوضيح، اتصل بدعم Microsoft Azure.

Cisco-ASA(config)#crypto map outside_map 20 match address 100

Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1

Cisco-ASA(config)#crypto map outside_map 20 set ikev2 ipsec-proposal myset

Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 27000

Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes unlimited

Cisco-ASA(config)#crypto map outside_map 20 set pfs none

Cisco-ASA(config)#crypto map outside_map interface outside

الخطوة 8. ضمنت أن لا يخضع ال VPN حركة مرور إلى أي آخر nat قاعدة. إنشاء قاعدة إستثناء NAT:

Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup

ملاحظة: عند إستخدام شبكات فرعية متعددة، يجب عليك إنشاء مجموعات كائنات باستخدام جميع الشبكات الفرعية للمصدر والوجهة واستعمالها في قاعدة NAT.

Cisco-ASA(config)#object-group  network 10.x.x.x_SOURCE

Cisco-ASA(config-network-object-group)#network-object  10.4.4.0 255.255.255.0

Cisco-ASA(config-network-object-group)#network-object  10.2.2.0 255.255.255.0

Cisco-ASA(config)#object network 10.x.x.x_DESTINATION

Cisco-ASA(config-network-object-group)#network-object  10.3.3.0 255.255.255.0

Cisco-ASA(config-network-object-group)#network-object  10.1.1.0 255.255.255.0

Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION  10.x.x.x_DESTINATION no-proxy-arp route-lookup

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

عقب يتم أنت التشكيل على على حد سواء ASA وبوابة Azure، يقوم Azure بتهيئة نفق VPN. أنت يستطيع دققت أن النفق يبني بشكل صحيح مع هذا أمر:

المرحلة الأولى

تحقق من إنشاء اقتران أمان المرحلة الأولى (SA):

IKEv2

بعد ذلك، يتم عرض IKEv2 SA الذي تم إنشاؤه من الواجهة الخارجية المحلية IP 192.168.1.2 على منفذ UDP 500، إلى الوجهة البعيدة IP 192.168.2.2. هناك أيضا فرع SA صحيح بنيت ل يشفر حركة مرور أن يتدفق عبر.

Cisco-ASA# show crypto ikev2 sa

IKEv2 SAs:

Session-id:44615, Status:UP-ACTIVE, IKE count:1, CHILD count:1

Tunnel-id Local                                               Remote                                                  Status         Role

3208253 192.168.1.2/500                                     192.168.2.2/500                                          READY    INITIATOR

Encr: AES-CBC, keysize: 256, Hash: SHA96, DH Grp:5, Auth sign: PSK, Auth verify: PSK

Life/Active Time: 86400/142 sec

*-->Child sa: local selector  192.168.0.0/0 - 192.168.0.255/65535

remote selector 192.168.3.0/0 - 192.168.3.255/65535

ESP spi in/out: 0x9b60edc5/0x8e7a2e12

هنا، يتم عرض IKEv1 SA الذي تم إنشاؤه باستخدام ASA كبادئ لنظير IP 192.168.2.2 مع فترة بقاء من 86388 ثانية.

Cisco-ASA# sh crypto ikev1 sa detail

IKEv1 SAs:

Active SA: 1

Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)

Total IKE SA: 1

1   IKE Peer: 192.168.2.2

Type    : L2L             Role    : initiator

Rekey   : no              State   : MM_ACTIVE

Encrypt : aes             Hash    : SHA

Auth    : preshared       Lifetime: 86400

Lifetime Remaining: 86388

المرحلة الثانية

التحقق من أن اقتران أمان IPSec للمرحلة 2 قد تم إنشاؤه باستخدام  show crypto ipsec sa peer [peer-ip] .

Cisco-ASA# show crypto ipsec sa peer 192.168.2.2

peer address: 192.168.2.2

Crypto map tag: outside, seq num: 10, local addr: 192.168.1.2

access-list VPN extended permit ip 192.168.0.0 255.255.255.0 192.168.3.0 255.255.255.0

local ident (addr/mask/prot/port): (192.168.0.0/255.255.255.0/0/0)

remote ident (addr/mask/prot/port): (192.168.3.0/255.255.255.0/0/0)

current_peer: 192.168.2.2

#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4

#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 4, #pkts comp failed: 0, #pkts decomp failed: 0

#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0

#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0

#TFC rcvd: 0, #TFC sent: 0

#Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0

#send errors: 0, #recv errors: 0

local crypto endpt.: 192.168.1.2/500, remote crypto endpt.: 192.168.2.2/500

path mtu 1500, ipsec overhead 74(44), media mtu 1500

PMTU time remaining (sec): 0, DF policy: copy-df

ICMP error validation: disabled, TFC packets: disabled

current outbound spi: 8E7A2E12

current inbound spi : 9B60EDC5

inbound esp sas:

spi: 0x9B60EDC5 (2606820805)

SA State: active

transform: esp-aes-256 esp-sha-hmac no compression

in use settings ={L2L, Tunnel, IKEv2, }

slot: 0, conn_id: 182743040, crypto-map: outside

sa timing: remaining key lifetime (kB/sec): (4193279/28522)

IV size: 16 bytes

replay detection support: Y

Anti replay bitmap:

0x00000000 0x0000001F

outbound esp sas:

spi: 0x8E7A2E12 (2390371858)

SA State: active

transform: esp-aes-256 esp-sha-hmac no compression

in use settings ={L2L, Tunnel, IKEv2, }

slot: 0, conn_id: 182743040, crypto-map: outside

sa timing: remaining key lifetime (kB/sec): (3962879/28522)

IV size: 16 bytes

replay detection support: Y

Anti replay bitmap:

0x00000000 0x00000001

يتم إرسال أربع حزم ويتم إستلام أربع حزم عبر IPSec SA دون أخطاء. تم تثبيت نقطة وصول واحدة واردة مع SPI 0x9B60EDC5 وواحدة صادرة SA مع SPI 0x8E7A2E12 كما هو متوقع.

يمكنك أيضا التحقق من مرور البيانات عبر النفق من خلال التحقق من  vpn-sessiondb l2l  إدخالات:

Cisco-ASA#show vpn-sessiondb l2l

Session Type: LAN-to-LAN

Connection : 192.168.2.2

Index : 44615 IP Addr : 192.168.2.2

Protocol : IKEv2 IPsec

Encryption : IKEv2: (1)AES256 IPsec: (1)AES256

Hashing : IKEv2: (1)SHA1 IPsec: (1)SHA1

Bytes Tx : 400 Bytes Rx : 400

Login Time : 18:32:54 UTC Tue Mar 13 2018

Duration : 0h:05m:22s

وحدات البايت Tx: و Bytes Rx: إظهار عدادات البيانات المرسلة والمستلمة عبر IPSec SA.

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

الخطوة 1. دققت أن إستلمت حركة مرور ل VPN ب ASA على القارن داخلي معد ل ال Azure خاص شبكة. للاختبار، يمكنك تكوين إختبار اتصال مستمر من عميل داخلي وتكوين التقاط حزمة على ASA للتحقق من إستلامه:

التقاط واجهة [cap-name] [if-name] تطابق [بروتوكول] [src-ip] [src-mask] [dest-ip] [dest-mask]

show capture [cap-name]

Cisco-ASA#capture inside interface inside match ip host [local-host] host [remote-host]

Cisco-ASA#show capture inside

2 packets captured

1: 18:50:42.835863       192.168.0.2 > 192.168.3.2: icmp: echo request

2: 18:50:42.839128       192.168.3.2 > 192.168.0.2: icmp: echo reply

2 packets shown

إن رأيت رد حركة مرور من Azure، بعد ذلك ال VPN بشكل صحيح بنيت ويرسل/يستلم حركة مرور.

إذا كانت حركة مرور المصدر غير موجودة، فتحقق من توجيه المرسل بشكل صحيح إلى ASA.

إذا تم عرض حركة مرور المصدر ولكن لم يتم وجود حركة مرور الرد من Azure، فتابع للتحقق من السبب.

الخطوة 2. دققت أن الحركة مرور يستلم على ASA داخل قارن بشكل صحيح معالجة ب ASA وموجه إلى ال VPN:

لمحاكاة طلب صدى ICMP:

تفاصيل مدخل Packet-tracer [inside-interface-name] ICMP [inside-host-ip] 8 0 [azure-host-ip]

يمكن العثور على إرشادات الاستخدام الكاملة لتتبع الحزم هنا: https://community.cisco.com:443/t5/security-knowledge-base/troubleshooting-access-problems-using-packet-tracer/ta-p/3114976

Cisco-ASA# packet-tracer input inside icmp 192.168.0.2 8 0 192.168.3.2 detail

Phase: 1

Type: CAPTURE

Subtype:

Result: ALLOW

Config:

Additional Information:

Forward Flow based lookup yields rule:

in  id=0x7f6c19afb0a0, priority=13, domain=capture, deny=false

hits=3, user_data=0x7f6c19afb9b0, cs_id=0x0, l3_type=0x0

src mac=0000.0000.0000, mask=0000.0000.0000

dst mac=0000.0000.0000, mask=0000.0000.0000

input_ifc=inside, output_ifc=any

Phase: 2

Type: ACCESS-LIST

Subtype:

Result: ALLOW

Config:

Implicit Rule

Additional Information:

Forward Flow based lookup yields rule:

in  id=0x7f6c195971f0, priority=1, domain=permit, deny=false

hits=32, user_data=0x0, cs_id=0x0, l3_type=0x8

src mac=0000.0000.0000, mask=0000.0000.0000

dst mac=0000.0000.0000, mask=0100.0000.0000

input_ifc=inside, output_ifc=any

Phase: 3

Type: ROUTE-LOOKUP

Subtype: Resolve Egress Interface

Result: ALLOW

Config:

Additional Information:

found next-hop 192.168.1.1 using egress ifc  outside

Phase: 4

Type: NAT

Subtype: per-session

Result: ALLOW

Config:

Additional Information:

Forward Flow based lookup yields rule:

in  id=0x7f6c19250290, priority=0, domain=nat-per-session, deny=true

hits=41, user_data=0x0, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0

src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any

dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0

input_ifc=any, output_ifc=any

Phase: 5

Type: IP-OPTIONS

Subtype:

Result: ALLOW

Config:

Additional Information:

Forward Flow based lookup yields rule:

in  id=0x7f6c1987c120, priority=0, domain=inspect-ip-options, deny=true

hits=26, user_data=0x0, cs_id=0x0, reverse, flags=0x0, protocol=0

src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any

dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0

input_ifc=inside, output_ifc=any

Phase: 6

Type: QOS

Subtype:

Result: ALLOW

Config:

Additional Information:

Forward Flow based lookup yields rule:

in  id=0x7f6c19a60280, priority=70, domain=qos-per-class, deny=false

hits=30, user_data=0x7f6c19a5c030, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0

src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any

dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0

input_ifc=any, output_ifc=any

Phase: 7

Type: INSPECT

Subtype: np-inspect

Result: ALLOW

Config:

Additional Information:

Forward Flow based lookup yields rule:

in  id=0x7f6c1983ab50, priority=66, domain=inspect-icmp-error, deny=false

hits=27, user_data=0x7f6c1987afc0, cs_id=0x0, use_real_addr, flags=0x0, protocol=1

src ip/id=0.0.0.0, mask=0.0.0.0, icmp-type=0, tag=any

dst ip/id=0.0.0.0, mask=0.0.0.0, icmp-code=0, tag=any, dscp=0x0

input_ifc=inside, output_ifc=any

Phase: 8

Type: VPN

Subtype: encrypt

Result: ALLOW

Config:

Additional Information:

Forward Flow based lookup yields rule:

out id=0x7f6c19afe1a0, priority=70, domain=encrypt, deny=false

hits=2, user_data=0x13134, cs_id=0x7f6c19349670, reverse, flags=0x0, protocol=0

src ip/id=192.168.0.0, mask=255.255.255.0, port=0, tag=any

dst ip/id=192.168.3.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0

input_ifc=any, output_ifc=outside

Phase: 9

Type: FLOW-CREATION

Subtype:

Result: ALLOW

Config:

Additional Information:

New flow created with id 43, packet dispatched to next module

Module information for forward flow ...

snp_fp_tracer_drop

snp_fp_inspect_ip_options

snp_fp_inspect_icmp

snp_fp_adjacency

snp_fp_encrypt

snp_fp_fragment

snp_ifc_stat

Module information for reverse flow ...

Result:

input-interface: inside

input-status: up

input-line-status: up

output-interface: outside

output-status: up

output-line-status: up

Action: allow

لاحظ أن NAT يعفي حركة المرور (لا تطبق أي ترجمة). دققت ما من nat ترجمة يقع على ال VPN حركة مرور.

تحقق أيضا من  output-interface  صحيح - يجب أن تكون إما الواجهة المادية حيث يتم تطبيق خريطة التشفير أو واجهة النفق الظاهرية.

تأكد من عدم ظهور حالات إسقاط قائمة الوصول.

إذا ظهرت مرحلة الشبكة الخاصة الظاهرية (VPN)  ENCRYPT: ALLOW ، تم إنشاء النفق بالفعل ويمكنك رؤية IPSec SA مثبتا مع عمليات التضمين.

الخطوة 2.1. إذا  ENCRYPT: ALLOW  تظهر في تطبيق Packet-tracer.

تحقق من تثبيت مساعد IPsec وتشفير حركة المرور باستخدام  show crypto ipsec sa .

يمكنك إجراء التقاط على الواجهة الخارجية للتحقق من إرسال الحزم المشفرة من ASA واستقبال الاستجابات المشفرة من Azure.

الخطوة 2.2. إذا  ENCRYPT:DROP  تظهر في تطبيق Packet-tracer.

لم يتم إنشاء نفق VPN بعد ولكنه قيد التفاوض. هذه حالة متوقعة عندما تجلب النفق لأول مرة. قم بتشغيل تصحيح الأخطاء لعرض عملية تفاوض النفق وتحديد مكان حدوث فشل وما إذا حدث ذلك.

أولا، تحقق من تشغيل الإصدار الصحيح من IKE ومن عدم ظهور أخطاء ذات صلة أثناء العملية الشائعة ike:

Cisco-ASA#debug crypto ike-common 255

Cisco-ASA# Mar 13 18:58:14 [IKE COMMON DEBUG]Tunnel Manager dispatching a KEY_ACQUIRE message to IKEv1.  Map Tag = outside.  Map Sequence Number = 10.

إذا لم يظهر أي إخراج تصحيح أخطاء شائع عند بدء حركة مرور VPN، فهذا يعني إسقاط حركة مرور البيانات قبل أن تصل إلى عملية التشفير أو عدم تمكين crypto ikev1/ikev2 على المربع. تحقق مرتين من تكوين التشفير وعمليات إسقاط الحزم.

إذا كانت أخطاء IKE-common تظهر تشغيل عملية التشفير، فقم بتصحيح إصدار IKE الذي تم تكوينه لعرض رسائل تفاوض النفق وتحديد مكان حدوث الفشل في إنشاء النفق باستخدام Azure.

IKEv1

يمكن العثور على إجراء تصحيح الأخطاء الكامل ل iKEV1 وتحليله هنا.

Cisco-ASA#debug crypto ikev1 127

Cisco-ASA#debug crypto ipsec 127

IKEv2

يمكن العثور على إجراء تصحيح الأخطاء الكامل ل iV2 وتحليله هنا.

Cisco-ASA#debug crypto ikev2 platform 127

Cisco-ASA#debug crypto ikev2 protocol 127

Cisco-ASA#debug crypto ipsec 127