Home Knowledge base Skyline Cloud كيفية تأمين خادم VPS جديد: الجدار الناري وتقوية SSH KNOWLEDGE BASE

كيفية تأمين خادم VPS جديد: الجدار الناري وتقوية SSH

دليل عملي خطوة بخطوة لتأمين خادم VPS جديد يعمل بنظام لينكس: إنشاء مستخدم sudo، وتقييد SSH للدخول بالمفتاح فقط، وضبط الجدار الناري عبر UFW. يشمل Fail2ban وتحديثات الأمان التلقائية.

يتعرّض خادم 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 مُقوّى خلال دقائق.

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.