الهجوم الذي سوف أتحدث عنه اليوم خطير جدا وذلك بسبب قدرته على تخريب الشبكة بشكل كامل بالأضافة إلى أمكانية المهاجم في التنصت على كل مايجري في الشبكة وأقصد بهذا ليس فقط السويتش الذي ينتمي إليه المهاجم بل كل السويتشات الموجودة على الشبكة ويمكن أن نطلق عليه STP manipulation أو
BPDU attack
مقدمة عن بروتوكول الـ Spanning Tree
كما هو معروف عند الجميع أن بروتوكول الـ STP يلعب دورا كبيرا في الشبكة في منع مايعرف بي الـ loop أو Broadcast Storm ويتم ذلك عن طريق أنتخاب سويتش واحد ليكون Root Bridge ويتم الأختيار حسب أقل Bridge ID موجود على الشبكة وبعدها يتم أختيار البورتات التى يجب أن تعمل أو تتوقف أعتمادا على الـ Cost أو التكلفة للوصول للـ Root Bridge وكل هذه الأمور تتم عن طريق مايعرف بي BPDU وطبعا هذا الكلام معروف عند الجميع
كيف يتم هذا النوع من الهجوم ؟
الهجوم كغيره فكرته بسيطة وتأثيره كبير جدا وهو يتم عن طريق أرسال BPDU مزور يخبر فيه المهاجم السويتش الذي يرتبط معه بأنه يملك أقل Bridge ID على الشبكة وبانه يجب ان يكون هو الـ Root Bridge وبالتالي سوف تتم أعادة توزيع البورت على كل السويتشات وهذه بعض الصور لتبسيط الموضوع
الصورة الاولى نرى فيها التوزيع الطبيعي للشبكة ونرى أيضا أن السويتش A هو الـ Root Bridge على الشبكة والخطوط الحمراء خاصة بي الـ STP ونرى أن المهاجم الموجود على الجهاز رقم 2 يقوم بأرسال BPDU مزور إلى السويتش
في الصورة الثانية سوف نشاهد ماذا سوف يحدث بعد أن يقوم المهاجم بتغيير المخطط
وسوف نلاحظ ان كل شيء قد تغيير وأصبح كل الترافيك الذي يعبر عبر الشبكة يمر عبر الشخص المهاجم وبالتالي أصبح عندنا الهجوم الذي يعرف بي MITM أو Man In The Middle
كيف أحمي شبكتي من هذا النوع من الهجوم ؟
سيسكو تقترح عليك 3 طرق للحماية من هذا الهجوم الأولى
BPDU Guard خاصية تخبر فيها البورت أن لا يستقبل أي نوع من رسائل الـ BPDU وفي حال أستلام البورت لاي BPDU سوف يقوم بتحويل حالة البورت إلى errdisable أي سوف يتم اغلاق البورت بشكل كامل
وطريقة الأعداد تتم على الشكل التالي :
أدخل أولا على البورت الغير أمن وأكتب فيه الأمر التالي
Switch(config)#spanning-tree bpduguard enable
Switch(config)#spanning-tree bpduguard enable
واذا أردت أن تقوم بتفعيل هذه الخاصية على كل البورتات التى تكون في حالة PortFast أكتب الأمر التالي في الـ Config mode
Switch(config)#spanning-tree portfast bpduguard default
Switch(config)#spanning-tree portfast bpduguard default
BPDU Root في هذه الخاصية أخبر السويتش بأن هذه البورت لن يكون أبدا Root Bridge وتتم من خلال هذا الأمر
Switch(config-if)#spanning-tree guard root
Switch(config-if)#spanning-tree guard root
BPDU Filtering هذه الخاصية هي نفس الخاصية الأولى تماما والفرق الوحيد هو أن هذه الخاصية تتيح لك أن تحدد ماذا تريد للبورت أن يفعل في حال أستلم BPDU بعكس الـ BPDU Guard الذي سوف يقوم بأغلاق البورت بشكل مباشر وطريقة الأعداد هي كالتالي:
على البورت
Switch(config-if)#spanning-tree bpdufilter enable
Switch(config-if)#spanning-tree bpdufilter enable
واذا أردت أن تقوم بتفعيل هذه الخاصية على كل البورتات التى تكون في حالة PortFast أكتب الأمر التالي في الـ Config mode
Switch(config)#spanning-tree portfast bpdufilter default
Switch(config)#spanning-tree portfast bpdufilter default
ودمتم بود
Ayman Alnaimi أيمن النعيمي
www.afinis.co.cc : المصدر
ضع تعليقك
0 commentaires:
إرسال تعليق