قم بتطبيق honeypot على أجهزة توجيه Cisco



لقد حدث لي أن أجعل على جهاز توجيه Cisco بعض مظاهر حزمة fail2ban المعروفة ، باستخدام جهاز التوجيه نفسه فقط.

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

لفهم هذه المقالة ، تحتاج إلى معرفة ما هي قوائم الوصول وما هي من أجلها ، وكذلك معرفة كيفية استخدام مجموعات الكائنات في قوائم الوصول.

قائمة الوصول الفخاخ


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

ip access-list extended acl-WAN-In … deny tcp any any eq telnet log HONEYPOT001 … 

من المهم اختيار المعايير المناسبة للفخاخ.

ربما تكون محاولات الاتصال من الخارج عبر المنفذ 23 (telnet) هي الأكثر شيوعًا. في هذه الحالة ، سيتم ملء مجموعة الكائنات على الفور بعناوين IP للروبوتات من جميع أنحاء الإنترنت ، وستنتهي الذاكرة المخصصة لقوائم الوصول.

يمكنك إجراء محاولات للاتصال بالمعدات الخاصة بك على المنفذ 22 (ssh). فهي ترتيب أقل من حجم التلنت. يمكنك تجربة محاولات الوصول إلى أي جهاز من أجهزتك.

يزحف عدد كبير من برامج الروبوت على المنفذ 7547 ، في محاولة للاتصال باستخدام بروتوكول إدارة CPE WAN.

هناك خيار آخر يتمثل في جذب محاولات استخدام عميل التثبيت الذكي الذي تم تمكينه على المنفذ 4786.

يمكنك أيضًا تعيين فخ على المنفذ 80 من خلال تحديد عنوان IP ليس لديك خادم ويب عليه. الشيء الرئيسي هنا هو أن الروبوتات محرك البحث لا تقع فيه.

فيما يلي مثال على فخ على عنوان IP [192.0.2.10].

 ip access-list extended acl-WAN-In … deny tcp any host 192.0.2.10 eq www log HONEYPOT002 … 

تحليل السجل


بالطبع ، يجب تشغيل تسجيل الدخول في جهاز التوجيه مسبقًا ، ثم يتم تسجيل شيء مثل هذا في السجل:

 225435: Jan 11 08:57:13.838: %SEC-6-IPACCESSLOGP: list acl-WAN-In denied tcp 123.199.32.7(59472) -> 192.0.2.9(23), 1 packet [HONEYPOT001] 

نرى أنه جرت محاولة للوصول إلى المنفذ الثالث والعشرين لعنوان IP الخاص بنا [192.0.2.9] من عنوان IP الخارجي [123.199.32.7]. التسمية "HONEYPOT001" في السطر موجودة أيضًا. بالمناسبة ، [123.199.32.7] هو مهاجم حقيقي اشتعلت أثناء كتابة مقال.

لتحليل السجل ، سوف نستخدم Embedded Event Manager (EEM) ، وهي أداة أتمتة المهام وضبط سلوك البرامج المضمنة في Cisco IOS.

في وضع التكوين الخاص بالموجه ، أنشئ تطبيقًا صغيرًا يحلل السجل ، وعندما تكون التسمية "HONEYPOT001" في سطر السجل ، تقوم بقطع عنوان IP للمهاجم وإضافة هذا العنوان إلى مجموعة كائنات BlackList المضيفة.

 event manager applet honeypot event syslog occurs 1 pattern "HONEYPOT001" action 100 regexp "([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)" "$_syslog_msg" result IP_address action 200 if $_regexp_result eq "1" action 210 cli command "enable" action 220 cli command "conf t" action 230 cli command "object-group network hosts-BlackList" action 240 cli command "h $IP_address" action 250 cli command "end" action 260 syslog msg "IP address $IP_address added to blacklist" action 270 end action 300 cli command "exit" 

  • عندما يتم العثور على السطر التالي في السجل مع التسمية "HONEYPOT001" ، يحدث حدث ؛
  • في معالج الأحداث ، من سطر السجل وفقًا للنمط "([0-9] + \. [0-9] + \. [0-9] + \. [0-9] +)" يتم قطع عنوان IP للمهاجم وتعيينه متغير IP_address (الإجراء 100) ؛
  • إذا تم قطع العنوان بنجاح ، ولم تحدث مشكلات في تحليل السطر (الإجراء 200) ، فسيتم تنفيذ أوامر وحدة التحكم التي تضيف عنوان IP إلى مجموعة الكائنات (الإجراء 210 - 250) ؛
  • سجل مكتوب حول تشغيل المصيدة (الإجراء 260).

