نظرة عامة على IPSec في Mikrotik

IPSec (أمان IP) - مجموعة من البروتوكولات والخوارزميات لتشفير البيانات في شبكات IPv4 و IPv6. لا يبدو الأمر معقدًا ، لكن IPSec لا يضع قواعد واضحة لتشفير حركة المرور ؛ وبدلاً من ذلك ، يقوم المطورون بتطبيق مجموعة من الأدوات (البروتوكولات والخوارزميات) ، باستخدام المسؤول الذي ينشئ قناة آمنة للبيانات.


أريد أن أتطرق إلى IPSec في RouterOS أعمق قليلاً من HOWTO البسيط ، مع الحد الأدنى من النظرية والأمثلة على كيفية تكوين وتصحيح IPSec. هذا ليس دليلًا ، وبدون ممارسة على منصة اختبار ، لا يوصى ببدء إعداد أنفاق حقيقية وخوادم VPN.


مزايا وعيوب IPSec


نقاط القوة:


  • يعمل على مستوى شبكة نموذج OSI
  • يمكنه تشفير الحزمة المصدر بالكامل أو من طبقة النقل وأعلى
  • هناك آلية للتغلب على NAT
  • مجموعة واسعة من التشفير وخوارزميات التجزئة المرور للاختيار من بينها
  • IPSec - مجموعة من المعايير المفتوحة القابلة للتوسعة
  • في حالة Mikrotik ، لا يتطلب شراء رسوم أو تراخيص إضافية

نقاط الضعف:


  • صعوبة
  • أدوات التكوين والمصطلحات المختلفة لبائعي مختلفة
  • يتطلب استخدام خوارزميات تشفير قوية قوة حسابية جيدة.
  • من السهل اكتشاف DPI

البروتوكولات في IPSec



على الصعيد العالمي ، يمكن تقسيم جميع البروتوكولات التي ستتعامل معها أثناء التكوين إلى مجموعتين: بروتوكولات التبادل الرئيسية وبروتوكولات حماية البيانات.


بروتوكولات تبادل المفاتيح (IKE)
وتتمثل المهمة الرئيسية في مصادقة المشاركين في الاتصال والاتفاق على معلمات التشفير ومفاتيح لحماية المعلومات المرسلة.


  • IKE (تبادل مفاتيح الإنترنت) - تم تعريفه في عام 1998. تمت إضافة العديد من الميزات (على سبيل المثال ، سد NAT) لاحقًا كوظائف إضافية وقد لا يتم تنفيذها مع العديد من البائعين. أساس التفاوض الرئيسي هو ISAKMP.
  • IKEv2 (Internet Key Exchange الإصدار 2) - أحدث مراجعة من 2014. إنه تطور لبروتوكول IKE ، حيث تم حل بعض المشكلات ، وتم تبسيط آلية الاتفاقية الرئيسية ، وأصبحت الامتدادات (NAT-T ، Keepalives ، Mode Mode) جزءًا من البروتوكول.

في الممارسة العملية ، يتم تنفيذ معظم اتصالات IPSec باستخدام IKE بسبب المعدات القديمة أو إحجام المسؤولين عن تغيير شيء ما.


بروتوكولات حماية البيانات (ESP ، AH)
المهمة الرئيسية هي حماية بيانات المستخدم.


  • ESP (Encapsulating Security Payload) - تشفير البيانات المرسلة والمصادقة عليها جزئيًا
  • AH (رأس المصادقة) - يصادق الحزمة بأكملها (باستثناء الحقول القابلة للتغيير) ، ولا يقوم بتشفير البيانات ، لكنه يسمح لك بالتأكد من أن الحزمة لم تتغير أثناء الإرسال عبر الشبكة

إجراء تثبيت اتصال IPSec



عادة ما يطلق على المشاركين في اتصال IPSec الأقران ، مما يشير إلى تكافؤهم في الاتصال الثابت. من الممكن تكوين أقرب إلى خادم العميل ، ولكن عند إنشاء أنفاق IPSec دائمة ، يمكن لأي من أقرانه أن يكون مُهيئًا.


  1. أحد أقرانه يبدأ اتصال IPSec
  2. هناك تبادل المعلومات الأساسية ، مصادقة الأقران ، وتنسيق معلمات الاتصال
  3. بناءً على المعلومات الأساسية المستلمة ، يتم تكوين نفق مشفر إضافي
  4. باستخدام نفق مشفر ، يحدد الأقران معلمات تشفير البيانات وتبادل المعلومات لإنشاء المفاتيح
  5. نتيجة المرحلة السابقة هي مجموعة من القواعد والمفاتيح لحماية البيانات (SA)
  6. يقوم أقرانهم بشكل دوري بتحديث مفاتيح التشفير

