قم بتكوين mod_evasive لمنع هجمات DoS و DDoS على CentOS

في هذه المقالة ، سوف نتعلم كيفية تثبيت وتكوين mod_evasive لمنع هجوم DoS و DDoS على CentOS.

في هذا العرض التوضيحي ، استخدمنا خادم CentOS 7 64 بت المخصص.

هيا بنا نبدأ.

وحدة اباتشي mod_evasive. يساعد في الحفاظ على هجمات رفض الخدمة الموزعة (DoS & DDoS) وهجمات القوة الغاشمة على خادم الويب Apache. يعمل mod_evasive من خلال مراقبة الطلبات الواردة والإبلاغ عن إساءة الاستخدام عبر مرافق البريد الإلكتروني وسجل النظام. الغرض منه هو أن يكون أداة للكشف وإدارة الشبكة ويتم تكوينه بسرعة للتواصل مع ipchains وجدران الحماية وأجهزة التوجيه والمزيد.

يراقب mod_evasive الطلبات المشبوهة ويرفض أي عنوان IP واحد من أي مما يلي:

  • طلب نفس الصفحة أكثر من عدة مرات في الثانية
  • عمل أكثر من 50 طلبًا متزامنًا على نفس الطفل في الثانية
  • تقديم أي طلبات أثناء إدراجه في القائمة السوداء مؤقتًا

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

  • CentOS 7 64-bit خادم مخصص أو خادم سحابي (إنه يعمل أيضًا مع CentOS 6)
  • تم تثبيت Apache Webserver LAMP (Linux و Apache و MySQL و PHP) وتهيئته
  • خادم البريد

1. حافظ على الخادم محدثًا:

# yum update -y

2. تثبيت EPEL (حزم إضافية لـ Enterprise Linux):

# yum install epel-release -y

3. تثبيت المتطلبات الأساسية لـ mod_evasive:

# yum install httpd-devel

4. تثبيت mod_evasive:

# yum install mod_evasive -y

الآن ، تم تثبيت mod_evasive

5. لإضافة التكوين mod_evasive إلى ملف تكوين Apache:

بشكل افتراضي ، ستتم إضافة سطر LoadModule في ملف التكوين mod_evasive.conf. افتح الملف وأضف السطر التالي إذا لم يكن موجودًا بالفعل.

# vi /etc/httpd/conf.d/mod_evasive.conf

LoadModule evasive20_module modules/mod_evasive24.so

افتح ملف التكوين mod_evasive.conf وتحقق من الإدخالات التالية.

DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSEmailNotify

يمكنك تكوين الإدخالات أعلاه حسب متطلباتك. قم بتعديل DOSEmailNotify إلى معرف البريد الإلكتروني الخاص بك.

لإضافة عنوان IP إلى القائمة البيضاء ، أضف السطر التالي في ملف التكوين:

DOSWhitelist 127.0.0.1

DOSWhitelist 127.0.0.*

يمكنك إضافة عدة عناوين IP أيضًا.

يحتاج إدخال آخر لتغيير DOSLogDir. بشكل افتراضي ، يشير إلى / tmp لآلية القفل.

إنشاء دليل جديد في / var / log / :

# mkdir /var/log/mod_evasive

تعيين الملكية لمستخدم اباتشي:

# chown -R apache:apache /var/log/mod_evasive

الآن ، قم بتحرير السطر التالي في تكوين mod_evasive وتعديل مسار الدليل:

DOSLogDir  /var/log/mod_evasive

احفظ واخرج من ملف التكوين mod_evasive.

بعد ذلك ، أعد تشغيل Apache:

# systemctl restart httpd.service

هذا كل شيء ، mod_evasive مثبتة ومهيأة.

تعرف على المزيد حول خيارات التكوين mod_evasive
تم أخذ أوصاف خيارات التكوين هذه مباشرة من ملف README.

الحجم

يحدد حجم جدول التجزئة عدد عقد المستوى الأعلى لكل جدول تجزئة للطفل. ستؤدي زيادة هذا الرقم إلى توفير أداء أسرع عن طريق تقليل عدد التكرارات المطلوبة للوصول إلى السجل ، ولكنها تستهلك المزيد من الذاكرة لمساحة الجدول. يجب عليك زيادة هذا إذا كان لديك خادم ويب مشغول. سيتم ترتيب القيمة التي تحددها تلقائيًا حتى الرقم الأولي التالي في قائمة ��لأعداد الأولية (انظر mod_evasive.c للحصول على قائمة من البادئات المستخدمة).

DOSPageCount

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

DOSSiteCount

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

DOSPageInterval

الفاصل الزمني لعتبة عدد الصفحات ؛ افتراضيات على فترات زمنية مدتها ثانية واحدة.

DOSSiteInterval

الفاصل الزمني لعتبة عدد المواقع ؛ افتراضيات على فترات زمنية مدتها ثانية واحدة.

DOSBlocking الفترة

فترة الحظر هي مقدار الوقت (بالثواني) الذي سيتم حظر العميل من أجله إذا تمت إضافته إلى قائمة الحظر. خلال هذا الوقت ، ستؤدي جميع الطلبات اللاحقة من العميل إلى 403 (ممنوع) ويتم إعادة تعيين المؤقت (على سبيل المثال 10 ثوانٍ أخرى). نظرًا لأنه يتم إعادة تعيين المؤقت لكل طلب لاحق ، فليس من الضروري وجود فترة حظر طويلة ؛ في حالة حدوث هجوم DoS ، سيستمر إعادة ضبط هذا المؤقت.

DOSEmailNotify

