كيف تدافع عن خادمك من هجمات CC، سأخبرك بما فعلته!

أتذكر في الصيف الماضي، كنت مشلولاً على الأريكة وأنا أنظف الدراما الدرامية، فجأةً أصبح الهاتف المحمول مثل أزيز مجنون يهتز دون توقف - كل بريد إنذار الخادم، وارتفع معدل استخدام وحدة المعالجة المركزية إلى 1001 تيرابايت 3 تيرابايت، يفتح الموقع ببطء مثل زحف الحلزون. لعنت أمي، فهم القلب: هذه الثمانين في المائة هي هجوم آخر على CC. لأكون صادقًا، بعد سنوات عديدة من التشغيل والصيانة، رأيت الكثير من هذه المشاهد، ولكن في كل مرة يمكنني أن أغضب في كل مرة من الأسنان، لأن المهاجمين يحبون دائمًا اختيار وقت متأخر من الليل، مما يجبرك على السهر طوال الليل لإخماد الحريق.

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

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

في هذه الأيام، حتى شبكات CDN يجب أن تكون ‘واقية من التزاوج"، ناهيك عن هذه الحيل المخادعة.

في ذلك الوقت كان لديّ خادم عاري بين يدي، واعتمدت على Nginx ليحملني بقوة، وكنت على الفور غارقًا في العمل. أدركت أنني لا أستطيع أن أفعل ذلك بمفردي، كان عليّ القيام بمجموعة من الأشياء. فيما يلي أشرح لك كيف قمت خطوة بخطوة ببناء نظام الدفاع، يمكنك الرجوع إليه، ولكن لا تنسخه، لأن كل سيناريو عمل مختلف.

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

ذيل -f /var/log/nginx/access.log | awk '{طباعة $1}' | فرز | uniq -c | فرز -nr | head -20

يسرد هذا السطر من التعليمات البرمجية أعلى 20 عنوان IP الأكثر طلبًا، ويحدد المشتبه بهم في لمحة سريعة. لكن القيام بذلك يدويًا بطيء جدًا، لذلك قمت بالفعل بإعداد قاعدة تنبيه في Zabbix ترسل لي تلقائيًا رسالة نصية إذا طُلب عنوان IP أكثر من 50 مرة في الثانية. لا تصدق هراء “المراقبة اختيارية”، فبدونها أنت مثل رجل أعمى يقاتل، فقط سلبي.

بعد تحديد مصدر الهجوم، يكون أول رد فعل لي هو حظر عنوان IP مؤقتًا، باستخدام iptables لسحب القابس على سبيل المثال:

iptables -A INPUT -s عنوان IP الخبيث -j DROP

لكن هذه الحيلة تعالج الأعراض وليس السبب الجذري، ويمكن للمهاجم أن يستمر في العبث بشريحة IP مختلفة. لذلك لجأت إلى تكوين الحد من المعدل في Nginx، وهي الطريقة المثلى. أضفت هذه الفقرة إلى nginx.conf:

يعني هذا الإعداد أن كل طلب IP يصل إلى 10 مرات في الثانية الواحدة، أكثر من جزء من ذاكرة التخزين المؤقت الأولى 20، ثم على خطأ الإرجاع المباشر 429.

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

 

بعد ذلك، قررت الانتقال إلى خدمة CDN لتصفية حركة المرور إلى عقد الحافة أولاً. في ذلك الوقت، قارنت العديد منها، واخترت في النهاية CDN07، لماذا؟

نظرًا لأن الحماية الذكية الخاصة بهم لا تهب حقًا، يمكنها تحديد الطلبات الضارة تلقائيًا استنادًا إلى التحليل السلوكي، ولكن أيضًا مع التسريع العالمي، فإن السعر معقول أيضًا. التكوين بسيط أيضًا، لقد قمت بقص تحليل اسم المجال إلى CNAME الخاص بهم، ثم افتح قواعد حماية CC في وحدة التحكم، يتم تعيين العتبة على 100 طلب في الثانية، أكثر من تحدي رمز التحقق. بعد الاستخدام، انخفض ضغط الخادم على الفور ثمانين في المائة، واستجابة خدمة العملاء سريعة أيضًا، مرة واحدة في منتصف الليل الهجوم، لقد ساعدوني 5 دقائق لمساعدتي في تعديل القواعد. في هذه الأيام، تعد شبكة CDN الجيدة مثل الحارس الشخصي الشخصي، مما يوفر الكثير من وجع القلب.

لم تكن شبكة CDN وحدها كافية، فقد أضفتُ جدار حماية تطبيقات الويب (WAF) على مستوى الخادم، باستخدام ModSecurity مفتوح المصدر.

بعد التثبيت، قمت بتخصيص بعض القواعد، مثل الحماية بالقوة الغاشمة لصفحة تسجيل الدخول:

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

كما قمت بتحسين موارد الخادم.

على سبيل المثال، قمت بتخزين استعلامات قاعدة البيانات مؤقتًا واستخدمت Redis لتخزين بيانات النقاط الساخنة لتقليل الضغط على MySQL مباشرةً. أضفتُ بعض الردود المتأخرة إلى الكود لإرجاع بيانات وهمية للطلبات المشبوهة، مما يستنزف موارد المهاجم. إنها مدمرة بعض الشيء، لكنها فعالة، وكتبت مثالاً بسيطاً على برنامج PHP النصي:

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

بالحديث عن ذلك، يجب أن أشكو من أن بعض البرامج التعليمية تحب دائمًا أن توصي بـ “أداة الحماية بنقرة واحدة”، وتنفخ في السماء، وقد جربت القليل منها، وكان التأثير غير متساوٍ، وبعضها يأتي مع باب خلفي.

لا توجد حل سحري للدفاع ضد هجمات CC، فالمفتاح هو العمق متعدد الطبقات: طبقة الشبكة تستخدم شبكة CDN لنقل حركة المرور، وطبقة التطبيق تستخدم WAF وتصفية الحد من المعدل، وطبقة البيانات تقوم بعمل جيد في التخزين المؤقت لتقليل السلبيات.

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

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

لقد جعلت من عادتي الاطلاع على ملخصات السجلات كل يوم، ومراقبة معلومات التهديدات الجديدة، وضبط القواعد حسب الضرورة. على سبيل المثال، في العام الماضي، كانت هناك موجة من الهجمات على الموارد الثابتة، لذلك قمتُ بالحد من سرعة دليل الصور في Nginx، وكان التأثير فورياً. باختصار، كن يقظًا واستمر في التعلم، وهو أمر أساسي.

بعد كل ذلك، أصبح الخادم الخاص بي الآن صلبًا كالصخرة، ولم يتعطل أبدًا بسبب هجوم CC مرة أخرى.

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

إن الطريق إلى الدفاع طريق طويل، ولكن إذا كنت على استعداد للتفكير في الأمر، يمكنك دائمًا العثور على الطريقة التي تناسبك.

الأخبار

اعتمد على عزل IP لإبعاد هجمات DDoS مباشرةً عن أعمالك الأساسية.

2026-3-16 16:31:19

الأخبار

هجمات الحرمان من الخدمة الموزعة + التسمم بالذكاء الاصطناعي: كيف نمنع أمن البيانات الضخمة؟ (النسخة الشائعة)

2026-3-21 21:48:57

0 رد Aالمؤلف Mالمشرف
    لا توجد تعليقات بعد. كن أول من يشارك برأيه!
الملف الشخصي
عربة التسوق
قسائم
تسجيل الدخول اليومي
رسالة جديدة الرسائل المباشرة
بحث