واحدة من المفاهيم الأساسية في IPSec هي SA (Security Association) - مجموعة من خوارزميات التشفير لتشفير المعلومات وتجزئةها ، وكذلك مفاتيح التشفير ، المتفق عليها من قبل الزملاء.


في بعض الأحيان يمكنك العثور على قسم إلى:


  • ISAKMP SA - المعلمات والمفاتيح المتعلقة بالنفق الإضافي
  • Data SA (أو ببساطة SA) - المعلمات والمفاتيح المتعلقة بتشفير حركة المرور

بروتوكولات الاتفاق الرئيسية


يمكن أن يعمل بروتوكول IKE في وضعين: رئيسي (رئيسي) وعدواني (عدواني) ، يحتوي بروتوكول IKEv2 على وضع واحد.


ايك الرئيسية



تتكون المرحلة الأولى من ست مجموعات:
1-2: محاذاة إعدادات تشفير النفق الثانوي وخيارات IPSec المختلفة
3-4: مشاركة المعلومات لإنشاء مفتاح سري
5-6: مصادقة الأقران باستخدام قناة مشفرة مساعدة


تتكون المرحلة الثانية من ثلاث مجموعات:
1-3: استخدام قناة مساعدة مشفرة. تنسيق المعلمات حماية حركة المرور ، وتبادل المعلومات لإنشاء مفتاح سري


ايك العدوانية



تتكون المرحلة الأولى من ثلاث مجموعات:
1: تقديم عرض لتثبيت قناة مشفرة مساعدة ومعلومات لإنشاء مفتاح خاص
2: الرد على العرض ، معلومات لإنشاء المفتاح السري ، بيانات المصادقة
3: بيانات المصادقة


تتكون المرحلة الثانية من ثلاث مجموعات:
1-3: استخدام قناة مساعدة مشفرة. تنسيق المعلمات حماية حركة المرور ، وتبادل المعلومات لإنشاء مفتاح سري


في الوضع العدواني ، يرسل البادئ مجموعة واحدة فقط من المعلمات في الجملة. يحدث تبادل المعلومات لمصادقة الأقران قبل تثبيت نفق إضافي آمن. الوضع العدواني ثابت بشكل أسرع ، ولكنه أقل أمانًا.


IKEv2



في IKEv2 ، تتم تسمية المراحل: IKE_SA_INIT و IKE_AUTH. ولكن إذا كنت أتحدث عن المرحلة الأولى والمرحلة الثانية لاحقًا في النص ، فإن هذا ينطبق أيضًا على مراحل IKEv2.


تتكون كل مرحلة من مراحل IKEv2 من عبوتين:
IKE_SA_INIT: تنسيق معلمات تشفير النفق الإضافية ، وتبادل المعلومات لإنشاء مفتاح خاص


IKE_AUTH: استخدام القناة المساعدة المشفرة. مصادقة الأقران ، وتنسيق معلمات الحماية المرورية ، وتبادل المعلومات لإنشاء مفتاح سري


قاعدة بيانات الأمان (SAD)


نتيجة IKE (و IKEv2) هي Assotiations الأمان (SA) ، التي تحدد إعدادات الحماية المرورية ومفاتيح التشفير. كل SA أحادي الاتجاه ويحتوي اتصال IPSec على زوج من SAs. يتم تخزين جميع SAs في قاعدة بيانات SAD ويمكن الوصول إليها من قبل المسؤول للعرض وإعادة تعيين.


تغليف البيانات



يوفر IPSec خيارين لتغليف البيانات:


  • وضع النقل - فقط حمولة الرزمة محمية ، تاركًا الرأس الأصلي. لبناء الأنفاق ، يتم استخدام وضع النقل عادةً بالتزامن مع ipip أو gre ، الذي يحتوي حمولته بالفعل على الحزمة المصدر بالكامل.
  • وضع النفق - يتم تغليف الحزمة الأصلية بالكامل في حزمة جديدة (على غرار gre أو ipip). ولكن بالنسبة للنفق ipsec ، لا يتم إنشاء واجهة صريحة في النظام ، فقد تكون هذه مشكلة إذا تم استخدام توجيه ثابت ديناميكي أو معقد.

قاعدة بيانات سياسة الأمان (SPD)


قاعدة بيانات من القواعد التي تحدد حركة المرور التي يجب تشفيرها ، وبروتوكول حماية البيانات ، ونوع التغليف وعدد من المعلمات الأخرى.
يمكن عرض موضع فحص SPD على مخطط تدفق الحزمة.



سد NAT


