انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

دليل الإعداد الأولي لـ VPS: قائمة تحقق الخادم الآمن

إعداد VPS خطوة بخطوة: أول اتصال SSH، تحديث النظام، إنشاء مستخدم غير root، تقوية SSH، تثبيت جدار الحماية وFail2Ban لخادم آمن.

وقت القراءة: 14 دقيقة البدء مع VPS
vpsالإعداد الأوليsshالأمانجدار الحمايةfail2banlinuxقائمة تحقق

جدول المحتويات

دليل الإعداد الأولي لـ VPS: قائمة تحقق الخادم الآمن

لقد اشتريت للتو خادم VPS وتتصل به لأول مرة. ماذا يجب أن تفعل الآن؟ التكوين الافتراضي غير محسّن للأمان: SSH مفتوح بكلمة مرور root، لا يوجد جدار حماية، والنظام غير محدّث. يوفر هذا الدليل قائمة تحقق خطوة بخطوة لإعداد خادم آمن من الصفر.

اتبع جميع الخطوات بالترتيب. لا تغلق اتصال SSH الحالي أثناء تغيير تكوين SSH — اختبر كل تغيير من علامة تبويب طرفية جديدة.

الخطوة 1: أول اتصال SSH

احصل على عنوان IP وكلمة مرور root لخادمك من لوحة REXE. ثم اتصل من طرفيتك:

hljs bash
ssh root@IP_الخادم

بعد الاتصال، تحقق من معلومات نظامك:

hljs bash
# معلومات نظام التشغيل
cat /etc/os-release

# موارد النظام
free -h
df -h
nproc

# وقت التشغيل
uptime

الخطوة 2: تحديث النظام

أول شيء يجب فعله هو تحديث النظام. قد تحتوي الحزم القديمة على ثغرات أمنية.

hljs bash
# لـ Ubuntu/Debian
apt update && apt upgrade -y

# تنظيف الحزم غير الضرورية
apt autoremove -y
apt autoclean

# لـ AlmaLinux/Rocky Linux
dnf update -y
dnf autoremove -y

إذا وصل تحديث للنواة أثناء الترقية، قد تحتاج إلى إعادة تشغيل الخادم: reboot

الخطوة 3: إنشاء مستخدم غير root

العمل مباشرة كـ root خطير. أنشئ مستخدماً عادياً بصلاحيات sudo:

hljs bash
# إنشاء مستخدم جديد
adduser admin

# إضافة إلى مجموعة sudo (Ubuntu/Debian)
usermod -aG sudo admin

# إضافة إلى مجموعة wheel (AlmaLinux/Rocky)
usermod -aG wheel admin

# التبديل إلى المستخدم والاختبار
su - admin
sudo whoami  # يجب أن يُخرج "root"
exit

إعداد مفتاح SSH

استخدام مفاتيح SSH بدلاً من كلمات المرور أكثر أماناً بكثير:

hljs bash
# على جهازك المحلي، أنشئ زوج مفاتيح
ssh-keygen -t ed25519 -C "vps-admin"

# انسخ المفتاح العام إلى الخادم
ssh-copy-id admin@IP_الخادم

# أو يدوياً:
cat ~/.ssh/id_ed25519.pub
# الصق الناتج على الخادم:
mkdir -p /home/admin/.ssh
nano /home/admin/.ssh/authorized_keys
chmod 700 /home/admin/.ssh
chmod 600 /home/admin/.ssh/authorized_keys
chown -R admin:admin /home/admin/.ssh

الخطوة 4: تقوية تكوين SSH

عدّل ملف تكوين SSH:

hljs bash
nano /etc/ssh/sshd_config

طبّق الإعدادات التالية:

# تعطيل تسجيل دخول root
PermitRootLogin no

# تعطيل المصادقة بكلمة المرور (بعد إعداد مفتاح SSH)
PasswordAuthentication no

# عدم السماح بكلمات المرور الفارغة
PermitEmptyPasswords no

# الحد الأقصى لمحاولات تسجيل الدخول
MaxAuthTries 3

# مهلة تسجيل الدخول
LoginGraceTime 30

# تغيير منفذ SSH (اختياري لكن موصى به)
Port 2222

