المدونة

دروس وأدلة وأخبار المنتج.

الأمان والنسخ الاحتياطية

أول 10 خطوات أمان على VPS جديد

3 نوفمبر 2026 5 د للقراءة
مشاركة هذه المقالة

أول ما تفعله على VPS جديد: تحديث النظام، وإنشاء مستخدم منفصل يدخل بمفتاح بدل root، وإيقاف الدخول بكلمة المرور، وتشغيل جدار الحماية وfail2ban، وتفعيل التحديثات الأمنية التلقائية، والتحقق من عمل نسخك الاحتياطية. وفيما يلي 10 خطوات بالترتيب الذي ينبغي أن تنفذها به. الأوامر لـ Ubuntu وDebian.

كل خادم على الإنترنت هدف لعمليات الفحص الآلية وبرامج تخمين كلمات المرور، وتراه بنفسك في سجل SSH لديك. الترتيب مهم: تأكد أن الخطوتين 2 و3 تعملان قبل أن تنفذ الخطوة 4، وإلا قد يُغلق الباب عليك. والأمر sudo في الأوامر يعمل أيضًا إذا كنت مسجّل الدخول بـ root.

النظام والحسابات

1. حدّث النظام

sudo apt update && sudo apt upgrade -y

على Ubuntu يظهر الملف /var/run/reboot-required عندما يحتاج تحديث إلى إعادة تشغيل. إن ظهر فأعد تشغيل الخادم مرة واحدة. وقد لا ينشئ Debian هذا الملف، فأعد التشغيل بعد تحديث النواة على أي حال.

2. أنشئ مستخدمك الخاص

لا تستخدم root في العمل اليومي. أنشئ مستخدمًا منفصلًا بصلاحيات sudo. استبدل deploy بأي اسم تريده:

sudo adduser deploy

sudo usermod -aG sudo deploy

3. ادخل بمفتاح SSH

إن لم يكن لدى حاسوبك زوج مفاتيح بعد، فأنشئ واحدًا بالأمر ssh-keygen -t ed25519. ثم انسخ المفتاح العام إلى المستخدم الجديد وجرّب الدخول:

ssh-copy-id [email protected]

ssh [email protected]

إذا دخلت من دون أن يطلب منك كلمة مرور فأنت جاهز. لا يوجد ssh-copy-id في Windows. وفي PowerShell يؤدي هذا الأمر الغرض نفسه:

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

تقوية SSH

4. أوقف الدخول بكلمة المرور وبـ root

تأكد أولًا أنك تستطيع الدخول بالمستخدم الجديد ومفتاحك. ثم اعرف أي الملفات تحدد هذه الإعدادات. حين يجد OpenSSH الإعداد نفسه في أكثر من موضع يستخدم أول قيمة يقرؤها. وفي Debian وUbuntu يضم ملف الإعداد الرئيسي المجلد /etc/ssh/sshd_config.d/ في أعلاه تمامًا. وقد تترك صور المزوّد في ذلك المجلد ملفًا يفعّل الدخول بكلمة المرور. وحتى لو كتبت no في الملف الرئيسي، تبقى قيمة yes في ذلك الملف هي السارية:

sudo grep -rniE "^\s*(PasswordAuthentication|PermitRootLogin|KbdInteractiveAuthentication)" /etc/ssh/sshd_config /etc/ssh/sshd_config.d/

اضبط كل سطر فعّال في المخرجات على no في الملف الذي ورد فيه: PasswordAuthentication no وPermitRootLogin no وKbdInteractiveAuthentication no. وأضف أي إعداد لا يظهر في المخرجات إلى نهاية /etc/ssh/sshd_config. ثم اختبر وطبّق وتحقق من القيم السارية فعلًا:

sudo sshd -t && sudo systemctl reload ssh

sudo sshd -T | grep -E "^(passwordauthentication|permitrootlogin|kbdinteractiveauthentication)"

ينبغي أن تنتهي الأسطر الثلاثة بـ no. لا تغلق جلستك المفتوحة. افتح طرفية جديدة وتأكد أن الدخول بالمفتاح يعمل قبل أن تغادر. وإن أغلقت الباب على نفسك فافتح وحدة تحكم VNC من اللوحة. فالدخول من الوحدة لا يتأثر بإعدادات SSH.

قد تعود هذه الإعدادات إلى ما كانت عليه دون أن تشعر. فإجراءات في لوحة المزوّد، مثل إضافة مفتاح SSH أو إعادة تعيين كلمة المرور، قد تجعل سكربت أول إقلاع لدى المزوّد (cloud-init) يعمل من جديد عند الإقلاع التالي، وقد يعيد تفعيل الدخول بكلمة المرور. بعد أي إجراء كهذا نفّذ الأمر sshd -T أعلاه مرة أخرى وتحقق من القيم.