يستخدم IPSec بروتوكولات طبقة الشبكة لنقل البيانات التي لا يمكن لـ NAT معالجتها. لحل المشكلة ، يتم استخدام بروتوكول NAT-T (امتداد في IKE وجزء من IKEv2). جوهر NAT-T هو في تغليف إضافي من حزم IPSec في حزم UDP التي يعالجها NAT.


IPSec في Mikrotik


يتوفر IPSec مجانًا على أي جهاز يقوم بتشغيل RouterOS مع تثبيت حزمة الأمان.


تشفير الأجهزة


لإلغاء تحميل وحدة المعالجة المركزية ، تتم إضافة تسريع تشفير الأجهزة إلى بعض طرازات أجهزة توجيه MikroTik ؛ يمكن العثور على قائمة كاملة على الويكي .
أكثر خيارات الميزانية: RB750Gr3 ، RB3011 ، HAP AC ^ 2 .


لوحدي راجعت سرعة IPSec بين RB1100AHx2 واثنين RB750Gr3.


لتحقيق أقصى قدر من النتائج على RB1100AHx2 ، يجب عليك:


  • استخدم المنفذ 11 المتصل مباشرة بوحدة المعالجة المركزية وقم بتكوين وحدة المعالجة المركزية الأساسية واحدة لمعالجة حركة مرور 11 منفذًا
  • استخدم قوائم انتظار الأجهزة فقط على الواجهات ، وقم بتعطيل RPS
  • تمكين Layer3 FastPath (حوالي 800 ميجابايت / ثانية) ، أو استبعاد حركة مرور IPSec من كونتراك (حوالي 700 ميجابايت / ثانية)
    بدون عمليات المعالجة الموصوفة على المنفذ الأبطأ (ether13) ، من الممكن الحصول على ~ 170 ميجا بايت / ثانية ، على نحو 400 ميجابايت / ثانية في المعتاد.

على RB750Gr3 دون تحسينات حول 200MB / ثانية.


تظهر أجهزة التوجيه أحادية النواة من كوالكوم نتيجة تتراوح بين 10 و 40 ميجابايت في الثانية بناءً على طراز عمليات التحسين الأخرى وعبء العمل عليها.


أوصي بأن تتعرف على العرض التقديمي من أحد موظفي mikrotik ، فقد تطرقوا إلى مواضيع تحسين الإعدادات لتقليل الحمل على وحدة المعالجة المركزية وزيادة السرعة ، والتي لم أقم بإضافتها إلى النص.


الاختلافات 6.42.X و 6.43.X


بناءً على إصدار RouterOS الذي تستخدمه ، ستختلف قائمة تكوين IPSec.





هناك بالفعل تغييرات جديدة في إصدار الاختبار ، لذلك اقرأ ملاحظات الإصدار قبل الترقية.



تكوين IPsec



قائمة [IP] -> [IPSec] ليست مخيفة كما تبدو للوهلة الأولى. يوضح الرسم التخطيطي أن عناصر التكوين الرئيسية هي: الأقران والملفات الشخصية.
علامتا التبويب نظراء عن بعد و SA المثبتة هي معلومات.


الأقران والأقران


تكوين نظير IPSec لتأسيس اتصال IKE وإنشاء نفق آمن إضافي.


الصورة


تكوين نظيرات IPSec عن بعد



ملاحظات
  • بدءًا من 6.43 ، أقسم RouterOS عند استخدام PSK دون مصادقة إضافية. إذا كنت لا ترغب في تكوين مفاتيح أو شهادات أو xAuth بالإضافة إلى ذلك ، يمكنك التبديل إلى IKEv2 أو تجاهل التحذير.
  • كأقران ، يمكنك تحديد عناوين IP أو شبكات فرعية محددة (ذات صلة بـ Client-Server VPN)
  • إذا كانت هناك قواعد متعارضة ، فسيتم استخدام قاعدة بها شبكة فرعية أكثر دقة للاتصال بالنظير (على غرار الطرق)
  • مصادقة المفتاح XAuth و rsa لا تعمل في IKEv2
  • بالنسبة لـ IKEv2 ، جعل Mikrotik تنفيذها من xAuth غير متوافق مع الأنظمة الأساسية الأخرى
  • عادةً ما يستخدم الوضع السلبي لإنشاء VPN Client-Server (تهيئة وضع L2TP / IPsec أو IKEv2) ، ولكن يمكن أن يكون مفيدًا عند توصيل عدد كبير من أنفاق الموقع إلى نقطة واحدة ، لتقليل حركة المرور الزائفة.
  • إذا كنت تخطط لاستخدام xAuth ، فيجب أن يكون "الخادم" خاملًا. يتم إنشاء مستخدمي الخادم في [IPSec] -> [المستخدمين]
  • عند استخدام "إنشاء سياسة" ، حدد وضع تقييد المنفذ

