كلُّ لوحةٍ على عنوانٍ عامّ تجرّبها الآلاتُ بلا انقطاع، تمرّ على قوائم أسماء المستخدمين وكلمات المرور المسرَّبة. والكمّيّة ليست دليلًا على أنّك مستهدَف. وتصير اختراقًا لحظةَ يحمل حسابٌ كلمةَ مرورٍ ترد في إحدى تلك القوائم.
انظر ما يجري
sudo grep -c "Failed password" /var/log/auth.log
sudo awk '/Failed password/ {print $(NF-3)}' /var/log/auth.log | sort | uniq -c | sort -rn | head
الأربعة التي تنهيه
- تحقّقٌ بخطوتين على كلّ حساب إداريّ. فتكفّ كلمةُ المرور الصحيحة وحدها عن أن تكفي — انظر التحقّق بخطوتين على اللوحة.
- تحديدُ المعدّل، فتنال الآلةُ حفنةَ محاولاتٍ في الدقيقة لا آلافًا — انظر تحديد معدّل نقطة الدخول.
- Fail2ban، ليحظر العنوان بعد إخفاقاتٍ قليلة — انظر ما يوقفه Fail2ban.
- ولا حسابات مشتركة. شخصٌ واحد ودخولٌ واحد، فيكون الحذفُ حذفًا واحدًا.
غيّر اسم المدير، ولا تعتمد عليه
تغييرُ اسم المستخدم البديهيّ يزيل أكثرَ الضجيج الآليّ، لأنّ القوائم قصيرةٌ في الأسماء طويلةٌ في كلمات المرور. وليس هذا حمايةً: فالاسم يُكتشَف من الموقع نفسه عادةً.
قيّد من أين تجيب اللوحة أصلًا
# nginx: the panel only answers to the office
location /admin/ {
allow 203.0.113.0/24;
deny all;
}
دخولٌ ناجح من بلدٍ غير متوقَّع، في ساعةٍ غير معتادة، بعد سلسلةٍ طويلة من الإخفاقات — هذا هو النمط الذي يعني. فأنذِر على النجاح لا على الإخفاقات: فالإخفاقات دائمة، والجميع يكفّون عن قراءتها.
وإن وجدت حسابًا واحدًا قد اختُرق فتغييرُ كلمته ليس نهايةَ الأمر. اقرأ كشف موقعٍ مخترَق قبل أن تفترض أنّه لم يتجاوز ذلك.