كيف يمكنك تكوين Fail2Ban لـ WordPress (WP-login ، XMLRPC)

باختصار ، ستجد في هذا البرنامج التعليمي خطوط الأوامر التي يمكنك من خلالها تثبيت وتكوين Fail2Ban لـ WordPress. تأمين مصادقة WordPress و XMLRPC.PhP الإجمالي الحمار.

غالبًا ما تكون المدونات والمواقع التي تم تطويرها على منصة WordPress أهدافًا للهجوم السيبراني. معظم الهجمات من نوع القوة الإجمالية وتستهدف جلسة المصادقة أو استغلال XML-RPC (استدعاء الإجراء عن بُعد باستخدام XML). لحسن الحظ ، يعد Fail2Ban حلًا أمنيًا مفيدًا للغاية لهذه المواقف. إذا كنت ترغب في تأمين موقع WordPress مع Fail2Ban ، اتبع خطوات التكوين في هذا البرنامج التعليمي.

بادئ ذي بدء ، تأكد من إمكانية الوصول إلى خادم الويب عن طريق اتصال SSH وأن يتم تثبيت تطبيق Fail2Ban.

تكوين Fail2Ban لـ WordPress على Debian

1. أولاً وقبل كل شيء عليك التأكد من تثبيت تطبيق Fail2Ban وأنه يعمل على الخادم. قم بتنفيذ سطر الأوامر أدناه:

systemctl status fail2ban

في الإخراج ، يجب أن ترى شيئًا من النموذج:

● fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; preset: enabled)
     Active: active (running) since Tue 2025-03-11 00:39:32 EET; 6 days ago
       Docs: man:fail2ban(1)
   Main PID: 917 (fail2ban-server)
      Tasks: 17 (limit: 76843)
     Memory: 33.2M
        CPU: 17min 1.752s
     CGroup: /system.slice/fail2ban.service
             └─917 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

إذا لم يتم تثبيت Fail2Ban على الخادم ، فستحتاج إلى تثبيته. قم بتنفيذ خط الطلب للتثبيت Fail2ban على Debian / Ubuntu:

sudo apt install fail2ban

2. الخطوة التالية هي إنشاء مرشح Fail2Ban لـ WordPress. قم بتنفيذ سطر الأوامر في الجهاز لإنشاء المرشح وتحريره wordpress.conf.

sudo nano /etc/fail2ban/filter.d/wordpress.conf

في الملف wordpress.conf يعين مرشحات مصادقة WordPress ومصادقة الملفات xmlrpc.php، على النحو التالي:

[Definition]
failregex = ^<HOST> -.*"(GET|POST).*(/wp-login.php|/xmlrpc.php).*" 200
ignoreregex =

هذا يعني أنه بأي طريقة ، GET أو POST، سيتم الوصول إلى ملفات wp-login.php أو xmlrpc.php ، يمكن إنشاء قاعدة لـ fail2ban. الشرط هو وجود هذه الملفات ويمكن الوصول إليها من قبل المهاجم. وهذا هو لإرجاع رمز 200 (موافق) للوصول.

يحفظ الملف /etc/fail2ban/filter.d/wordpress.conf.

3. الخطوة التالية هي التكوين “سجن” ل WordPress. في هذه الخطوة ، يتم الخلط بين معظم المستخدمين ، لأنه يجب وضع القواعد بشكل مختلف اعتمادًا على نظام إدارة الاستضافة (إذا كان موجودًا) أو تكوين خادم الويب.

إذا كنت تستخدم HESTIACP أو VESTACP أو MYVESTA ، فقم بإنشاء الملف وتحريره /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

أضف في هذا الملف الخطوط أدناه:

[wordpress]
enabled  = true
port     = http,https
filter   = wordpress
logpath  = /var/log/nginx/domains/*.log #or apache2.
maxretry = 5
findtime = 1800
bantime  = 3600
action   = hestia[name=WEB] #hestacp action.

اضبط المعلمات أعلاه وفقًا لاحتياجاتك. في التكوين المقدم من قبلي ، إذا كانت هناك 5 محاولات متكررة خلال 1800 دقيقة من نفس IP ، فسيتم حظرها لمدة 3600 دقيقة بمساعدة الويب HESTIACP. ((hestia[name=WEB]). ستحتاج هنا إلى المساعدة وفقًا للنظام الذي لديك على الخادم.

كما أنه مهم جدا و “logpath“. من هذه السجلات يتم استخراج البيانات على أساس أي الإجراء سيتم تنفيذها. تأكد من أن الموقع صحيح.

إذا لم يكن لديك نظام إدارة مثبت ، فسوف تحتاج iptables. سيكون خط العمل على النحو التالي:

action   = iptables-multiport[name=wordpress, port="80,443", protocol=tcp]

كقوس ، بدلا من /etc/fail2ban/jail.local يمكنك أيضًا استخدام ملف تكوين منفصل ، مثل: /etc/fail2ban/jail.d/wordpress.conf.

بعد إجراء التعديلات ، قم بتطبيق التغييرات.

sudo systemctl restart fail2ban

4. بعد إعادة التشغيل ، تحقق من أن Fail2Ban لأعمال WordPress:

fail2ban-client status wordpress
Status for the jail: wordpress
|- Filter
|  |- Currently failed:	355
|  |- Total failed:	33873
|  `- File list: (log files per domain)
- Actions
   |- Currently banned:	127
   |- Total banned:	680
   `- Banned IP list:

بعد العثور في هذه القائمة ، تم حظر IPS ، تأكد من حظرها وفي iptables. لقد قابلت الموقف أنه بسبب التكوين الخاطئ ، في Fail2Ban لأرى أنه عنوان IP محظور ، ولكن في الواقع لا يزال من الممكن الوصول إليه wp-login.php أو xmlrpc.php.

للتحقق مما إذا كان كل شيء يعمل بشكل صحيح ، اختر عنوان IP محظورًا من قائمة Fail2Ban وابحث عنه في Iptables.

قم بتنفيذ سطر الأوامر:

iptables -L -v -n --line-numbers

إذا تم العثور على IP الذي ظهر بواسطة Fail2Ban أيضًا في هذه القائمة ، فهذا يعني أنك قمت بتكوين Fail2Ban الصحيح لـ WordPress.

متعلق ب: كيفية إعادة تعيين كلمة مرور المستخدم في WordPress. دون الوصول إلى البريد الإلكتروني.

في الوقت نفسه ، يُنصح جدًا بالتحقق من السجل مع إجراءات Fail2Ban:

sudo tail -f /var/log/fail2ban.log

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

شغوفة بالتكنولوجيا ، أكتب بسرور على موقع Stealthsetts.com بدءًا من عام 2006. لدي تجربة غنية في أنظمة التشغيل: MacOS و Windows و Linux ، ولكن أيضًا في لغات البرمجة ومنصات التدوين (WordPress) والمتاجر عبر الإنترنت (WooCommerce ، Magento ، Presashop).

بيت مصدر دروس تكنولوجيا المعلومات الخاصة بك ونصائح وأخبار مفيدة. كيف يمكنك تكوين Fail2Ban لـ WordPress (WP-login ، XMLRPC)
اترك تعليقًا