إعداد ملفات التعريف (مقترحات) للتنسيق المرحلة 1


الصورة



ملاحظات
  • تصبح الخيارات الإضافية لـ IKE جزءًا من IKEv2 ، يتم تجاهل الإعدادات
  • ارتباط مجموعات DH بأرقامها (يتم استخدام أرقام المجموعة من قبل البائعين الآخرين)
  • عند إرسال الاقتراحات ، يقوم النظام بفرز خوارزمية أزواج + مجموعة dh من أكثر ثباتًا إلى أقل ثباتًا

السياسات ومقترحات السياسة


يقوم السياسيون بفحص الحزم المارة للتأكد من مطابقتها للشروط وتطبيق الإجراءات المحددة. إذا عدت إلى تدفق الحزم ، فإن الكتل مع سياسة IPSec هي التسوية مع السياسات. تحدد الإجراءات: بروتوكول أمان IPSec (ESP أو AH) ومقترحات للتفاوض SA ووضع التغليف.
الصورة


تمرر الحزمة السياسة واحدة تلو الأخرى حتى تتوافق مع شروط أحدها.


إعداد السياسة


الشروح
  • عادة لا يلزم Src معين. و DST. منفذ ، ولكن بشكل عام ، القدرة على تشفير حركة المرور من تطبيق الفردية مثيرة للاهتمام
  • لا يتم تقديم جميع بروتوكولات ip في قائمة البروتوكولات (على سبيل المثال ، لا يوجد gre) ، يمكنك تحديد عدد البروتوكول المطلوب يدويًا.
  • القوالب ليست ساسة! يتم استخدامها إذا تم تعيين سياسة التوليد في تكوين النظير.
  • ماذا تفعل إذا لم يتم العثور على ضمانات معينة للسياسة. في السابق ، كانت هناك مشكلة في L2TP / IPSec عندما تعذر على العديد من العملاء الاتصال بسبب نفس NAT (عند استخدام IKE) ، يتم حل هذا الخطأ (على افتراض أن هؤلاء العملاء ليسوا نوافذ) إذا قمت بتعيين مستوى = فريد. خلاف ذلك ، قم بالتبديل إلى IKEv2
  • عند إعداد السياسات ، استخدم [الوضع الآمن] ، خطوة واحدة محرجة وتخاطر بفقدان الوصول إلى جهاز التوجيه باستخدام Level3

إعداد مقترحات للحصول على موافقة SA



مجموعات


تستخدم لربط قوالب السياسة والأقران.


الصورة


في أحد الإصدارات القديمة من RouterOS ، كان هناك خطأ في المجموعة الافتراضية غير العاملة.


التكوين الوضع


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




المفاتيح والمستخدمين


تستخدم لمصادقة الأقران المتقدمة.
مفاتيح
مفاتيح RSA: التوليد ، الاستيراد ، التصدير. غير مدعوم في IKEv2.



المستخدمين
قاعدة بيانات مستخدم XAuth لـ "الخادم". يحدد العميل إعدادات xAuth في تكوين النظير. من الممكن إعادة توجيه مصادقة xAuth إلى خادم RADIUS.



أقرانهم عن بعد


قائمة بجميع الأقران الذين يقومون بتثبيت وتثبيت نفق إضافي (المرحلة 1). يمكنك إزالة أقرانهم لتحديث مفاتيح النفق الإضافي.


الصورة


الصورة


ساس المثبتة


قاعدة بيانات SAD أو قائمة بجميع الأجهزة المساعدة المتفاوض عليها. يمكنك رؤية خوارزميات حماية البيانات المستخدمة والمفاتيح.


الصورة


الصورة


تشير علامة الأجهزة AEAD إلى استخدام تشفير الأجهزة.


الصورة


يمكن للمسؤول إعادة ضبط SA ، ولكن فقط من نفس النوع (esp أو ah) في نفس الوقت.


IPSec وجدار الحماية


في جدار الحماية ، يمكنك التحقق مما إذا كانت حركة المرور هي سياسة IPSec الواردة أو الصادرة أم لا. تطبيق واضح هو L2TP / IPSec ، يمكنك حظر تثبيت اتصالات L2TP إذا لم يتم تشفير حركة المرور مسبقًا.



البروتوكولات والمنافذ المستخدمة في IPSec


  • ايك - UDP: 500
  • IKEv2 - UDP: 4500
  • NAT-T - UDP: 4500
  • ESP - ipsec-esp (50)
  • آه - ipsec-ah (51)

IPSec و Endpoinds


