يتعرّض خادم VPS الجديد لشبكة الإنترنت العامة منذ لحظة إقلاعه. وخلال دقائق، تبدأ الروبوتات الآلية بفحص المنفذ 22 ومحاولات تخمين بيانات الدخول. الخبر الجيد أن خطوات قليلة ومعروفة جيداً تكفي للقضاء على الغالبية العظمى من هذه المخاطر. يشرح هذا الدليل كيفية تقوية خادم لينكس جديد (نفترض Ubuntu/Debian، والأوامر قريبة جداً من التوزيعات الأخرى) بالطريقة التي يتبعها المحترفون في اليوم الأول.
إذا كنت لا تزال تختار المكان الذي ستشغّل فيه أعمالك، فإن سكايلاين توفّر خوادم سحابية وVPS داخل المملكة العربية السعودية، مما يبقي بياناتك خاضعة لقواعد إقامة البيانات وفق نظام حماية البيانات الشخصية (PDPL) والهيئة الوطنية للأمن السيبراني (NCA)، ويضع فريق دعم محلي يتحدث العربية على بُعد رسالة واحدة.
قبل أن تبدأ
تحتاج إلى:
- خادم VPS جديد بعنوان IP عام وبيانات دخول
rootالأولية (أو مستخدم sudo افتراضي) من مزوّدك. - برنامج SSH على جهازك. على لينكس/ماك يكون مدمجاً، وعلى ويندوز استخدم عميل OpenSSH أو PowerShell.
- زوج مفاتيح SSH. إن لم يكن لديك واحد، أنشئه محلياً:
ssh-keygen -t ed25519 -C "you@example.com"
مفاتيح ed25519 قصيرة وسريعة وأقوى من مفاتيح RSA القديمة بحجم 2048 بت. اضغط Enter لقبول المسار الافتراضي (~/.ssh/id_ed25519) واضبط عبارة مرور.
الخطوة 1 — حدّث النظام أولاً
سجّل الدخول وحدّث جميع الحزم قبل أي شيء آخر، لتبدأ من قاعدة مُرقّعة:
ssh root@your_server_ip
apt update && apt upgrade -y
الخطوة 2 — أنشئ مستخدم sudo غير root
العمل بحساب root يومياً خطِر: خطأ مطبعي واحد قد يكون كارثياً، كما أن root هو أول حساب يستهدفه المهاجمون. أنشئ بدلاً منه مستخدماً إدارياً مخصصاً:
adduser deploy
usermod -aG sudo deploy
الآن انسخ مفتاح SSH العام إلى المستخدم الجديد لتتمكن من الدخول باسمه:
rsync --archive --chown=deploy:deploy ~/.ssh /home/deploy/
إذا كنت قد جهّزت الخادم بالدخول عبر كلمة المرور، استخدم بدلاً من ذلك ssh-copy-id deploy@your_server_ip من جهازك المحلي. افتح نافذة طرفية ثانية وتأكّد من قدرتك على الدخول باسم deploy وتشغيل sudo whoami (يجب أن يظهر root) قبل أن تغيّر أي شيء آخر. لا تغلق جلستك الحالية حتى تتأكد من الوصول الجديد.
الخطوة 3 — قوِّ خدمة SSH
هذا هو التغيير الأكبر أثراً على الإطلاق. عدّل ملف إعدادات SSH:
sudo nano /etc/ssh/sshd_config
اضبط التوجيهات التالية (أزل علامة التعليق أو أضِفها):
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
MaxAuthTries 3
X11Forwarding no
| التوجيه | الأثر |
|---|---|
PermitRootLogin no |
يمنع تسجيل دخول root مباشرةً عبر SSH |
PasswordAuthentication no |
يفرض الدخول بالمفتاح فقط، ويبطل هجمات التخمين |
MaxAuthTries 3 |
يقطع الاتصال بعد 3 محاولات فاشلة |
طبّق التغيير بإعادة تحميل الخدمة:
sudo systemctl reload ssh
اختبر في نافذة طرفية جديدة قبل تسجيل الخروج. تأكّد من أن الدخول بالمفتاح لا يزال يعمل وأن محاولة الدخول بكلمة المرور مرفوضة. إن حدث خطأ ما، تبقى جلستك الحالية مفتوحة لإصلاحه.
اختياري: غيّر منفذ SSH
نقل SSH من المنفذ 22 (إلى 2222 مثلاً) لن يوقف مهاجماً مصرّاً، لكنه يقلّص بشكل كبير ضوضاء السجلات الناتجة عن أدوات الفحص الآلية. اضبط Port 2222 في sshd_config، واسمح به في الجدار الناري (الخطوة التالية) قبل إعادة التحميل، واتصل عبر ssh -p 2222 deploy@your_server_ip.
الخطوة 4 — اضبط الجدار الناري عبر UFW
UFW (الجدار الناري غير المعقّد) هو واجهة سهلة لأداة iptables. بشكل افتراضي، امنع كل الوارد واسمح فقط بما تحتاجه:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
إذا كنت تشغّل خادم ويب، افتح HTTP وHTTPS أيضاً:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
حرج: اسمح بمنفذ SSH قبل تفعيل الجدار الناري، وإلا فستُقفل خارج خادمك. إن غيّرت المنفذ، استخدم
sudo ufw allow 2222/tcpبدلاً منOpenSSH.
فعّل وتحقّق:
sudo ufw enable
sudo ufw status verbose
الخطوة 5 — ثبّت Fail2ban
يراقب Fail2ban سجلاتك ويحظر مؤقتاً عناوين IP التي تُظهر أنماطاً ضارة، مثل تكرار محاولات الدخول الفاشلة:
sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
عدّل jail.local وتحت قسم [sshd]، تأكّد من تفعيل الحظر بحدود منطقية:
[sshd]
enabled = true
maxretry = 3
bantime = 1h
findtime = 10m
أعد التشغيل وتحقّق من الحظر:
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd
الخطوة 6 — فعّل تحديثات الأمان التلقائية
البرمجيات غير المُرقّعة هي أكثر منافذ الاختراق شيوعاً. على Ubuntu/Debian، فعّل التحديثات الأمنية التلقائية:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
يطبّق هذا الرقع الأمنية تلقائياً مع إبقاء تحديثات الميزات تحت سيطرتك.
قائمة التحقق للتقوية
- [x] النظام محدّث بالكامل
- [x] إنشاء مستخدم sudo غير root والتأكد منه
- [x] تعطيل دخول root عبر SSH
- [x] تعطيل المصادقة بكلمة المرور (المفتاح فقط)
- [x] تفعيل جدار UFW الناري بسياسة المنع الافتراضي
- [x] تشغيل Fail2ban على حظر SSH
- [x] تفعيل تحديثات الأمان التلقائية
ماذا بعد ذلك
هذه القاعدة تصدّ الغالبية الساحقة من الهجمات الانتهازية. من هنا، فكّر في تقوية كل تطبيق على حدة (وكيل عكسي، شهادة TLS عبر Let's Encrypt، ربط قاعدة البيانات بـ localhost)، وتسجيل مركزي، ونسخ احتياطية منتظمة خارج الخادم. وإذا كان خادمك يتعامل مع البريد الإلكتروني أيضاً، فإن استضافة البريد الإلكتروني للأعمال لدينا تُبقي البريد خارج الخادم وتوثّقه بشكل صحيح عبر SPF وDKIM وDMARC.
للمزيد من الأدلة حول تشغيل الخوادم داخل المملكة، تصفّح مركز خوادم VPS والخوادم السحابية.
هل أنت مستعد للنشر على بنية تحتية داخل المملكة بأسعار شفافة ودعم محلي؟ أنشئ حساب سكايلاين كلاود وشغّل خادم VPS مُقوّى خلال دقائق.
Comments
0 total · 0 threads