كيفية تأمين SSH على خادم VPS يعمل بنظام لينكس
يتلقى خادم VPS العام محاولات تسجيل دخول آلية خلال دقائق من تشغيله. تجعل هذه الخطوات SSH أصعب بكثير على المهاجمين. وقد كُتبت للعمل على Ubuntu أو Debian؛ وإذا لم تكن قد أنشأت الخادم بعد، يمكنك استئجار خادم VPS يعمل بنظام لينكس والبدء من صورة نظام نظيفة. أبقِ جلسة SSH الحالية مفتوحة حتى تختبر الإعدادات الجديدة من نافذة ثانية.
1. إنشاء مستخدم عادي مع صلاحيات sudo
adduser deploy
usermod -aG sudo deploy2. استخدام مفاتيح SSH بدلاً من كلمات المرور
على حاسوبك الشخصي:
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IPسجّل الدخول مرة واحدة باستخدام المفتاح للتأكد من عمله قبل إيقاف كلمات المرور.
3. تعطيل كلمات المرور وتسجيل دخول root
أنشئ الملف /etc/ssh/sshd_config.d/99-hardening.conf:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3تحقّق من صحة الصيغة ثم أعد تحميل الخدمة. اسم الخدمة ssh على Ubuntu وDebian، وهو sshd على الأنظمة المبنية على RHEL:
sudo sshd -t && sudo systemctl reload sshافتح طرفية ثانية وسجّل الدخول مجدداً. بعد ذلك فقط أغلق الجلسة القديمة.
4. تفعيل الجدار الناري
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verboseافتح المنافذ التي تحتاجها فقط، مثل 80 و443 لخادم الويب. يمكنك أيضاً قصر الوصول إلى SSH على عنوان IP الخاص بك عبر قاعدة في الجدار الناري من لوحة التحكم السحابية.
5. حظر المحاولات المتكررة الفاشلة باستخدام Fail2ban
sudo apt install -y fail2banأنشئ الملف /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1hsudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd6. تثبيت التحديثات الأمنية تلقائياً
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades7. إضافات اختيارية
- تغيير منفذ SSH يقلل ضوضاء السجلات لكنه ليس إجراءً أمنياً بحد ذاته.
- احمِ المفتاح الخاص بعبارة مرور واحتفظ بنسخة احتياطية منه في مكان آمن.
- راجع عمليات تسجيل الدخول باستخدام
lastوsudo journalctl -u ssh --since today. - التقط لقطة (snapshot) بعد اكتمال إعداد الخادم، حتى تتمكن من استعادة نقطة أساس نظيفة.
إذا فقدت الوصول، استخدم وحدة التحكم في المتصفح من لوحة التحكم السحابية لتسجيل الدخول وإصلاح الإعدادات. يغطي دليل الحماية من DDoS الطبقة التالية من الدفاع.
الأسئلة الشائعة
هل من الآمن تعطيل تسجيل دخول root؟
نعم، بشرط أن تنشئ أولاً مستخدم sudo وتختبر أن مفتاحه يعمل. ما زال بإمكانك تنفيذ أوامر الإدارة باستخدام sudo.
هل أحتاج إلى Fail2ban إذا كنت أستخدم المفاتيح فقط؟
هو اختياري. مع تعطيل تسجيل الدخول بكلمة المرور لا يمكن لهجوم القوة الغاشمة أن ينجح، لكن Fail2ban يقلل ضوضاء السجلات والحمل على النظام.
ماذا أفعل إذا فقدت مفتاح SSH؟
استخدم وحدة التحكم في لوحة التحكم السحابية لتسجيل الدخول، ثم أضف مفتاحاً عاماً جديداً إلى الملف ~/.ssh/authorized_keys واحذف القديم.