والآن عن القرحة ...
يحتوي wiki mikrotik على جداول مع خوارزميات التجزئة والتشفير لـ: Windows ، iOS ، OS-X .


لم أجد معلومات حول برنامج vpn المدمج في نظام أندرويد ، ولكنه بشكل عام يعمل مع مقترحات من windows. لا يوجد أي دعم IKEv2 في Android ، يجب عليك استخدام StrongSwan .


أمثلة التكوين


مخطط والتكوين الأساسي للحصول على أمثلة مع أنفاق الموقع إلى الموقع:



#Mikrotik1 /ip address add address=10.10.10.10/24 interface=ether1 network=10.10.10.0 add address=192.168.100.1/24 interface=ether2 network=192.168.100.0 /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 /ip route add distance=1 gateway=10.10.10.1 dst-address=0.0.0.0/0 #Mikrotik2 /ip address add address=10.20.20.20/24 interface=ether1 network=10.20.20.0 add address=192.168.200.1/24 interface=ether2 network=192.168.200.0 /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 /ip route add distance=1 gateway=10.20.20.1 dst-address=0.0.0.0/0 

IPSec في وضع النفق



التكوين خطوة بخطوة:


  1. إنشاء اقتراحات لـ IKE Phase1
  2. اصنع وليمة نشير إلى العنوان والمقترحات ووضع التبادل ومفتاح PSK. اخترت IKEv2 ، يمكنك استخدام الرئيسي / العدواني على النحو المرغوب فيه
  3. إنشاء مقترحات لـ SA
  4. حدد الشبكات الفرعية التي نقوم بإنشاء النفق بينها
  5. حدد عناوين SA ووضع النفق ومقترحات لتشفير حركة المرور
  6. تحرير قاعدة NAT

Mikrotik1


خيار وحدة التحكم:


 #1 /ip ipsec peer profile add dh-group=modp2048 enc-algorithm=aes-128 hash-algorithm=sha256 name=ipsec-tunnel-ike nat-traversal=no #2 /ip ipsec peer add address=10.20.20.20/32 exchange-mode=ike2 profile=ipsec-tunnel-ike secret=test-ipsec #3 /ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-cbc name=ipsec-tunnel-sa #4-5 /ip ipsec policy add dst-address=192.168.200.0/24 proposal=ipsec-tunnel-sa sa-dst-address=10.20.20.20 sa-src-address=10.10.10.10 src-address=192.168.100.0/24 tunnel=yes #6 /ip firewall nat set 0 ipsec-policy=out,none 

Mikrotik2


خيار وحدة التحكم:


 #1 /ip ipsec peer profile add dh-group=modp2048 enc-algorithm=aes-128 hash-algorithm=sha256 name=ipsec-tunnel-ike nat-traversal=no #2 /ip ipsec peer add address=10.10.10.10/32 exchange-mode=ike2 profile=ipsec-tunnel-ike secret=test-ipsec #3 /ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-cbc name=tets-ipsec-sa #4-5 /ip ipsec policy add dst-address=192.168.100.0/24 proposal=tets-ipsec-sa sa-dst-address=10.10.10.10 sa-src-address=10.20.20.20 src-address=192.168.200.0/24 tunnel=yes #6 /ip firewall nat set 0 ipsec-policy=out,none 

وهنا NAT؟

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


أذكر تدفق الحزمة. تمر الحزم عبر Source Source في وقت سابق عن سياسات IPSec ، ولا تعرف القاعدة ذات المهزلة أي شيء يرمي إلى إرسال حركة المرور إلى النفق "المؤقت" وسوف تبث رؤوس الحزم ليتم إرسالها إلى IPSec عندما يتم التحقق من الحزمة ذات الرأس الذي تم تغييره في عنوان مصدر السياسات في لن يتلاءم الرأس مع القاعدة وستنتقل الحزمة إلى المسار الافتراضي ، والذي من المحتمل أن يسقطها بعد رؤية عنوان الوجهة من الشبكة الخاصة.


هناك العديد من الحلول للمشكلة:


  • باستخدام طريق وهمية
  • باستخدام قاعدة قبول اختيارية قبل SourceNAT
  • تخضع src-nat فقط لتلك الحزم التي لا توجد بها سياسات IPSec (في المثال)
  • استبعد حركة المرور من تتبع الاتصال باستخدام RAW

تحقق من اتصال المنشأة
الصورة


  1. نرى جارة في أقرانهم عن بعد
  2. نرى SA المثبتة (لن تتغير عدادات المرور حتى تبدأ)
  3. في السياسة ، وضع الراية والعلم (أ) ctive

IPIP / IPSec