إذا تم تعيين هذه القيمة ، فسيتم إرسال بريد إلكتروني إلى العنوان المحدد عندما يصبح عنوان IP مدرجًا في القائمة السوداء. تمنع آلية القفل باستخدام / tmp إرسال رسائل البريد الإلكتروني المستمرة.

ملحوظة:

تأكد من ضبط MAILER بشكل صحيح في mod_evasive.c (أو mod_evasive20.c). الافتراضي هو "/ bin / mail -t٪ s" حيث يتم استخدام٪ s للإشارة إلى عنوان البريد الإلكتروني الوجهة المعين في التكوين. إذا كنت تعمل على نظام Linux أو نظام تشغيل آخر بنوع مختلف من جهاز الإرسال ، فستحتاج إلى تغيير هذا.

DOSSystemCommand

إذا تم تعيين هذه القيمة ، فسيتم تنفيذ أمر النظام المحدد عندما يصبح عنوان IP مدرجًا في القائمة السوداء. تم تصميم هذا لتمكين استدعاءات النظام لتصفية IP أو أدوات أخرى. تمنع آلية القفل التي تستخدم / tmp مكالمات النظام المستمرة. استخدم٪ s للإشارة إلى عنوان IP الخاص بـ IP المدرج في القائمة السوداء.

DOSLogDir

اختيار دليل مؤقت بديل
بشكل افتراضي ، سيتم استخدام "/ tmp" لآلية القفل ، والتي تفتح بعض مشكلات الأمان إذا كان نظامك مفتوحًا لمستخدمي shell. في حالة وجود مستخدمي shell غير مميزين ، سترغب في إنشاء دليل قابل للكتابة فقط للمستخدم الذي يعمل Apache (عادةً الجذر) ، ثم قم بتعيين هذا في httpd.conf.

في هذه المقالة ، قمنا بتغطية كيفية قيام مهندس الدعم بتثبيت وتكوين mod_evasive لمنع هجوم DoS و DDoS على CentOS.


كيفية تحديث عناصر المجلد في Windows 11

كيفية تحديث عناصر المجلد في Windows 11

مع فقدان خيار التحديث في قائمة السياق ، إليك كيف يمكنك تحديث العناصر في File Explorer على Windows 11.

كيفية إصلاح خطأ ترتيب النسخ utf8mb4_0900_ai_ci عند استيراد قاعدة بيانات WordPress

كيفية إصلاح خطأ ترتيب النسخ utf8mb4_0900_ai_ci عند استيراد قاعدة بيانات WordPress

إذا كنت تقوم بتبديل تثبيت WordPress الخاص بك من خادم MySQL 8 إلى MySQL 5.7 (أو أقل) ، فستواجه على الأرجح

كيفية تعيين المحرر الكلاسيكي كمحرر افتراضي في WordPress بدلاً من Gutenberg

كيفية تعيين المحرر الكلاسيكي كمحرر افتراضي في WordPress بدلاً من Gutenberg

سيصبح محرر Gutenberg قريبًا المحرر الافتراضي في WordPress. سيكون لديك خيار تحديد المحرر الكلاسيكي

كيفية إصلاح مشاكل WordPress 5.0

كيفية إصلاح مشاكل WordPress 5.0

تم طرح الإصدار 5.0 من WordPress أخيرًا وهو يجلب معه تجربة تحرير جديدة تمامًا مع Gutenberg

🔧 إصلاح: يبدو أن تثبيت PHP الخاص بك يفتقد إلى ملحق MySQL المطلوب بواسطة WordPress

🔧 إصلاح: يبدو أن تثبيت PHP الخاص بك يفتقد إلى ملحق MySQL المطلوب بواسطة WordPress

هل تتطلع إلى تشغيل موقع WordPress تتم إدارته ذاتيًا؟ رائعة. ستتعلم الكثير من الأشياء. أحد الأجزاء الحاسمة في الإعداد

كيفية تعطيل محرر الحظر وتثبيت Classic Editor في WordPress 5.0

كيفية تعطيل محرر الحظر وتثبيت Classic Editor في WordPress 5.0

بدءًا من الإصدار 5.0 من WordPress ، فإن المحرر الافتراضي في WordPress هو محرر Block الجديد. المحرر الجديد مختلف جذريا

تصحيح: واجه المحرر خطأ غير متوقع في WordPress بعد التحديث

تصحيح: واجه المحرر خطأ غير متوقع في WordPress بعد التحديث

غير قادر على كتابة منشور جديد باستخدام محرر القوالب الجديد في WordPress؟ من المحتمل أن تحصل على "المحرر

كيفية تمكين علامات PHP القصيرة

كيفية تمكين علامات PHP القصيرة

في هذه المقالة ، تناولنا كيفية تمكين علامات PHP القصيرة. تحلل PHP الملف باستخدام علامات الفتح والإغلاق ، والتي تبدو مثل. لتمكين علامات PHP القصيرة

قم بتكوين mod_evasive لمنع هجمات DoS و DDoS على CentOS

قم بتكوين mod_evasive لمنع هجمات DoS و DDoS على CentOS

في هذه المقالة ، سوف نتعلم كيفية تثبيت وتكوين mod_evasive لمنع هجوم DoS و DDoS على CentOS. وحدة اباتشي mod_evasive.

كيفية تثبيت PHP مع PHP-FPM لـ NGINX على CentOS

كيفية تثبيت PHP مع PHP-FPM لـ NGINX على CentOS

كيفية تثبيت PHP مع PHP-FPM لـ NGINX على CentOS. التكوين الأساسي لخادم الويب NGINX لمعالجة تطبيق PHP وخادمه على المنفذ 80.