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

لماذا ينجح أصلًا

ينجح فقط حيث تجتمع ثلاثة شروط: كلمات مرور ضعيفة أو مُعاد استخدامها، وأسماء مستخدمين متوقعة (admin هو المثال الكلاسيكي)، وغياب أي حد لعدد المحاولات التي يستطيع السكربت إجراءها. أزل أيًّا منها فيتوقف هجوم القوة الغاشمة عن كونه تهديدًا حقيقيًا مهما بلغ عدد التخمينات التي يرميها الروبوت.

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

ما الذي يوقفه فعلًا

  • كلمة مرور فريدة وقوية لكل حساب. هذا وحده يُفشل الغالبية العظمى من المحاولات. ومدير كلمات المرور يجعل الأمر سهلًا.
  • لا اسم مستخدم «admin». فهو أول تخمين في كل تشغيل آلي. أنشئ مسؤولًا باسم مختلف، وانقل المحتوى إليه، واحذف الحساب القديم.
  • الحد من محاولات الدخول. حظر عنوان بعد عدد قليل من الإخفاقات يحوّل لعبة تخمين لا نهاية لها إلى طريق مسدود.
  • المصادقة الثنائية. حتى كلمة المرور المخمَّنة بشكل صحيح أو المسرّبة لا قيمة لها دون العامل الثاني.
  • تحديد المعدل عند الخادم أو جدار الحماية. يحجب سيل الطلبات قبل أن يصل إلى ووردبريس، وهذا يحمي موارد الخادم أيضًا. وأداة مثل fail2ban تستطيع حظر عنوان يواصل الإخفاق؛ ويبيّن دليل جدار الحماية موضع ذلك.

لا تنسَ XML-RPC

نموذج الدخول ليس الباب الوحيد. يقبل ووردبريس تسجيلات الدخول أيضًا عبر xmlrpc.php، وتستطيع هذه الواجهة تجربة كلمات مرور كثيرة في طلب واحد، فتتجاوز الحدود البسيطة لكل طلب. وإن كنت لا تستخدم التطبيق المحمول أو ميزات Jetpack أو أدوات أخرى تعتمد على XML-RPC، فاحجبه أو عطّله. كثير من المواقع لا تحتاجه أبدًا.

أسماء المستخدمين أسهل اكتشافًا مما تظن

قد يكشف ووردبريس أسماء المستخدمين لكل من يسأل. فطلب مثل /?author=1 يعيد التوجيه إلى صفحة مؤلف تحتوي اسم الدخول، وتسرد واجهة REST المستخدمين عند /wp-json/wp/v2/users. ويستخدم المهاجمون الاثنين لبناء قائمة قبل البدء بالتخمين. امنح كل حساب اسم عرض مختلفًا عن اسم الدخول، وفكّر في تقييد قائمة المستخدمين إن لم يكن أي قالب أو إضافة يحتاج إلى جعلها عامة.

ما لا يفيد فعلًا

إعادة تسمية wp-login.php أو إخفاء صفحة الدخول لا يوقف إلا أبسط الروبوتات التي لا تفحص سوى العنوان الافتراضي. إنه مطب بسيط لا حماية، وتبقى أبواب أخرى مثل XML-RPC. لا بأس به طبقة إضافية، لكنه ليس الخطة.

كيف تعرف أنك مستهدف

انظر في سجل الوصول على خادمك: طلبات POST كثيرة إلى wp-login.php من عناوين IP متفرقة. من سطر الأوامر يسرد الأمر التالي أنشط المصادر:

grep "POST /wp-login.php" access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head

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

كيف يساعد SiftWP

يبحث فحص SiftWP الأسبوعي عن إعدادات تجعل نجاح هجمات القوة الغاشمة أرجح، ومنها حسابات المسؤولين التي لا تملك بيانات اعتماد قوية وفريدة، ضمن مروره المنتظم على الموقع. ويعمل عبر SSH دون إضافة، فيصلح حتى لو أحكمت إغلاق صفحة الدخول. أما حدود الدخول والمصادقة الثنائية فتبقى ضمن إعداد ووردبريس لديك أو عند استضافتك.

ابدأ برصيد مجاني، دون بطاقة