مسبقا IPIP النفق:


 #Mikrotik1 #  ipip /interface ipip add allow-fast-path=no clamp-tcp-mss=no name=ipip-vpn remote-address=10.20.20.20 # ip   ipip  /ip address add address=10.30.30.1/30 interface=ipip-vpn #     /ip route add distance=1 dst-address=192.168.200.0/24 gateway=10.30.30.2 #Mikrotik2 # ,      /interface ipip add allow-fast-path=no clamp-tcp-mss=no name=ipip-vpn remote-address=10.10.10.10 /ip address add address=10.30.30.2/30 interface=ipip-vpn /ip route add distance=1 dst-address=192.168.100.0/24 gateway=10.30.30.1 

تكوين خطوة بخطوة IPSec:


  1. إنشاء اقتراحات لـ IKE Phase1
  2. اصنع وليمة حدد العنوان والمقترحات ووضع التبادل ومفتاح PSK
  3. إنشاء مقترحات لـ SA
  4. حدد الشبكات الفرعية التي نقوم بإنشاء النفق بينها
  5. نحدد عناوين SA ، ونوع حركة المرور التي سنقوم بتشفيرها والمقترحات

Mikrotik1


خيار وحدة التحكم:


 #1 /ip ipsec peer profile add dh-group=modp2048 enc-algorithm=aes-128 hash-algorithm=sha256 name=ipsec-tunnel-ike nat-traversal=no #2 /ip ipsec peer add address=10.20.20.20/32 exchange-mode=ike2 profile=ipsec-tunnel-ike secret=test-ipsec #3 /ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-cbc name=ipsec-tunnel-sa #4-5 /ip ipsec policy add dst-address=10.20.20.20/32 proposal=ipsec-tunnel-sa protocol=ipencap src-address=10.10.10.10/32 sa-dst-address=10.20.20.20 sa-src-address=10.10.10.10 

Mikrotik2


 #1 /ip ipsec peer profile add dh-group=modp2048 enc-algorithm=aes-128 hash-algorithm=sha256 name=ipsec-tunnel-ike nat-traversal=no #2 /ip ipsec peer add address=10.10.10.10/32 exchange-mode=ike2 profile=ipsec-tunnel-ike secret=test-ipsec #3 /ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-cbc name=tets-ipsec-sa #4-5 /ip ipsec policy add dst-address=10.10.10.10/32 proposal=tets-ipsec-sa protocol=ipencap src-address=10.20.20.20/32 sa-dst-address=10.10.10.10 sa-src-address=10.20.20.20 

بالنسبة إلى عدم الانتباه ، الفرق الحقيقي في تكوين النفق ووضع النقل في نُهج IPSec:
الصورة


فحص الاتصال مشابه لوضع النفق.


L2TP / IPSec


تعد الأمثلة السابقة مناسبة تمامًا لإنشاء شبكات VPN دائمة بين زميلين ، مع عناوين IP خارجية ثابتة.


إذا كان عنوان أحد الأقران ديناميكيًا (وعادةً ما يقع خلف NAT) ، فيجب عليك استخدام VPN Client-to-Server آخر.
الصورة


L2TP التكوين المسبق:


 #     /ip pool add name=pool-l2tp ranges=192.168.77.10-192.168.77.20 #    /ppp profile add change-tcp-mss=yes local-address=192.168.77.1 name=l2tp-ipsec only-one=yes remote-address=pool-l2tp use-compression=no use-encryption=no use-mpls=no use-upnp=no #   /ppp secret add name=user1 password=test1 profile=l2tp-ipsec service=l2tp add name=user2 password=test2 profile=l2tp-ipsec service=l2tp add name=user3 password=test3 profile=l2tp-ipsec service=l2tp #  L2TP (  ipsec) /interface l2tp-server server set authentication=chap,mschap2 default-profile=l2tp-ipsec enabled=yes 

لماذا أتجاهل الضبط التلقائي لـ IPsec

في تكوين ipip ، gre ، eoip ، l2tp ، يوجد تكوين تلقائي لاتصال ipsec ، في الواقع ، يقوم النظام بإنشاء قواعد ديناميكية للنظراء والسياسات من أجلك ، لكن أولاً لا نبحث عن طرق سهلة ، وثانياً ، عند الترقية من 6.42 إلى 6.43 ، يتم إنشاء الأنفاق تلقائيًا كسر وليس حقيقة أن هذا لن يحدث مرة أخرى.