حظر الوصول


أول ما يتبادر إلى الذهن هو استخدام مجموعة الكائنات لحظر المهاجمين بالكامل على جميع موارد شبكتنا.

يجب أن تكون قاعدة الحظر في قائمة الوصول أعلى القاعدة مع الملاءمة حتى لا يقع عنوان IP المحظور في الملاءمة مرارًا وتكرارًا.

 ip access-list extended acl-WAN-In … deny ip object-group hosts-BlackList any … deny tcp any any eq telnet log HONEYPOT001 … 

العفو


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

في الطريق إلى الكتابة ، سنلتقي بعثرتين.

لا يمكنك حذف مجموعة الكائنات المستخدمة في قائمة الوصول. لذلك ، تحتاج أولاً إلى معرفة رقم سطر قائمة الوصول التي يتم استخدام المجموعة. في مثالنا ، هذا هو السطر 60. سنستخدم هذا الرقم لإزالة الخط مع المجموعة من قائمة الوصول ، ثم نعيده إلى مكانه الأصلي.

لا يمكنك إنشاء مجموعة كائنات فارغة. لذلك ، فور إنشاء مجموعة ، سنضيف عنوان IP [255.255.255.255] إليها. لا يتم إعادة توجيه هذا العنوان بواسطة أجهزة التوجيه التي تربط الشبكة المحلية بشبكات أخرى ، لذلك لا نتوقع اتصالات منها.

 event manager applet DeleteBlackList event timer cron name timer-cron1 cron-entry "@weekly" action 100 cli command "enable" action 200 cli command "conf t" action 210 cli command "ip access-list ext acl-WAN-In" action 215 cli command "no 60" action 220 cli command "exit" action 225 cli command "no object-group net hosts-BlackList" action 230 cli command "object-group net hosts-BlackList " action 240 cli command "host 255.255.255.255" action 245 cli command "exit" action 250 cli command "ip access-list ext acl-WAN-In" action 255 cli command "60 deny ip object-group hosts-BlackList any" action 260 cli command "exit" action 265 cli command "end" action 300 syslog msg "Completed" action 400 cli command "exit" 

  • إزالة القاعدة مع مجموعة الكائنات من قائمة الوصول. (الإجراء 210 - 220) ؛
  • حذف المجموعة نفسها (الإجراء 225) ؛
  • قم بإنشاء مجموعة الكائنات مرة أخرى ، وأدخل عنوان IP للبث فيه. (الإجراء 230 - 245) ؛
  • نعيد القاعدة إلى المكان القديم في قائمة الوصول. (العمل 250 - 260).

ما يجب فعله إذا كانت علامات قائمة الوصول غير معتمدة


العديد من IOSs ، على الرغم من حقيقة أن وظيفة "Syslog Correlation ACL" قد تم الإعلان عنها فيها ، لا تسمح بوضع علامات على سلاسل قائمة الوصول إلى العلامات.

في هذه الحالة ، يمكنك استخدام ما يسمى قيم التجزئة ولدت. (قيمة تجزئة تم إنشاؤها بواسطة الجهاز) ستتم إضافتها إلى أسطر رسائل السجل.

إذا كان IOS-لا يدعم كلا الخيارين ، فسوف تضطر إلى تعقيد التحليل قليلاً.
نقوم بتعديل القاعدة مع فخ في قائمة الوصول. بدلاً من "log" ، سنستخدم "log-input".

 ip access-list extended acl-WAN-In … deny tcp any any eq telnet log-input … 

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

 Jan 11 00:20:23 172.25.100.43 2394768: Jan 10 20:20:22.808: %FMANFP-6-IPACCESSLOGP: SIP1: fman_fp_image: list acl-WAN-In denied tcp 123.199.32.7(7537) Port-channel1.88-> 192.0.2.9(23), 1 packet 


بعد ذلك ستتخذ قاعدة تفعيل الحدث في هذا النموذج:

 event syslog occurs 1 pattern "Port-channel1\.88-> 192\.0\.2\." 

ماذا تقرأ


حول التعريف الواضح للقواعد التي أدت إلى إنشاء الرسالة إلى السجل:
ACL سيسلوغ الارتباط

حول مدير الأحداث المدمجة:
دليل تكوين مدير الأحداث المضمّن

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


All Articles