كيفية حماية سيرفر Ubuntu من هجمات Brute Force باستخدام Fail2Ban وتأمين SSH
دليل عملي لتثبيت Fail2Ban على Ubuntu 24.04 وحظر محاولات تسجيل الدخول المتكررة وحماية الوصول إلى VPS

إذا كنت تدير سيرفر VPS يعمل بنظام Ubuntu ومتصلًا بالإنترنت، فمن المحتمل أن تتعرض خدمة SSH لمحاولات اتصال وتسجيل دخول غير مرغوب فيها، خاصة إذا كان السيرفر يستخدم عنوان IP عامًا.
وقد تشمل هذه المحاولات تجربة أسماء مستخدمين وكلمات مرور متعددة بهدف الوصول إلى السيرفر دون تصريح، وهو ما يُعرف بهجمات Brute Force أو هجمات التخمين المتكرر.
من الأدوات التي تساعد على الحد من هذه المحاولات برنامج Fail2Ban، الذي يراقب سجلات الخدمات ويطبق إجراءات حظر مؤقتة أو ممتدة على عناوين IP التي تستوفي شروطًا محددة.
في هذا الدليل من حكاية تقنية، سنتعلم كيفية حماية سيرفر Ubuntu باستخدام Fail2Ban، وتأمين خدمة SSH، وضبط قواعد الحظر، ومراجعة السجلات، واختبار الإعدادات دون المخاطرة بفقدان الاتصال بالسيرفر.
سنستخدم Ubuntu Server 24.04 LTS، مع افتراض أنك أعددت حسابًا إداريًا غير Root، وفعلت جدار الحماية UFW في المقالات السابقة.
تحذير مهم: أي خطأ في إعدادات SSH أو الجدار الناري قد يمنعك من الوصول إلى السيرفر. احتفظ بجلسة SSH الحالية مفتوحة، وتأكد من إمكانية الوصول إلى لوحة التحكم أو وحدة التحكم الطارئة التي يوفرها مزود VPS قبل تطبيق تغييرات حساسة.
ما هي هجمات Brute Force على السيرفرات؟
هجوم Brute Force هو محاولة الوصول إلى حساب عن طريق تجربة عدد كبير من كلمات المرور أو بيانات تسجيل الدخول.
وفي سياق SSH، قد يحاول المهاجم تسجيل الدخول باستخدام أسماء مستخدمين شائعة، مثل root أو admin، مع كلمات مرور مختلفة.
قد تكون المحاولات آلية وتصدر من عنوان واحد أو عدة عناوين.
لماذا تستهدف الهجمات خدمة SSH؟
لأن SSH يوفر وصولًا إداريًا إلى السيرفر.
وإذا تمكن شخص غير مصرح له من الحصول على حساب ذي صلاحيات مرتفعة، فقد يستطيع تعديل الملفات أو سرقة البيانات أو تشغيل برامج ضارة.
لكن يجب الانتباه إلى أن كثرة محاولات تسجيل الدخول الفاشلة لا تعني بالضرورة أن السيرفر تعرض للاختراق.
1. ما هو Fail2Ban وكيف يعمل؟
Fail2Ban أداة مفتوحة المصدر تراقب سجلات الخدمات وتبحث عن أنماط تدل على محاولات فاشلة أو نشاط غير مرغوب فيه.
تعتمد آلية عملها على ثلاثة عناصر رئيسية:
Filter: يحدد أنماط الرسائل التي يجب البحث عنها في السجلات.
Jail: يربط الفلتر بخدمة معينة ويحدد شروط الحظر.
Action: يحدد الإجراء الذي يُنفذ عند استيفاء شروط الحظر، مثل إضافة قاعدة في الجدار الناري.
مثال مبسط
لنفترض أن عنوان IP أجرى خمس محاولات تسجيل دخول فاشلة خلال عشر دقائق.
يمكن إعداد Fail2Ban لحظر هذا العنوان لمدة ساعة.
لكن هذه القيم ليست ثابتة، ويمكن تعديلها وفق احتياجات السيرفر.
هل Fail2Ban يمنع جميع الهجمات؟
لا.
فهو يساعد على تقليل محاولات التخمين المتكررة التي يمكن اكتشافها من السجلات، لكنه لا يضمن منع الهجمات الموزعة عبر آلاف العناوين، ولا يعالج الثغرات البرمجية أو كلمات المرور المسروقة.
ولهذا يجب استخدامه ضمن مجموعة إجراءات أمنية، وليس باعتباره حلًا وحيدًا.
2. الفرق بين Fail2Ban وUFW
يخلط بعض المبتدئين بين البرنامجين، رغم أن وظيفة كل منهما مختلفة.
| الأداة | الوظيفة الأساسية |
|---|---|
| UFW | إدارة قواعد الجدار الناري والسماح بالاتصالات أو منعها |
| Fail2Ban | تحليل سجلات الخدمات وتطبيق إجراءات حظر عند تحقق شروط معينة |
| SSH | توفير اتصال إداري مشفر بالسيرفر |
يمكن أن يعمل Fail2Ban مع نظام الجدار الناري لحظر العناوين المكتشفة.
بمعنى آخر، يحدد UFW قواعد الوصول الأساسية، بينما يضيف Fail2Ban استجابة آلية لبعض الأنشطة المسجلة.
3. التحقق من حالة SSH قبل البدء
اتصل بالسيرفر:
ssh adminuser@SERVER_IP
استبدل adminuser باسم حسابك وSERVER_IP بعنوان السيرفر.
تحقق من حالة SSH:
sudo systemctl status ssh
ثم اعرض المنفذ الذي تستمع عليه الخدمة:
sudo ss -ltnp | grep sshd
في الإعداد الافتراضي المعتاد، يستخدم SSH المنفذ 22، لكن قد يكون المنفذ مختلفًا إذا عدلته سابقًا.
مراجعة قواعد UFW
sudo ufw status numbered
تأكد من أن الجدار الناري يسمح بالاتصال بمنفذ SSH الفعلي قبل إجراء أي تعديل.
لا تغلق جلسة SSH الحالية أثناء الإعداد.
4. تحديث Ubuntu قبل تثبيت Fail2Ban
من الأفضل تثبيت التحديثات الأمنية المتاحة قبل إضافة أدوات حماية جديدة.
نفذ:
sudo apt update
ثم:
sudo apt upgrade
راجع الحزم التي سيجري تحديثها، خصوصًا على السيرفرات الإنتاجية.
قد تحتاج بعض تحديثات النظام إلى إعادة تشغيل لاحقة، لذلك نفذها في وقت صيانة مناسب.
5. تثبيت Fail2Ban على Ubuntu 24.04
يتوفر Fail2Ban ضمن مستودعات Ubuntu.
لتثبيته:
sudo apt install fail2ban
بعد اكتمال التثبيت، تحقق من الإصدار:
fail2ban-client --version
فحص حالة الخدمة
sudo systemctl status fail2ban
إذا لم تكن الخدمة نشطة، فقد تحتاج إلى إعداد Jail مناسب قبل تشغيلها.
سننشئ الإعداد في الخطوات التالية.
6. لماذا لا نعدل ملف jail.conf مباشرة؟
يحتوي Fail2Ban على إعدادات افتراضية، وقد توجد ملفات إعداد ضمن مجلد:
/etc/fail2ban/
من الأفضل وضع التعديلات المحلية في ملف مستقل، مثل:
/etc/fail2ban/jail.d/sshd.local
بدل تعديل ملف jail.conf الأساسي.
هذه الطريقة تساعد على فصل الإعدادات المخصصة عن الإعدادات التي توفرها الحزمة، وتقلل احتمالات فقدان التعديلات عند تحديث البرنامج.
7. إنشاء إعداد Fail2Ban لحماية SSH
سننشئ ملفًا مخصصًا لخدمة SSH.
نفذ:
sudo nano /etc/fail2ban/jail.d/sshd.local
أضف الإعداد التالي:
[sshd]
enabled = true
backend = systemd
port = ssh
maxretry = 5
findtime = 10m
bantime = 1h
شرح الإعدادات
enabled = true
يفعل مراقبة خدمة SSH.
backend = systemd
يجعل Fail2Ban يقرأ رسائل الخدمة عبر systemd journal، وهو اختيار مناسب لكثير من إعدادات Ubuntu الحديثة.
port = ssh
يشير إلى منفذ خدمة SSH المعروف في إعدادات النظام.
إذا كنت تستخدم منفذًا مخصصًا، فضع رقم المنفذ الصحيح بدل ssh.
maxretry = 5
يحدد عدد الإخفاقات التي تؤدي إلى الحظر وفق قواعد Jail.
findtime = 10m
يحدد نافذة زمنية مقدارها عشر دقائق.
bantime = 1h
يحدد مدة حظر مقدارها ساعة.
هذه قيم بداية مقترحة وليست إعدادات مثالية لجميع السيرفرات.
ماذا لو كنت تستخدم منفذ SSH مختلفًا؟
إذا كنت قد نقلت SSH إلى المنفذ 2222 مثلًا، فاستخدم:
port = 2222
وتأكد من توافق المنفذ مع إعدادات SSH وUFW.
8. فحص إعدادات Fail2Ban قبل تشغيلها
بعد حفظ الملف، نفذ:
sudo fail2ban-client -t
يساعد هذا الأمر على اختبار صلاحية الإعدادات.
إذا أبلغ عن خطأ، فلا تنتقل إلى الخطوة التالية قبل معرفة السبب.
قد تنشأ الأخطاء بسبب اسم خيار غير صحيح أو مشكلة في ملف الإعداد أو تعارض بين ملفات التهيئة.
تشغيل الخدمة
بعد نجاح فحص الإعدادات:
sudo systemctl enable --now fail2ban
وإذا كانت تعمل مسبقًا، فأعد تحميل إعداداتها بطريقة مناسبة:
sudo systemctl restart fail2ban
ثم افحص الحالة:
sudo systemctl status fail2ban
9. التأكد من تفعيل حماية SSH
استخدم الأمر:
sudo fail2ban-client status
يعرض قائمة Jail المفعلة.
يُفترض أن يظهر sshd إذا حُمّلت إعداداته بنجاح.
ولعرض تفاصيل حماية SSH:
sudo fail2ban-client status sshd
قد تظهر معلومات مثل:
- عدد محاولات الفشل الحالية.
- العدد الإجمالي لمحاولات الفشل المسجلة.
- عدد العناوين المحظورة حاليًا.
- قائمة العناوين المحظورة.
مهم: عدم وجود عناوين محظورة لا يعني أن Fail2Ban لا يعمل؛ فقد لا تكون هناك محاولات تستوفي شروط الحظر بعد.
10. كيف تتأكد من أن Fail2Ban يقرأ سجلات SSH؟
على Ubuntu 24.04، قد تُحفظ رسائل SSH ضمن systemd journal.
يمكن عرض الرسائل الأخيرة:
sudo journalctl -u ssh --since "1 hour ago"
كما يمكن مراجعة سجل Fail2Ban:
sudo journalctl -u fail2ban --since "1 hour ago"
وفي الإعدادات التي تستخدم ملف سجل مستقلًا، يمكن مراجعة:
sudo tail -n 50 /var/log/fail2ban.log
قد يختلف توفر ملف السجل بحسب طريقة التثبيت وإعدادات التسجيل.
ماذا تبحث عنه؟
ابحث عن الرسائل التي توضح بدء Jail أو اكتشاف إخفاقات أو تنفيذ عمليات حظر.
إذا كانت Jail تعمل لكن لا ترصد الأحداث المتوقعة، فتحقق من إعداد backend والفلتر والسجلات الفعلية لخدمة SSH.
11. اختبار Fail2Ban دون حظر نفسك
من الأخطاء الشائعة محاولة إدخال كلمة مرور خاطئة عدة مرات من الجهاز الذي تستخدمه لإدارة السيرفر.
قد يؤدي ذلك إلى حظر عنوان IP الخاص بك، خصوصًا إذا كنت تستخدم المصادقة بكلمة مرور.
الطريقة الأكثر أمانًا للاختبار الأولي
ابدأ بالتحقق من الإعدادات:
sudo fail2ban-client -t
ثم:
sudo fail2ban-client status sshd
وراجع السجلات للتأكد من تشغيل Jail.
إذا أردت إجراء اختبار حظر فعلي، استخدم بيئة اختبار منفصلة وعنوان IP تتحكم به، مع توفر وصول طارئ إلى السيرفر.
لا تختبر الحظر من اتصالك الإداري الوحيد.
هل يكفي نجاح فحص الإعدادات؟
لا.
فحص الإعدادات يثبت أن التهيئة قابلة للتحميل، لكنه لا يضمن أن قواعد الحظر تعمل كما تتوقع في جميع الحالات.
لذلك يُنصح باختبار عملي مضبوط قبل الاعتماد على الإعداد في بيئة مهمة.
12. كيفية عرض عناوين IP المحظورة
لعرض حالة Jail:
sudo fail2ban-client status sshd
ستجد قائمة بالعناوين المحظورة حاليًا، إن وجدت.
إلغاء حظر عنوان IP
إذا حُظر عنوان معروف بالخطأ، يمكن إلغاء حظره:
sudo fail2ban-client set sshd unbanip 203.0.113.10
العنوان المستخدم هنا مثال توثيقي فقط.
استبدله بعنوان IP المطلوب بعد التحقق منه.
تحذير: لا تُلغِ حظر عنوان مجهول لمجرد أنه يظهر في السجلات.
13. حماية عنوان IP الإداري من الحظر
يوفر Fail2Ban خيار ignoreip لاستثناء عناوين محددة من الحظر.
لكن يجب استخدامه بحذر.
إذا كنت تتصل بالسيرفر من عنوان IP ثابت وموثوق، فقد يكون من المناسب استثناؤه.
مثال:
[DEFAULT]
ignoreip = 127.0.0.1/8 192.0.2.10
العنوان 192.0.2.10 مثال توثيقي، وليس عنوانك الفعلي.
لماذا يجب الحذر؟
استثناء عنوان واسع أو شبكة كاملة قد يضعف الحماية.
كما أن استثناء عنوان IP ديناميكي قد يصبح غير مناسب إذا تغير مالكه أو طريقة استخدامه.
لا تستثنِ شبكات عامة أو عناوين لا تتحكم بها.
وفي كثير من الحالات، يكون الحفاظ على وسيلة وصول طارئة أكثر أمانًا من إنشاء استثناءات واسعة.
14. تفعيل الحظر التدريجي باستخدام Fail2Ban
يدعم Fail2Ban خيارات تسمح بزيادة مدة الحظر عند تكرار المخالفات، بحسب الإصدار والإعدادات.
من الأمثلة:
[DEFAULT]
bantime.increment = true
bantime.factor = 1
bantime.maxtime = 1d
يمكن لهذه الخيارات أن تساعد في زيادة مدة الحظر لبعض العناوين التي تتكرر مخالفاتها.
لكن طريقة الحساب تعتمد على إعدادات Fail2Ban وسجل الحظر وخياراته الأخرى.
هل ننصح بتفعيلها مباشرة؟
للمبتدئين، الأفضل البدء بإعداد بسيط ومراقبة نتائجه.
بعد ذلك يمكن دراسة الحظر التدريجي واختباره، خصوصًا إذا كانت هناك عناوين مشتركة يستخدمها أكثر من شخص.
15. تأمين SSH باستخدام مفاتيح المصادقة
رغم أهمية Fail2Ban، فإن استخدام مفاتيح SSH بدل كلمات المرور يمثل إجراءً أمنيًا مهمًا.
إذا لم تكن قد أعددت مفتاح SSH سابقًا، يمكنك إنشاء مفتاح على جهازك الشخصي:
ssh-keygen -t ed25519
اتبع التعليمات، واستخدم عبارة مرور قوية لحماية المفتاح الخاص.
نقل المفتاح العام إلى السيرفر
في الأنظمة التي تتوفر فيها أداة ssh-copy-id:
ssh-copy-id adminuser@SERVER_IP
إذا كنت تستخدم Windows أو بيئة لا تحتوي على هذه الأداة، يمكن إضافة المفتاح العام يدويًا إلى ملف authorized_keys باستخدام طريقة آمنة.
اختبار الاتصال بالمفتاح
افتح نافذة طرفية جديدة، وجرّب الاتصال.
لا تعطل تسجيل الدخول بكلمة المرور حتى تتأكد من نجاح المصادقة بالمفتاح من جلسة جديدة.
16. تعطيل تسجيل الدخول بكلمة المرور عبر SSH
بعد التأكد من عمل مفاتيح SSH للحساب الإداري، يمكن دراسة تعطيل المصادقة بكلمات المرور.
راجع إعدادات SSH الفعلية وملفات التهيئة الإضافية.
قد يكون الملف الرئيسي:
/etc/ssh/sshd_config
وقد توجد إعدادات إضافية ضمن:
/etc/ssh/sshd_config.d/
الإعدادات المقترحة
PasswordAuthentication no
PermitRootLogin no
يساعد الخيار الأول على تعطيل المصادقة بكلمة المرور، بينما يمنع الثاني تسجيل الدخول المباشر بحساب Root.
مهم: يجب مراجعة إعدادات المصادقة الأخرى، بما فيها KbdInteractiveAuthentication، إذا كان هدفك منع جميع أشكال تسجيل الدخول التفاعلي بكلمات المرور.
فحص إعداد SSH
قبل إعادة تحميل الخدمة:
sudo sshd -t
ثم راجع الإعدادات الفعلية:
sudo sshd -T
قد تؤثر إعدادات Match الخاصة بمستخدم أو عنوان معين في النتيجة، ولذلك ينبغي فحص الحالة المناسبة عند الحاجة.
إعادة تحميل SSH
بعد التأكد من صحة الإعدادات:
sudo systemctl reload ssh
احتفظ بالجلسة الحالية مفتوحة.
ثم اختبر تسجيل الدخول من نافذة جديدة قبل إغلاقها.
17. هل تغيير منفذ SSH يزيد الأمان؟
يستخدم SSH المنفذ 22 افتراضيًا.
قد يؤدي تغيير المنفذ إلى تقليل بعض محاولات الاتصال الآلية العشوائية، لكنه لا يمنع اكتشاف الخدمة أو استهدافها.
لذلك لا ينبغي اعتباره بديلًا عن:
- مفاتيح SSH.
- التحديثات الأمنية.
- تعطيل تسجيل الدخول المباشر بحساب Root.
- قواعد الجدار الناري.
- مراقبة السجلات.
إذا قررت تغيير المنفذ، فتأكد من السماح بالمنفذ الجديد في UFW وجدار الحماية لدى مزود VPS قبل تعديل الخدمة.
ولا تغلق جلسة SSH الحالية قبل اختبار الاتصال الجديد.
18. هل يمكن حماية Nginx باستخدام Fail2Ban؟
نعم، يمكن استخدام Fail2Ban مع خدمات أخرى غير SSH، ومنها بعض سيناريوهات Nginx.
على سبيل المثال، يمكن إعداد قواعد تعتمد على رسائل أخطاء معينة أو محاولات وصول غير مرغوب فيها تظهر في سجلات Nginx.
لكن ذلك يحتاج إلى اختيار فلتر مناسب وفهم طبيعة حركة الموقع.
لماذا لا نفعّل جميع قواعد Nginx مباشرة؟
لأن بعض أنماط الطلبات قد تكون طبيعية، خصوصًا في المواقع التي تستخدم إضافات WordPress أو واجهات API.
وقد يؤدي استخدام قواعد شديدة إلى حظر زوار حقيقيين.
كما أن استخدام CDN أو Reverse Proxy قد يجعل عنوان IP الظاهر في السجلات مختلفًا عن عنوان الزائر الفعلي.
لذلك يجب ضبط سجلات العناوين الحقيقية بصورة آمنة قبل تطبيق قواعد حظر تعتمد عليها.
19. هل يحمي Fail2Ban صفحة تسجيل دخول WordPress؟
يمكن استخدام Fail2Ban ضمن حلول لحماية تسجيل الدخول إلى WordPress، لكن ذلك يتطلب وجود سجلات مناسبة وفلتر موثوق.
لا يستطيع Fail2Ban اكتشاف جميع محاولات تسجيل الدخول الفاشلة إلى WordPress تلقائيًا لمجرد تثبيته.
فبعض المحاولات تحدث داخل التطبيق ولا تظهر في سجلات Nginx بصورة تميز النجاح عن الفشل.
ما الإجراءات المكملة؟
- تحديث WordPress والقوالب والإضافات.
- استخدام كلمات مرور قوية وفريدة.
- تفعيل المصادقة متعددة العوامل للحسابات المهمة.
- تقليل عدد الحسابات الإدارية.
- مراجعة سجلات تسجيل الدخول.
- استخدام أدوات حماية مناسبة لبيئة WordPress.
20. كيف تراقب محاولات الدخول إلى SSH؟
يمكنك استخدام:
sudo journalctl -u ssh --since "24 hours ago"
لعرض الرسائل المتعلقة بخدمة SSH خلال اليوم الماضي.
ويمكن متابعة الرسائل الجديدة:
sudo journalctl -u ssh -f
للخروج اضغط Ctrl + C.
هل كثرة الرسائل تعني وجود اختراق؟
ليس بالضرورة.
قد تتضمن السجلات محاولات فاشلة من برامج آلية على الإنترنت.
الأهم هو مراجعة أي تسجيل دخول ناجح غير معروف، أو تغييرات غير متوقعة في الحسابات والمفاتيح والخدمات.
إذا اشتبهت بوجود اختراق فعلي، فلا تعتمد على حظر العناوين وحده، بل اتبع إجراءات الاستجابة للحوادث.
21. ماذا تفعل إذا توقف Fail2Ban عن العمل؟
ابدأ بفحص الخدمة:
sudo systemctl status fail2ban
ثم راجع الرسائل:
sudo journalctl -u fail2ban -n 100 --no-pager
واختبر الإعدادات:
sudo fail2ban-client -t
أسباب محتملة
قد تكون المشكلة مرتبطة بخطأ في ملف Jail أو فلتر غير موجود أو إعداد Backend غير مناسب.
وقد تظهر مشكلات في تطبيق الحظر إذا كانت إجراءات الجدار الناري غير متوافقة مع إعدادات السيرفر.
لا تحذف ملفات الإعداد أو تعطل الجدار الناري عشوائيًا لمحاولة إصلاح المشكلة.
22. أفضل ممارسات حماية Ubuntu VPS
لتحسين حماية السيرفر، احرص على الجمع بين عدة إجراءات:
- تثبيت التحديثات الأمنية بصورة منتظمة.
- استخدام حساب إداري منفصل عن Root.
- تفعيل مفاتيح SSH واختبارها.
- تعطيل تسجيل الدخول المباشر بحساب Root عندما تسمح بيئة الإدارة بذلك.
- ضبط UFW وفق الخدمات المطلوبة فقط.
- استخدام Fail2Ban لتقليل بعض محاولات التخمين.
- مراقبة السجلات والتنبيهات.
- الاحتفاظ بنسخ احتياطية خارج السيرفر.
- حماية بيانات الدخول والمفاتيح الخاصة.
- الاحتفاظ بوسيلة وصول طارئة موثوقة.
هذه الإجراءات تقلل المخاطر، لكنها لا تجعل السيرفر محصنًا ضد جميع أنواع الهجمات.
الأسئلة الشائعة حول Fail2Ban وحماية SSH
هل Fail2Ban مجاني؟
نعم، Fail2Ban برنامج مفتوح المصدر ويمكن تثبيته من مستودعات Ubuntu.
هل يعمل Fail2Ban على Ubuntu 24.04؟
نعم، تتوفر حزمة Fail2Ban ضمن مستودعات Ubuntu 24.04.
هل Fail2Ban يبطئ السيرفر؟
يستهلك بعض الموارد لمراقبة السجلات وإدارة الحظر، ويعتمد الاستهلاك على عدد الخدمات والمرشحات وحجم السجلات.
هل يمكن أن يحظر Fail2Ban عنوان IP الخاص بي؟
نعم، إذا استوفت محاولاتك شروط الحظر ولم يكن عنوانك مستثنى.
هل يكفي Fail2Ban لحماية SSH؟
لا. ينبغي استخدامه إلى جانب مفاتيح SSH والتحديثات الأمنية وضبط الصلاحيات والجدار الناري.
هل يمكن استخدام Fail2Ban مع UFW؟
نعم، لكن يجب التأكد من توافق إجراء الحظر المستخدم مع نظام الجدار الناري الفعلي.
هل تغيير منفذ SSH يمنع Brute Force؟
لا. قد يقلل بعض المحاولات الآلية، لكنه لا يوفر حماية كافية وحده.
هل يمكن حظر عنوان IP نهائيًا؟
يدعم Fail2Ban إعداد مدد حظر مختلفة، لكن الحظر الدائم قد يسبب مشكلات إذا أُعيد تخصيص العنوان لشخص آخر.
هل يمكن حماية WordPress باستخدام Fail2Ban؟
نعم في بعض السيناريوهات، بشرط توفر سجلات ومرشحات مناسبة، لكنه لا يوفر حماية كاملة لتسجيل دخول WordPress بمجرد تثبيته.
كيف أعرف أن Fail2Ban يعمل؟
يمكن فحص الخدمة باستخدام systemctl، ثم مراجعة Jail باستخدام fail2ban-client status sshd، والتحقق من السجلات وإجراءات الحظر.
الخلاصة
تُعد حماية سيرفر Ubuntu باستخدام Fail2Ban خطوة مفيدة لتقليل محاولات تسجيل الدخول المتكررة إلى SSH، خصوصًا على سيرفرات VPS المتصلة بالإنترنت.
تعلمنا في هذا الدليل تثبيت Fail2Ban على Ubuntu 24.04، وإنشاء إعداد Jail لخدمة SSH، وتحديد عدد المحاولات ومدة الحظر، ومراجعة العناوين المحظورة والسجلات.
كما تعرفنا على أهمية استخدام مفاتيح SSH، وتعطيل المصادقة بكلمات المرور بعد اختبار البديل، والتأكد من توافق الإعدادات مع UFW.
والقاعدة الأهم هي أن Fail2Ban طبقة حماية إضافية، وليس بديلًا عن إعداد SSH بصورة آمنة.
وإذا كنت تتابع سلسلة إدارة السيرفرات على حكاية تقنية، فننصحك بقراءة الأدلة السابقة:
- ما هو VPS؟ دليل شامل لفهم السيرفرات الافتراضية.
- كيفية إعداد سيرفر Ubuntu وتأمينه باستخدام SSH وUFW.
- كيفية تثبيت Nginx على Ubuntu وربط الدومين وتفعيل SSL مجانًا.
- كيفية تثبيت WordPress على Ubuntu باستخدام Nginx وPHP وMariaDB.
- كيفية تسريع WordPress على VPS باستخدام Nginx وPHP-FPM وRedis.
- كيفية عمل نسخ احتياطية تلقائية لموقع WordPress على VPS واستعادتها.
- كيفية مراقبة سيرفر Ubuntu واكتشاف مشاكل الأداء باستخدام Netdata وLinux
هذا المقال بالتعاون مع فريق حكاية هوست