تكوين خطوة بخطوة IPSec:


  1. إنشاء مجموعة جديدة (يمكنك استخدام الافتراضي)
  2. إنشاء اقتراحات لـ IKE Phase1
  3. نخلق وليمة ، أو بالأحرى شبكة فرعية. يقسم على مفتاح PSK ، ولكن إذا كنا نتعامل مع windows كعميل ، فلدينا خيار: الشهادات أو PSK.
  4. اضبط الكامن = نعم و send-init-contact = لا ، في سياسة التوليد = منفذ صارم (قبول منفذ من العميل)
  5. إنشاء مقترحات لـ SA
  6. إنشاء قالب لإنشاء السياسات
  7. تحديد اقتراح SA

تكوين Mikrotik

الصورة
في لقطة الشاشة ، الخطأ هو تحديد التوقيت الصيفي. الميناء و src. ليست هناك حاجة الميناء


خيار وحدة التحكم:


 #1 /ip ipsec policy group add name=l2tp-ipsec #2 /ip ipsec peer profile add dh-group=modp1024 enc-algorithm=aes-256 hash-algorithm=sha256 name=l2tp-ipsec-ike #3-4 /ip ipsec peer add address=0.0.0.0/0 generate-policy=port-strict passive=yes policy-template-group=l2tp-ipsec profile=l2tp-ipsec-ike secret=secret-ipsec-pass send-initial-contact=no #5 /ip ipsec proposal add auth-algorithms=sha256,sha1 enc-algorithms=aes-256-cbc,aes-128-cbc name=l2tp-ipsec-sa pfs-group=none #6-7 /ip ipsec policy add dst-address=0.0.0.0/0 group=l2tp-ipsec proposal=l2tp-ipsec-sa protocol=udp src-address=0.0.0.0/0 template=yes 

تكوين جدار الحماية لإنشاء اتصالات L2TP فقط بعد IPSec


 /ip firewall filter # IKE, NAT-T  ipsec-esp add chain=input protocol=17 dst-port=500,4500 action=accept add chain=input protocol=50 action=accept # L2TP,     ipsec    add chain=input protocol=17 dst-port=1701 ipsec-policy=in,ipsec action=accept add chain=input protocol=17 dst-port=1701 action-drop 

VPN IKEv2


يعد خيار L2TP شائعًا ، ولكن بفضل تهيئة الوضع ، يمكنك تكوين خادم VPN باستخدام IPSec فقط. هذا نوع واعد من VPN ، ولكن نادراً ما يستخدم ، لذلك بالإضافة إلى تهيئة جانب الخادم ، سأقدم مثالاً على إعداد عميل strongSwan على نظام Android.


الصورة


بالطبع ، ليس كل شيء وردية للغاية. توافق معظم أنظمة التشغيل "المستخدم" (خاصة Windows و Android) على العمل مع VPN مثل فقط إذا كانت مصادقة بواسطة شهادات أو EAP.


الشهادات هي نقطة ضعفي ، إذا كان أي شخص يعرف كيفية إنشاء شهادة موقعة ذاتيًا بشكل صحيح والتي يستوردها Windows وسيستخدمها في الاتصال ، فاكتب في التعليقات.


الجيل الأولي من الشهادات:


 #Root CA   /certificate add name=ca common-name="IKEv2 CA" days-valid=6928 /certificate sign ca ca-crl-host=<IP > #   vpn /certificate add common-name=<IP > subject-alt-name=IP:<IP > key-usage=tls-server name=vpn days-valid=6928 #   /certificate sign vpn ca=ca #   #       ,       #     Revoke   /certificate add common-name=client key-usage=tls-client name=client days-valid=6928 #   /certificate sign client ca=ca 

تكوين خطوة بخطوة لـ IKEv2 VPN:


  1. نقوم بإنشاء مجموعة من العناوين لتوزيعها على العملاء
  2. إنشاء ملف تعريف تكوين الوضع لتوزيع معلمات IP للعملاء
  3. قم بإنشاء مجموعات لربط قوالب النظراء والسياسات
  4. إنشاء اقتراحات لـ IKE Phase1
  5. إنشاء ملف تعريف لربط أقرانهم. مصادقة الشهادة ، بروتوكول IKEv2 ، الوضع السلبي
  6. حدد ملف تعريف تهيئة الوضع ، مجموعة من 3 خطوات وتمكين إنشاء السياسة
  7. إنشاء مقترحات لـ SA
  8. إنشاء قالب لإنشاء السياسات
  9. حدد المقترحات لـ SA

تكوين Mikrotik

