تأمين SSH في Linux: إعدادات قوية بدون فقدان الوصول
SSH هو بوابة الإدارة الأساسية للخادم، لذلك تأمينه أولوية قصوى.
في هذا الدرس ستطبق Hardening عملي يقلل الهجمات بدون المخاطرة بفقدان الوصول.
أهداف SSH Hardening
- تقليل فرص brute-force والهجمات الآلية
- فرض مصادقة قوية
- تقييد من يمكنه الدخول وكيف
أين ملف إعداد SSH في Linux؟
sudo nano /etc/ssh/sshd_config
أي تعديل يحتاج اختبار ثم إعادة تحميل/تشغيل الخدمة.
إعدادات SSH موصى بها للمبتدئ
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
LoginGraceTime 30
X11Forwarding no
| الإعداد | الفائدة |
|---|---|
PermitRootLogin no |
منع الدخول المباشر بحساب root |
PasswordAuthentication no |
منع كلمات المرور والاعتماد على المفاتيح |
MaxAuthTries 3 |
تقليل محاولات التخمين |
تقييد المستخدمين المسموح لهم بالدخول
AllowUsers deploy adminuser
# أو
AllowGroups sshusers
هذا يقلل بشكل كبير سطح الهجوم.
تغيير منفذ SSH (اختياري كطبقة إضافية)
Port 2222
ثم افتح المنفذ الجديد في firewall قبل إعادة التشغيل:
sudo ufw allow 2222/tcp
اختبار الإعداد قبل إعادة تشغيل SSH
sudo sshd -t
sudo systemctl restart ssh
sudo systemctl status ssh
إذا فشل sshd -t لا تعيد تشغيل الخدمة حتى تصلح الخطأ.
تطبيق fail2ban لحظر محاولات brute-force
sudo apt install -y fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo fail2ban-client status sshd
Fail2ban يراقب logs ويمنع IPات التي تتكرر منها محاولات فاشلة.
مراقبة محاولات الدخول SSH
sudo tail -f /var/log/auth.log
sudo journalctl -u ssh -n 100
grep -i "Failed password" /var/log/auth.log
خطوات آمنة لتجنب lockout أثناء hardening
- احتفظ بجلسة SSH حالية مفتوحة
- اختبر كل تغيير بـ
sshd -t - جرّب اتصال جديد قبل إغلاق الجلسة القديمة
- عدّل الإعدادات تدريجيًا وليس دفعة واحدة
تمرين عملي: تطبيق Hardening أساسي
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo nano /etc/ssh/sshd_config
# عدّل:
# PermitRootLogin no
# PasswordAuthentication no
# PubkeyAuthentication yes
sudo sshd -t
sudo systemctl restart ssh
sudo systemctl status ssh
إذا الخدمة عادت active والاتصال بالمفتاح يعمل، فقد طبقت Hardening صحيح.
FAQ: أسئلة شائعة حول SSH Hardening
ما أهم إعدادات تأمين SSH في Linux؟
أهمها تعطيل root login، تفعيل المفاتيح بدل كلمات المرور، وتقييد المستخدمين المسموح لهم بالدخول.
هل تغيير منفذ SSH يكفي للحماية؟
لا يكفي وحده، لكنه يقلل الضجيج الآلي. الحماية الحقيقية تعتمد على مفاتيح قوية وسياسات وصول صحيحة.
كيف أتجنب lockout أثناء تعديل sshd_config؟
اختبر الإعداد عبر sshd -t، واحتفظ بجلسة SSH مفتوحة، وطبّق التغييرات تدريجيا مع التحقق بعد كل خطوة.