OTOMY
SERVER CONFIG٩ يونيو ٢٠٢٦6 min

قائمة التحقّق 2025: تأمين خادم Linux VPS في 20 دقيقة

خادمك الافتراضي VPS متصل بالإنترنت، لكن هل هو محمي فعلاً؟ إليك قائمة التحقّق DevSecOps لعام 2025 لتأمين خادم Linux VPS في 20 دقيقة بالضبط، خطوة بخطوة.

M

بقلم

Melissa Slimani

قائمة التحقّق 2025: تأمين خادم Linux VPS في 20 دقيقة

تأمين خادم Linux VPS في 2025: قائمة التحقّق الكاملة في 20 دقيقة

كل يوم، يتم فحص آلاف خوادم VPS المُنشأة حديثاً بواسطة الروبوتات في أقل من 15 دقيقة. إذا كنت تنشر مشاريعك على Hetzner أو OVH أو Scaleway أو أي مزوّد آخر، فهذا الدليل هو خط دفاعك الأول.

في Otomy، يمرّ كل خادم نُعدّه لعملائنا (المؤسسات الصغيرة والمتوسطة في فرنسا والجزائر) عبر قائمة التحقّق هذه. وهي مصمّمة لتُنفَّذ في 20 دقيقة على Ubuntu 22.04 / 24.04 أو Debian 12.


الخطوة 1 — الاتصال الأوّلي وتحديث النظام (دقيقتان)

ssh root@VOTRE_IP
apt update && apt upgrade -y && apt autoremove -y

لماذا هذا بالغ الأهمية: تُعدّ الثغرات الأمنية (CVE) غير المُرقَّعة المتّجه الأول للهجمات على خوادم VPS. التحديث الفوري يُزيل الثغرات المعروفة.

فعّل التحديثات الأمنية التلقائية:

apt install unattended-upgrades -y
dpkg-reconfigure -plow unattended-upgrades

الخطوة 2 — إنشاء مستخدم غير root بصلاحيات sudo (دقيقتان)

لا تعمل أبداً بحساب root. هذه هي القاعدة الذهبية.

adduser deploy
usermod -aG sudo deploy

اختبر الاتصال بالمستخدم الجديد قبل المتابعة:

ssh deploy@VOTRE_IP
sudo whoami  # يجب أن يُرجع "root"

الخطوة 3 — المصادقة بمفتاح SSH فقط (3 دقائق)

على جهازك المحلي:

ssh-keygen -t ed25519 -C "deploy@monprojet"
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@VOTRE_IP

ثم على الخادم، أغلق إعدادات SSH:

sudo nano /etc/ssh/sshd_config

عدّل هذه الأسطر:

Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
sudo systemctl restart sshd

نصيحة من Otomy: نستخدم 1Password SSH Agent أو Secretive (macOS) لإدارة المفاتيح دون تخزينها كملفات على القرص.


الخطوة 4 — إعداد جدار الحماية UFW (دقيقتان)

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp comment 'SSH'
sudo ufw allow 443/tcp comment 'HTTPS'
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw enable
sudo ufw status verbose

إذا كنت تستضيف Supabase أو n8n أو خدمات أخرى على منافذ مخصّصة، أضفها بشكل صريح. لا تفتح جميع المنافذ أبداً.


الخطوة 5 — تثبيت وإعداد Fail2Ban (3 دقائق)

sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

الإعدادات الموصى بها:

[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 3600
findtime = 600
sudo systemctl enable fail2ban
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd

النتيجة: أي عنوان IP يفشل 3 مرات في غضون 10 دقائق يُحظر لمدة ساعة واحدة.


الخطوة 6 — تقوية النواة باستخدام sysctl (دقيقتان)

sudo nano /etc/sysctl.d/99-hardening.conf
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.tcp_syncookies = 1
kernel.randomize_va_space = 2
sudo sysctl --system

تحظر هذه الإعدادات الانتحال (Spoofing) وإعادات توجيه ICMP وتُفعّل SYN cookies للحماية من هجمات DDoS الأساسية.


الخطوة 7 — تثبيت مراقبة بسيطة (3 دقائق)

لا حاجة لحزمة مراقبة كاملة. أداتان تكفيان للبداية:

Logwatch (تقارير يومية بالبريد الإلكتروني)

sudo apt install logwatch -y
sudo logwatch --detail Med --mailto votre@email.com --range today

Netdata (مراقبة فورية بواجهة ويب)

curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh
sh /tmp/netdata-kickstart.sh --stable-channel

مهم: لا تعرضها أبداً للعموم. استخدم نفق SSH أو وكيلاً عكسياً مع مصادقة:

ssh -L 19999:localhost:19999 deploy@VOTRE_IP -p 2222

الخطوة 8 — إضافة DevSecOps: أتمتة التدقيق الأمني (3 دقائق)

Lynis — تدقيق أمني مؤتمت

sudo apt install lynis -y
sudo lynis audit system

يُنتج Lynis درجة تقوية وتوصيات عملية. في Otomy، ندمج هذا التقرير في خطوط أنابيب CI/CD عبر GitHub Actions لتدقيق كل عملية نشر جديدة.

الأتمتة باستخدام n8n

إذا كنت تستخدم n8n (الذي ننشره بشكل متكرّر لدى عملائنا)، أنشئ سير عمل يقوم بما يلي:

  1. تنفيذ أمر lynis audit system عبر SSH
  2. تحليل درجة التقوية
  3. إرسال تنبيه عبر Slack/Telegram إذا انخفضت الدرجة عن 70

الملخّص — قائمة التحقّق في 20 دقيقة

الخطوة الإجراء المدة
1 تحديث النظام + unattended-upgrades دقيقتان
2 مستخدم غير root + sudo دقيقتان
3 مفتاح SSH Ed25519 + تقوية sshd_config 3 دقائق
4 UFW: حظر الكل، والسماح بـ SSH/HTTP/HTTPS دقيقتان
5 Fail2Ban على SSH 3 دقائق
6 تقوية sysctl دقيقتان
7 Logwatch + Netdata 3 دقائق
8 تدقيق Lynis + تنبيهات n8n 3 دقائق

ما يجب فعله بعد هذه الـ 20 دقيقة

  • إعداد نسخ احتياطية تلقائية (Restic + B2 أو S3)
  • نشر وكيل عكسي Caddy أو Nginx مع TLS تلقائي
  • تفعيل CrowdSec كبديل مجتمعي لـ Fail2Ban
  • حاويات التطبيقات باستخدام Docker + شبكة معزولة
  • جدولة تدقيق Lynis شهري مؤتمت

الخلاصة

تأمين خادم Linux VPS في عام 2025 ليس خياراً — إنه شرط أساسي. هذه الـ 20 دقيقة من الاستثمار تُجنّبك أسابيع من المعاناة في حال تعرّض الخادم للاختراق.

في Otomy، نطبّق قائمة التحقّق هذه على كل خادم ننشره لعملائنا، سواء لاستضافة متجر إلكتروني أو نسخة n8n أو قاعدة بيانات Supabase أو مشروع مُنشأ عبر Vercel بخادم خلفي مخصّص.

بحاجة إلى تدقيق أمني شامل أو إدارة DevSecOps؟ تواصل مع فريق Otomy.

OTOMY

هل تريد أتمتة عملك؟

احجز مكالمة مجانية — 30 دقيقة لتحديد ما يمكن أتمتته.