تضييق الوصول من الخارج

5. شغّل جدار الحماية

في ufw اسمح بـ SSH أولًا ثم فعّل جدار الحماية. إن فعلت العكس انقطع اتصالك. وإذا كان SSH يعمل على منفذ غير 22 فاستخدم ذلك المنفذ بدل 22:

sudo ufw allow 22/tcp

sudo ufw enable

sudo ufw status verbose

إذا كنت ستشغّل خادم ويب فاسمح أيضًا بالمنفذين 80 و443. يرفض ufw الاتصالات الواردة افتراضيًا. وفي اللوحة أيضًا أداة لجدار الحماية. وإن كنت تستخدم Docker فاحذر: بحسب توثيق Docker، تتجاوز المنافذ التي تنشرها قواعد ufw. وللخدمات التي لا يحتاج إليها إلا الخادم نفسه، انشر المنفذ على عنوان loopback فقط، مثل 127.0.0.1:5432:5432 في ملف Docker Compose.

6. ثبّت fail2ban

يحظر fail2ban لفترة عناوين IP التي تفشل في الدخول مرارًا:

sudo apt install -y fail2ban python3-systemd

printf '[sshd]\nenabled = true\nbackend = systemd\nmaxretry = 5\nbantime = 1h\n' | sudo tee /etc/fail2ban/jail.local

sudo systemctl enable fail2ban && sudo systemctl restart fail2ban

sudo fail2ban-client status sshd

على خوادم التطبيقات بنقرة واحدة في Seturack يكون ufw مفعّلًا ويعمل fail2ban. وإذا ثبّتّ نظام تشغيل نظيفًا فتحقق من حالتهما بالأمرين sudo ufw status وsystemctl is-active fail2ban.

7. راجع المنافذ المفتوحة

sudo ss -tulpn

يسرد الأمر كل خدمة ومنفذ في وضع الاستماع. الخدمات التي لا تحتاج إلى وصول خارجي، مثل قواعد البيانات والذاكرات المؤقتة، ينبغي أن تستمع على 127.0.0.1 فقط. وأوقف ما لا تحتاج إليه: sudo systemctl disable --now service-name

كيف تحافظ على ذلك

8. أتمت التحديثات الأمنية

بحسب توثيق Ubuntu، تأتي حزمة unattended-upgrades مثبّتة عادةً وتكون التحديثات الأمنية مفعّلة. وإن كانت مفقودة فثبّتها وفعّلها:

sudo apt install -y unattended-upgrades

sudo dpkg-reconfigure -plow unattended-upgrades

إعادة التشغيل التلقائية متوقفة افتراضيًا، فأعد تشغيل الخادم بنفسك بعد تحديثات النواة. وبموجب شروط الخدمة، إبقاء النظام محدّثًا بعد الإعداد مسؤوليتك.

9. خذ نسخًا احتياطية وجرّب الاستعادة

في Seturack يُؤخذ نسخ احتياطي لخادمك كل ليلة وتُحفظ آخر 7 أيام، وهو مشمول في السعر. في تبويب الإدارة افتح النسخ الاحتياطية لتراها، وأنقذ ملفًا واحدًا أو استعد الخادم كاملًا. ولتجربة الاستعادة أنقذ ملفًا واحدًا: فاستعادة الخادم كاملًا تستبدل القرص الحالي بأكمله. وأخذ لقطة قبل تغيير كبير عادة جيدة، لكن اللقطة ليست نسخة احتياطية. احتفظ بنسخة من بياناتك المهمة خارج الخادم أيضًا. وللتفاصيل راجع مقالة النسخ الاحتياطية اليومية.

10. قوِّ كلمات مرورك

حساب اللوحة لديك هو مفتاح الخادم. استخدم فيه كلمة مرور طويلة لا تستخدمها في أي مكان آخر، واحفظها في مدير كلمات المرور. وغيّر كلمة مرور root الأولى التي نسختها من اللوحة بالأمر sudo passwd root. وضع عبارة مرور على مفتاح SSH الخاص. ولا تلصق كلمات المرور أو المفاتيح في رسائل الدعم أو المحادثات أبدًا.

التعليقات0

لا توجد تعليقات بعد

كن أول من يشارك رأيه.

الانضمام إلى النقاش

يرجى تسجيل الدخول أو إنشاء حساب لترك تعليق.

لا تفوت أي مقالة

تلق أحدث الشروحات والأدلة وأخبار منتجاتنا في بريدك الوارد.

تم اشتراكك في نشرتنا البريدية.