دليل الإعداد الأولي لـ VPS: قائمة تحقق الخادم الآمن
إعداد VPS خطوة بخطوة: أول اتصال SSH، تحديث النظام، إنشاء مستخدم غير root، تقوية SSH، تثبيت جدار الحماية وFail2Ban لخادم آمن.
جدول المحتويات
دليل الإعداد الأولي لـ VPS: قائمة تحقق الخادم الآمن
لقد اشتريت للتو خادم VPS وتتصل به لأول مرة. ماذا يجب أن تفعل الآن؟ التكوين الافتراضي غير محسّن للأمان: SSH مفتوح بكلمة مرور root، لا يوجد جدار حماية، والنظام غير محدّث. يوفر هذا الدليل قائمة تحقق خطوة بخطوة لإعداد خادم آمن من الصفر.
اتبع جميع الخطوات بالترتيب. لا تغلق اتصال SSH الحالي أثناء تغيير تكوين SSH — اختبر كل تغيير من علامة تبويب طرفية جديدة.
الخطوة 1: أول اتصال SSH
احصل على عنوان IP وكلمة مرور root لخادمك من لوحة REXE. ثم اتصل من طرفيتك:
ssh root@IP_الخادم
بعد الاتصال، تحقق من معلومات نظامك:
# معلومات نظام التشغيل
cat /etc/os-release
# موارد النظام
free -h
df -h
nproc
# وقت التشغيل
uptime
الخطوة 2: تحديث النظام
أول شيء يجب فعله هو تحديث النظام. قد تحتوي الحزم القديمة على ثغرات أمنية.
# لـ 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:
# إنشاء مستخدم جديد
adduser admin
# إضافة إلى مجموعة sudo (Ubuntu/Debian)
usermod -aG sudo admin
# إضافة إلى مجموعة wheel (AlmaLinux/Rocky)
usermod -aG wheel admin
# التبديل إلى المستخدم والاختبار
su - admin
sudo whoami # يجب أن يُخرج "root"
exit
إعداد مفتاح SSH
استخدام مفاتيح SSH بدلاً من كلمات المرور أكثر أماناً بكثير:
# على جهازك المحلي، أنشئ زوج مفاتيح
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:
nano /etc/ssh/sshd_config
طبّق الإعدادات التالية:
# تعطيل تسجيل دخول root
PermitRootLogin no
# تعطيل المصادقة بكلمة المرور (بعد إعداد مفتاح SSH)
PasswordAuthentication no
# عدم السماح بكلمات المرور الفارغة
PermitEmptyPasswords no
# الحد الأقصى لمحاولات تسجيل الدخول
MaxAuthTries 3
# مهلة تسجيل الدخول
LoginGraceTime 30
# تغيير منفذ SSH (اختياري لكن موصى به)
Port 2222
# السماح لمستخدمين محددين فقط
AllowUsers admin
# اختبار التكوين
sshd -t
# إعادة تشغيل خدمة SSH
systemctl restart sshd
# اختبر الاتصال من طرفية جديدة!
ssh -p 2222 admin@IP_الخادم
إذا غيّرت منفذ SSH، تحقق من إمكانية الاتصال عبر المنفذ الجديد قبل تحديث قواعد جدار الحماية!
الخطوة 5: إعداد جدار الحماية
مع UFW (Ubuntu/Debian)
# تثبيت 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)
# تشغيل 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 حماية تلقائية ضد هجمات القوة الغاشمة:
# تثبيت 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
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
[sshd]
enabled = true
port = 2222
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
# تشغيل Fail2Ban
systemctl start fail2ban
systemctl enable fail2ban
# التحقق من الحالة
fail2ban-client status
fail2ban-client status sshd
الخطوة 7: تكوين المنطقة الزمنية
المنطقة الزمنية الصحيحة مهمة لملفات السجل ذات المعنى:
# التحقق من المنطقة الزمنية الحالية
timedatectl
# تعيين المنطقة الزمنية (مثال: بغداد)
timedatectl set-timezone Asia/Baghdad
# تفعيل مزامنة NTP
timedatectl set-ntp true
# التحقق
timedatectl status
date
الخطوة 8: تثبيت الأدوات الأساسية
# أدوات مفيدة
apt install -y \
curl wget git vim htop \
net-tools dnsutils \
unzip tar \
logwatch
قائمة تحقق ما بعد الإعداد
# هل خدمة 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 مع المستخدم الجديد
الخلاصة
بعد إتمام هذه الخطوات، يستوفي خادمك معايير الأمان الأساسية. كخطوة تالية، نوصي بمراجعة دليل تقوية أمان الخادم. لا تنسَ إجراء تحديثات منتظمة للنظام ومراقبة سجلاتك.
مقالات ذات صلة
دليل اختيار توزيعة Linux: Ubuntu وDebian وAlmaLinux
اختر توزيعة Linux المناسبة لـ VPS: مقارنة Ubuntu LTS وDebian وAlmaLinux وRocky Linux، المزايا والعيوب، حالات الاستخدام والتوصيات.
VPS مقابل VDS مقابل الخادم المخصص: مقارنة تقنية
الفروق التقنية بين VPS وVDS والخوادم المخصصة: أنواع المحاكاة الافتراضية، مقارنة الأداء، حالات الاستخدام، الأسعار ومتى تقوم بالترقية.