لخادم VPS عنوان IP عام: وخلال الساعة التي تلي تشغيله، تبدأ الروبوتات بمحاولة الاتصال به. تكفي ثلاثة إجراءات لصد الغالبية العظمى من هذه المحاولات، ويجنبك إجراء رابع اكتشاف عطل عن طريق عميل مستاء.
كيف أضبط الجدار الناري لخادم VPS Linux؟
باستخدام ufw على Debian وUbuntu، وfirewalld على AlmaLinux وRocky وCentOS Stream: نرفض كل شيء افتراضيًا، ثم نفتح SSH والمنافذ العامة فعلًا فقط.
على Debian وUbuntu، باستخدام ufw:
apt install ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80,443/tcp
ufw enable
ufw status verbose
على AlmaLinux وRocky وCentOS Stream، باستخدام firewalld:
dnf install firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http --add-service=https
firewall-cmd --reload
firewall-cmd --list-all
اسمح بـ SSH قبل تفعيل الجدار الناري. ترتيب الأوامر أعلاه ليس شكليًا: فتفعيل سياسة تقييدية دون قاعدة لـ SSH يقطع وصولك فورًا. وإن حدث ذلك، تبقى وحدة التحكم الاحتياطية مدخلك إلى الخادم.
لا تفتح إلا منافذ الخدمات العامة فعلًا. ينبغي ألا تستمع قاعدة البيانات إلى الخارج في جميع الحالات تقريبًا: اجعلها تستمع على 127.0.0.1 واستخدم نفق SSH لإدارتها.
كيف أحظر محاولات الاتصال المتكررة باستخدام fail2ban؟
يقرأ fail2ban السجلات، ويرصد إخفاقات المصادقة المتكررة، ويحظر العنوان المخالف على مستوى الجدار الناري.
apt install fail2ban # Debian, Ubuntu
dnf install fail2ban # AlmaLinux, Rocky, CentOS Stream
أنشئ الملف /etc/fail2ban/jail.local، ولا تعدّل jail.conf أبدًا، إذ يُستبدل عند التحديثات:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
ignoreip = 127.0.0.1/8 VOTRE_IP_PERSONNELLE
[sshd]
enabled = true
ثم:
systemctl enable --now fail2ban
fail2ban-client status sshd
إدراج عنوانك الخاص في ignoreip يجنبك حظر نفسك بعد بضع محاولات فاشلة.
كيف أثبّت تحديثات الأمان على خادمي؟
يدويًا باستخدام apt upgrade أو dnf upgrade، أو تلقائيًا باستخدام unattended-upgrades على Debian وUbuntu وdnf-automatic على AlmaLinux وRocky وCentOS Stream.
يدويًا وبانتظام:
apt update && apt upgrade # Debian, Ubuntu
dnf upgrade # AlmaLinux, Rocky, CentOS Stream
تلقائيًا، لتصحيحات الأمان وحدها:
apt install unattended-upgrades && dpkg-reconfigure -plow unattended-upgrades
dnf install dnf-automatic && systemctl enable --now dnf-automatic.timer
لا تغني الأتمتة عن المتابعة: فبعض التصحيحات تتطلب إعادة تشغيل خدمة أو النواة لتصبح فعالة حقًا.
systemctl list-units --failed
needrestart # Debian, Ubuntu
كيف أراقب ما يعمل على خادم VPS؟
باستخدام systemctl وjournalctl لمعرفة حالة الخدمات وسجلاتها، وdf -h لمساحة القرص، وتبويب الرسوم البيانية في منطقة العملاء للحصول على نظرة شاملة.
systemctl status nginx # état d'un service
journalctl -u nginx -n 50 # ses 50 dernières lignes de journal
journalctl -p err -b # les erreurs depuis le démarrage
df -h # espace disque
امتلاء القرص هو العطل الأكثر شيوعًا والأقل ظهورًا: تتوقف كتابة السجلات، وترفض قواعد البيانات عمليات الكتابة، ولا شيء ينبه إلى ذلك ما دام لا أحد يتحقق. راقب df -h واحذف السجلات القديمة باستخدام journalctl --vacuum-time=14d.
يكمّل تبويب الرسوم البيانية في منطقة العملاء ذلك بشكل مفيد: إذ يظهر فيه فورًا منحنى CPU عند حده الأقصى لساعات، أو حركة شبكة صادرة غير معتادة، أو امتلاء الذاكرة.
هل تتولى By-Hoster النسخ الاحتياطي لخادم VPS؟
لا توفر منطقة العملاء خدمة نسخ احتياطي لخوادم VPS. أما اللقطات (snapshots) المتاحة في التبويب الذي يحمل الاسم نفسه فهي شبكة أمان لعملية محفوفة بالمخاطر، وليست نسخة احتياطية: إذ تُحفظ على وحدة التخزين نفسها التي يعمل عليها الخادم. احتفظ بنسخة من بياناتك التي لا يمكن تعويضها فعلًا خارج خادم VPS، واختبر استعادتها من حين لآخر.