# السماح لمستخدمين محددين فقط
AllowUsers admin
hljs bash
# اختبار التكوين
sshd -t

# إعادة تشغيل خدمة SSH
systemctl restart sshd

# اختبر الاتصال من طرفية جديدة!
ssh -p 2222 admin@IP_الخادم

إذا غيّرت منفذ SSH، تحقق من إمكانية الاتصال عبر المنفذ الجديد قبل تحديث قواعد جدار الحماية!

الخطوة 5: إعداد جدار الحماية

مع UFW (Ubuntu/Debian)

hljs bash
# تثبيت UFW
apt install ufw -y

# السياسات الافتراضية
ufw default deny incoming
ufw default allow outgoing

# السماح بمنفذ SSH (استخدم 2222 إذا غيّرته)
ufw allow 2222/tcp
# أو للمنفذ الافتراضي:
# ufw allow ssh

# خدمات الويب (إذا لزم الأمر)
ufw allow 80/tcp
ufw allow 443/tcp

# تفعيل UFW
ufw enable

# التحقق من الحالة
ufw status verbose

مع firewalld (AlmaLinux/Rocky)

hljs bash
# تشغيل firewalld
systemctl start firewalld
systemctl enable firewalld

# السماح بمنفذ SSH
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload

# التحقق من الحالة
firewall-cmd --list-all

الخطوة 6: تثبيت Fail2Ban

يوفر Fail2Ban حماية تلقائية ضد هجمات القوة الغاشمة:

hljs bash
# تثبيت Fail2Ban
apt install fail2ban -y  # Ubuntu/Debian
# أو
dnf install fail2ban -y  # AlmaLinux/Rocky

# إنشاء تكوين محلي
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local
hljs ini
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5

[sshd]
enabled = true
port = 2222
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
hljs bash
# تشغيل Fail2Ban
systemctl start fail2ban
systemctl enable fail2ban

# التحقق من الحالة
fail2ban-client status
fail2ban-client status sshd

الخطوة 7: تكوين المنطقة الزمنية

المنطقة الزمنية الصحيحة مهمة لملفات السجل ذات المعنى:

hljs bash
# التحقق من المنطقة الزمنية الحالية
timedatectl

# تعيين المنطقة الزمنية (مثال: بغداد)
timedatectl set-timezone Asia/Baghdad

# تفعيل مزامنة NTP
timedatectl set-ntp true

# التحقق
timedatectl status
date

الخطوة 8: تثبيت الأدوات الأساسية

hljs bash
# أدوات مفيدة
apt install -y \
  curl wget git vim htop \
  net-tools dnsutils \
  unzip tar \
  logwatch

قائمة تحقق ما بعد الإعداد

hljs bash
# هل خدمة SSH تعمل؟
systemctl status sshd

# هل جدار الحماية نشط؟
ufw status  # أو: firewall-cmd --state

# هل Fail2Ban يعمل؟
fail2ban-client status

# هل النظام محدّث؟
apt list --upgradable 2>/dev/null | head -20

# المنافذ المفتوحة
ss -tlnp

# محاولات تسجيل الدخول الأخيرة
grep "Failed password" /var/log/auth.log | tail -10

✅ قائمة التحقق السريعة

  • تم إجراء أول اتصال SSH
  • تم تحديث النظام (apt update && apt upgrade)
  • تم إنشاء مستخدم sudo غير root
  • تم تثبيت مفتاح SSH
  • تم تعطيل تسجيل دخول root عبر SSH (PermitRootLogin no)
  • تم تعطيل تسجيل الدخول بكلمة المرور عبر SSH (PasswordAuthentication no)
  • تم تغيير منفذ SSH (اختياري)
  • تم تثبيت جدار الحماية وتكوينه
  • تم تثبيت Fail2Ban وتفعيله
  • تم تكوين المنطقة الزمنية
  • تم تثبيت الأدوات الأساسية
  • تم اختبار اتصال SSH مع المستخدم الجديد

الخلاصة

بعد إتمام هذه الخطوات، يستوفي خادمك معايير الأمان الأساسية. كخطوة تالية، نوصي بمراجعة دليل تقوية أمان الخادم. لا تنسَ إجراء تحديثات منتظمة للنظام ومراقبة سجلاتك.