دليل اختيار توزيعة Linux: Ubuntu وDebian وAlmaLinux
اختر توزيعة Linux المناسبة لـ VPS: مقارنة Ubuntu LTS وDebian وAlmaLinux وRocky Linux، المزايا والعيوب، حالات الاستخدام والتوصيات.
إعداد VPS خطوة بخطوة: أول اتصال SSH، تحديث النظام، إنشاء مستخدم غير root، تقوية SSH، تثبيت جدار الحماية وFail2Ban لخادم آمن.
لقد اشتريت للتو خادم VPS وتتصل به لأول مرة. ماذا يجب أن تفعل الآن؟ التكوين الافتراضي غير محسّن للأمان: SSH مفتوح بكلمة مرور root، لا يوجد جدار حماية، والنظام غير محدّث. يوفر هذا الدليل قائمة تحقق خطوة بخطوة لإعداد خادم آمن من الصفر.
اتبع جميع الخطوات بالترتيب. لا تغلق اتصال SSH الحالي أثناء تغيير تكوين SSH — اختبر كل تغيير من علامة تبويب طرفية جديدة.
احصل على عنوان IP وكلمة مرور root لخادمك من لوحة REXE. ثم اتصل من طرفيتك:
ssh root@IP_الخادم
بعد الاتصال، تحقق من معلومات نظامك:
# معلومات نظام التشغيل
cat /etc/os-release
# موارد النظام
free -h
df -h
nproc
# وقت التشغيل
uptime
أول شيء يجب فعله هو تحديث النظام. قد تحتوي الحزم القديمة على ثغرات أمنية.
# لـ Ubuntu/Debian
apt update && apt upgrade -y
# تنظيف الحزم غير الضرورية
apt autoremove -y
apt autoclean
# لـ AlmaLinux/Rocky Linux
dnf update -y
dnf autoremove -y
إذا وصل تحديث للنواة أثناء الترقية، قد تحتاج إلى إعادة تشغيل الخادم: reboot
العمل مباشرة كـ 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-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
عدّل ملف تكوين 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، تحقق من إمكانية الاتصال عبر المنفذ الجديد قبل تحديث قواعد جدار الحماية!
# تثبيت 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
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
يوفر 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
المنطقة الزمنية الصحيحة مهمة لملفات السجل ذات المعنى:
# التحقق من المنطقة الزمنية الحالية
timedatectl
# تعيين المنطقة الزمنية (مثال: بغداد)
timedatectl set-timezone Asia/Baghdad
# تفعيل مزامنة NTP
timedatectl set-ntp true
# التحقق
timedatectl status
date
# أدوات مفيدة
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
apt update && apt upgrade)PermitRootLogin no)PasswordAuthentication no)بعد إتمام هذه الخطوات، يستوفي خادمك معايير الأمان الأساسية. كخطوة تالية، نوصي بمراجعة دليل تقوية أمان الخادم. لا تنسَ إجراء تحديثات منتظمة للنظام ومراقبة سجلاتك.
تُعرض كلمة مرور root في صفحة تفاصيل خادمك في لوحة عملاء REXE. كما تُرسل عبر البريد الإلكتروني عند اكتمال إعداد الخادم. يُنصح بتغيير كلمة المرور بعد أول تسجيل دخول.
نعم، لكن لا يُنصح بذلك. تسجيل الدخول بكلمة المرور عرضة لهجمات القوة الغاشمة. بعد إعداد مفتاح SSH، عطّل تسجيل الدخول بكلمة المرور بتعيين PasswordAuthentication no. احرص على عمل نسخة احتياطية من مفتاحك لتجنب فقدان الوصول.
ليس إلزامياً، لكنه موصى به. المنفذ الافتراضي 22 هو هدف أدوات المسح الآلي. تغيير المنفذ يقلل هذه الهجمات بشكل كبير. بالاقتران مع Fail2Ban، يوفر حماية أكثر فعالية.
يمكنك الاتصال بخادمك عبر وحدة تحكم VNC/KVM في لوحة REXE. صحّح قواعد جدار الحماية عبر وحدة التحكم: نفّذ ufw allow منفذ_SSH_الخاص_بك/tcp. تأكد دائماً من السماح بمنفذ SSH قبل تغيير قواعد جدار الحماية.
اتصل عبر وحدة تحكم VNC في لوحة REXE ونفّذ: fail2ban-client set sshd unbanip عنوان_IP_الخاص_بك. لمنع ذلك مستقبلاً، أضف IP الخاص بك إلى قائمة ignoreip في /etc/fail2ban/jail.local: أضف السطر ignoreip = 127.0.0.1/8 IP_الخاص_بك.
اختر توزيعة Linux المناسبة لـ VPS: مقارنة Ubuntu LTS وDebian وAlmaLinux وRocky Linux، المزايا والعيوب، حالات الاستخدام والتوصيات.
الفروق التقنية بين VPS وVDS والخوادم المخصصة: أنواع المحاكاة الافتراضية، مقارنة الأداء، حالات الاستخدام، الأسعار ومتى تقوم بالترقية.