الصورة


 #1 /ip pool add name=pool-ike ranges=192.168.77.10-192.168.77.20 #2 /ip ipsec mode-config add address-pool=pool-ike address-prefix-length=32 name=ikev2-vpn static-dns=77.88.8.8 system-dns=no #3 /ip ipsec policy group add name=ikev2-vpn #4 /ip ipsec peer profile add enc-algorithm=aes-256,aes-128 hash-algorithm=sha256 name=ikev2-vpn #5-6 /ip ipsec peer add address=0.0.0.0/0 auth-method=rsa-signature certificate=vpn exchange-mode=ike2 generate-policy=port-strict mode-config=ikev2-vpn passive=yes policy-template-group=ikev2-vpn profile=ikev2-vpn send-initial-contact=no #7 /ip ipsec proposal add auth-algorithms=sha256,sha1 enc-algorithms=aes-256-cbc,aes-128-cbc name=ikev2-vpn #8-9 /ip ipsec policy add dst-address=0.0.0.0/0 group=ikev2-vpn proposal=ikev2-vpn src-address= 0.0.0.0/0 template=yes 

التكوين StrongSwan على الروبوت.

تحتاج أولاً إلى نقل شهادات العميل وكاليفورنيا إلى الهاتف.
https://habrastorage.org/webt/tp/pk/ad/tppkadaifd1k7xi6hf3jxgg7vcs.png


للعيون الكبيرة: صليب قرب واي فاي يقف ل يتم حظر معظم تطبيقات النظام بواسطة AFWall +.


إذا كان الاتصال ناجحًا ، فسترى: السياسة الديناميكية والكتابة إلى أقرانهم عن بُعد وزوج من SAs.


الصورة


الصورة


الصورة


ليس لدى تراخيص RouterOS x86 التجريبية قيود على عدد أنفاق IPSec ، بما في ذلك IKEv2 VPN. يمكنك نشر العرض التوضيحي RouterOS x86 (لا تخلط بين RouterOS CHR مجانًا ، كل شيء محزن) على VPS والحصول على خادم VPN شخصي بأقل جهد إداري ، دون شراء ترخيص لـ RouterOS أو RouterOS CHR.


بضع كلمات حول تحليل سجل IPSec


السجلات في Mikrotik هي قصة منفصلة ، وأحيانًا تكون مفصلة بما يكفي لتحليل المشكلات ، ولكن الافتقار إلى ميزات عادية: نظيفة ، ونسخ ، والعثور على القوة لتثبيت خادم سجل منفصل.


بالنسبة إلى IPSec ، إليك خيار تحليل السجل السريع (نترك فقط ما هو ضروري في علامة تبويب منفصلة):


الصورة


 /system logging action add memory-lines=100000 name=ipsec target=memory /system logging add action=ipsec topics=ipsec,error add action=ipsec topics=ipsec,debug,!packet add action=ipsec topics=ipsec,info 

وبعض الأمثلة على مشاكل تكوين IPSec النموذجية:


مشكلة تناسق المقترحات في المرحلة الأولى

الصورة


  1. اقرأ رسالة الخطأ. المشكلة هي عند التوفيق بين المقترحات في المرحلة الأولى.
  2. ننظر أعلاه ، جهاز التوجيه نفسه يشير إلى أنه أرسل وليمة ، وما تم تكوينه محليا

مشكلة تسوية المشكلة IKE_SA_INIT

في السجلات ، سترى شيئًا مما يلي:



تحليل حركة المرور


في الطلب ، يمكنك رؤية مقترحات من المأدبة:



في الإجابة نرى أنه لم يتم العثور على مقترحات مناسبة:



مسألة تسوية المقترحات لـ SA


يطالب جهاز التوجيه بوجود خطأ في المقترحات في المرحلة 2 ويظهر ما تم تكوينه محليًا وما هو بعيد.


المقترحات IKE_AUTH مشكلة التسوية


نرى أنه كان هناك اتصال ومصادقة من الأقران ، ولكن خطأ إضافي المقترحات. لن ترى أي تفاصيل في تصحيح الأخطاء ، أو في wireshark إما (يتم تشفير حركة مرور IKE_AUTH).


خطأ مصادقة PSK

ل IKE:



ل IKEv2:


وضع IKE غير صحيح

الصورة
نرى أن المرحلة الأولى تنقضي في المهلة ، على الرغم من أن الحزم تمر بين الأقران. ولكن حجم الحزمة الواردة أكبر بكثير ، إذا حللنا من خلال wireshark ، فسنرى أن النظير البعيد يستخدم الوضع العدواني.



نرى أن الحزم يتم إرسالها منا إلى UDP: 500 ، وأنها تأتي إلى UDP: 4500 وهي كبيرة إلى حد ما. هنا يحتوي النظير البعيد على وضع IKEv2.


أخيرًا ، اقرأ قسم تحرّي الخلل وإصلاحه في الويكي . وجميع المواد المتعلقة بـ IPSec مرغوبة للتعارف ، لقد وصفت المجموعة الأساسية فقط من الأدوات والإعدادات.

Source: https://habr.com/ru/post/ar438176/


All Articles