دليل عملي

قائمة تصليب خادم لينكس للوكالات بعد التسليم

الأمان والمراقبة11 دقيقةً للقراءةعدد الخطوات: 10

وكالتك تسلّم خادمًا VPS وكل تقني يطبق «تقريبًا نفس الشيء» — بدون دليل مكتوب، بدون أثر موثق. عند وقوع حادث أمني، لا يمكنك إثبات أن تهيئة الأمان المتفق عليها قد طُبّقت فعليًا. يبدأ هذا الدليل من حيث ينتهي البرنامج التعليمي الفردي: التوحيد والتفويض والتتبع لإدارة محفظة خوادم العملاء.

المحتويات· لماذا يغيّر الدليل المقنَّن كل شيء للوكالة1/13
  1. 01لماذا يغيّر الدليل المقنَّن كل شيء للوكالة
  2. 02ما يضيفه هذا الدليل لوكالتك
  3. 03المتطلبات الأساسية ونطاق القائمة
  4. 04الكتلة 1 — التحديثات والجرد الأولي
  5. 05الكتلة 2 — مستخدم sudo وإغلاق root
  6. 06الكتلة 3 — المصادقة بمفتاح SSH
  7. 07الكتلة 4 — جدار الحماية UFW
  8. 08الكتلة 5 — fail2ban
  9. 09الكتلة 6 — auditd: سجل التتبع
  10. 10الكتلة 7 — التحقق النهائي وسجل التسليم
  11. 11دليل الوكالة مقابل التهيئة الارتجالية
  12. 12استكشاف الأخطاء: الأخطاء الشائعة عند تطبيق الدليل
  13. 13للمزيد: التحصين المتقدم والمراقبة المستمرة

لماذا يغيّر الدليل المقنَّن كل شيء للوكالة

يستطيع المطور الفردي تطبيق خمس أوامر ذهنيًا بعد كل تسليم. الوكالة لا تستطيع ذلك: تقنيون متعددون، وعشرات خوادم VPS للعملاء، وجداول مناوبة متدورة. حين يُبلّغ عميل عن وصول مشبوه بعد ستة أشهر من الإطلاق، السؤال ليس «هل أمّنتم الخادم؟» بل «هل تستطيعون إثبات ذلك؟»

أصبحت إمكانية التتبع متطلبًا تعاقديًا وتنظيميًا. تُلزم توجيهات NIS2 (جاري تطبيقها في التشريعات الوطنية) وGDPR مقدمي الخدمات الذين يتعاملون مع البيانات الشخصية بتوثيق الإجراءات الأمنية المُطبَّقة. بدون دليل تشغيل موثق وبدون سجلات‏ auditd‏، لا تملك وكالتك أي وثيقة قابلة للاحتجاج بها.

لا يُعيد هذا الدليل وصف تثبيت‏ fail2ban‏ أو‏ UFW‏ — فمقالا حماية VPS باستخدام fail2ban وجدار الحماية UFW على VPS يتناولان ذلك بالتفصيل. ينطلق هذا الدليل من مستوى أعلى: كيفية توحيد هذه الإجراءات وتفويضها وتتبعها عبر محفظة كاملة من عملاء.

ما يضيفه هذا الدليل لوكالتك

  • قابلية التكرار: يتبع كل تقني نفس الخطوات بالضبط، بنفس الترتيب، في كل خادم VPS جديد.
  • إمكانية التتبع: يسجّل‏ auditd‏ من فعل ماذا، ومتى، وأي أمر — دليل قابل للحفظ في حالات الحوادث أو مراجعات العملاء.
  • التفويض الآمن: يستطيع التقني المبتدئ تسليم خادم مُصلَّب دون ارتجال، لأن الدليل يحتوي القرارات نيابةً عنه.
  • الدفاع التعاقدي: بند الأمان في عقد الصيانة لا يمكن الاحتجاج به إلا بسجل تنفيذ مؤرخ.
  • تقليص سطح الهجوم: تُزيل القائمة الإهمالات الكلاسيكية — SSH للمستخدم root مفتوح، auditd غير مفعّل — وهي نقاط الدخول الأكثر استغلالًا.
  • الاتساق بين العملاء: نفس القاعدة الأمنية للجميع، مع فوارق فقط حيثما يستلزم ذلك مواصفات العميل.

المتطلبات الأساسية ونطاق القائمة

تستهدف هذه القائمة Ubuntu 24.04 LTS وDebian 12 (Bookworm)، وهما أكثر التوزيعات شيوعًا على خوادم VPS عام 2026. جرى التحقق من الأوامر على هذه الأنظمة؛ على AlmaLinux أو Rocky Linux تختلف أسماء الحزم ومسارات الخدمة.

المتطلبات الدنيا للـ‏VPS: نواة واحدة (vCPU)، 1 جيجابايت رام (2 جيجابايت مُوصى بها عند تشغيل fail2ban وauditd معًا)، 20 جيجابايت SSD. تسلّم ServOrbit كل VPS بوصول فوري للمستخدم root عبر SSH وطرفية KVM مضمّنة، مما يُتيح لوكالتك تطبيق هذا الدليل منذ اللحظة الأولى — دون الحاجة لطلب وصول وسيط من المضيف.

القائمة منظَّمة في سبعة كتل بترتيب التطبيق. تتوقف عند نطاق الأمان الأساسي للنظام: أمان التطبيقات (لوحة الإدارة المكشوفة، الهجمات على التطبيقات) مُعالَج بشكل منفصل في لوحة الإدارة المكشوفة: سطوح الهجوم المنسية على VPS.

الكتلة 1 — التحديثات والجرد الأولي

  1. تحديث النظام وإعداد الجرد

    أول إجراء بعد تسجيل الدخول كـ‏root‏ هو رفع النظام إلى مستوى التصحيحات الحالية.

    apt update && apt upgrade -y
    apt install -y auditd audispd-plugins curl gnupg2 ufw fail2ban

    سجّل في دليل التشغيل: التاريخ وإصدار النواة (uname -r) وقائمة الحزم المثبتة (dpkg -l > /root/inventory-$(date +%F).txt). يُشكّل ملف الجرد هذا خط الأساس للخادم عند التسليم — وهو الوثيقة التي تقدمها إذا أبدى عميل اعتراضًا على الحالة الأولية لجهازه.

    مرجع CIS Benchmark: التحكم CIS 1.1 (Ubuntu Linux 24.04 LTS Benchmark، قسم «الإعداد الأولي»).

  2. تفعيل التحديثات الأمنية التلقائية

    apt install -y unattended-upgrades
    dpkg-reconfigure --priority=low unattended-upgrades

    تحقق من أن السطر Unattended-Upgrade::Allowed-Origins يتضمن ${distro_id}:${distro_codename}-security. لمحفظة العملاء، فعّل التحديثات التلقائية وجدوِل مراجعة شهرية للتحديثات غير الأمنية — تستلزم موافقة بشرية.

    مرجع CIS: التحكم CIS 1.9 (ضمان تثبيت التحديثات والتصحيحات والبرامج الأمنية الإضافية).

الكتلة 2 — مستخدم sudo وإغلاق root

  1. إنشاء حساب مخصص للإدارة

    لا تستخدم root للمهام اليومية. أنشئ حسابًا اسميًا لكل تقني أو حساب خدمة للوكالة:

    useradd -m -s /bin/bash adminagency
    usermod -aG sudo adminagency
    passwd adminagency

    نصيحة للوكالة: استخدم اسم حساب يمكن تمييزه في السجلات (jean.dupont أو agency-admin)، لا اسمًا عامًا مثل admin. حين يتتبع auditd إجراءً ما، يُسجَّل الحساب المُنفِّذ — الاسم العام يُفقد المراجعة قيمتها.

  2. تعطيل تسجيل دخول root عبر SSH

    sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
    grep PermitRootLogin /etc/ssh/sshd_config

    تنبيه: لا تُعد تحميل sshd إلا بعد التحقق من قدرة مستخدم sudo على الاتصال وتنفيذ sudo su. وإلا ستُقفل نفسك خارج الخادم.

    مرجع CIS: التحكم CIS 5.2.8 (ضمان تعطيل تسجيل دخول root عبر SSH).

الكتلة 3 — المصادقة بمفتاح SSH

  1. نشر المفتاح العمومي للوكالة

    mkdir -p /home/adminagency/.ssh
    chmod 700 /home/adminagency/.ssh
    echo "<AGENCY_PUBLIC_KEY>" >> /home/adminagency/.ssh/authorized_keys
    chmod 600 /home/adminagency/.ssh/authorized_keys
    chown -R adminagency:adminagency /home/adminagency/.ssh

    نصيحة للوكالة: احتفظ بمستودع مفاتيح عمومية بإصدارات (ملف واحد لكل تقني، تجديد سنوي). كل مفتاح يُنشر على VPS عميل يجب أن يكون مرجعًا في هذا المستودع — هذا ما يُتيح لك إلغاء وصول شخص غادر الفريق.

  2. تعطيل المصادقة بكلمة المرور

    بعد التحقق من المفتاح (اختبر من طرفية أخرى قبل التأكيد):

    sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
    sed -i 's/^#\?ChallengeResponseAuthentication.*/ChallengeResponseAuthentication no/' /etc/ssh/sshd_config
    systemctl reload sshd

    مرجع CIS: التحكم CIS 5.2.19 (ضمان تعطيل المصادقة بكلمة المرور في SSH).

الكتلة 4 — جدار الحماية UFW

  1. تهيئة UFW بسياسة الرفض الافتراضي

    ufw default deny incoming
    ufw default allow outgoing
    ufw allow 22/tcp comment 'Agency SSH'
    ufw allow 80/tcp comment 'HTTP'
    ufw allow 443/tcp comment 'HTTPS'
    ufw --force enable
    ufw status verbose

    افتح فقط المنافذ التي يستخدمها مشروع العميل فعليًا. إذا لم يستخدم تطبيق العميل منفذ بريد إلكتروني مباشر، لا تفتحه.

    للتفاصيل الكاملة عن fail2ban وخيارات UFW المتقدمة، راجع المقالين: حماية VPS باستخدام fail2ban وجدار الحماية UFW على VPS.

    مرجع CIS: التحكم CIS 3.5.1 (ضمان تثبيت حزمة جدار الحماية).

الكتلة 5 — fail2ban

  1. تفعيل fail2ban مع سجن SSH

    cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

    حرِّر /etc/fail2ban/jail.local واضبط قسم [sshd]:

    [sshd]
    enabled = true
    maxretry = 5
    findtime = 600
    bantime = 3600
    systemctl enable fail2ban
    systemctl start fail2ban
    fail2ban-client status sshd

    لمحفظة العملاء، يُنصح بالنظر في CrowdSec كبديل أو مكمّل: قائمة الحجب المجتمعية تجمع معلومات آلاف الخوادم.

الكتلة 6 — auditd: سجل التتبع

  1. تفعيل auditd وتهيئة القواعد الأساسية

    auditd هو المكوّن الذي تنساه الوكالات في أغلب الأحيان — ومع ذلك فهو الذي يوفر الدليل القابل للاحتجاج عند وقوع حادث.

    systemctl enable auditd
    systemctl start auditd

    أنشئ ملف قواعد الوكالة في /etc/audit/rules.d/agency.rules:

    # تتبع جميع عمليات رفع الصلاحيات
    -w /etc/sudoers -p wa -k sudoers_changes
    -w /etc/sudoers.d/ -p wa -k sudoers_changes
    
    # تتبع اتصالات SSH
    -w /var/log/auth.log -p wa -k auth_log
    
    # تتبع تعديلات ملفات الإعداد الأساسية
    -w /etc/ssh/sshd_config -p wa -k sshd_config
    -w /etc/passwd -p wa -k passwd_changes
    -w /etc/shadow -p wa -k shadow_changes
    
    # تتبع الأوامر المنفّذة بصلاحية root
    -a always,exit -F arch=b64 -S execve -F euid=0 -k root_commands
    augenrules --load
    auditctl -l

    مرجع CIS: التحكم CIS 4.1.1 (ضمان تفعيل المراجعة) والتحكم CIS 4.1.3 (ضمان جمع الأحداث التي تُعدّل معلومات التاريخ والوقت).

  2. تصدير سجلات auditd والاحتفاظ بها

    يجب الاحتفاظ بسجلات auditd خارج الخادم لتكون قابلة للاحتجاج. هيّئ تصديرًا إلى نظامك المركزي (rsyslog أو Loki أو مزامنة rsync يومية بسيطة إلى تخزين الوكالة):

    # مثال: تصدير rsyslog إلى جامع الوكالة
    echo ':programname, isequal, "auditd" @<IP_COLLECTEUR_AGENCE>:514' \
      >> /etc/rsyslog.d/99-auditd-remote.conf
    systemctl restart rsyslog

    احتفظ بالسجلات لمدة 90 يومًا على الأقل. لا يحدد GDPR مدة احتفاظ دنيا لسجلات الأمان، لكن أُطر مثل CIS Controls v8 (التحكم 8.3) توصي بـ 90 يومًا على الأقل في الموقع وسنة في أرشيف بارد.

الكتلة 7 — التحقق النهائي وسجل التسليم

بعد تنفيذ الكتل الست السابقة، راجع حالة الخادم قبل تسليم الوصول إلى العميل:

# التحقق من الخدمات النشطة
systemctl is-active ufw fail2ban auditd sshd

# التأكد أن root لا يستطيع الاتصال عبر SSH
grep PermitRootLogin /etc/ssh/sshd_config

# التحقق من قواعد UFW
ufw status verbose

# التحقق من قواعد auditd المحمّلة
auditctl -l

# مراجعة آخر عمليات تسجيل الدخول
last -n 10

أنتج سجل تسليم مؤرخًا وموقعًا (حتى عبر البريد الإلكتروني) يُدرج الإجراءات المطبّقة وإصدارات حزم الأمان المثبتة وموقع جامع السجلات. هذه الوثيقة يوقّعها عميلك وتُشكّل الدليل التعاقدي على التهيئة الأولية.

سجل التسليم ليس شكليةً: عميل يتعرض لاختراق بعد سنتين من الإطلاق سيطلب من وكالتك تبرير حالة الخادم عند التسليم. بدون هذه الوثيقة، يتحول عبء الإثبات.

دليل الوكالة مقابل التهيئة الارتجالية

مرّر الجدول أفقيًا

المعيارالتهيئة الارتجاليةالدليل الموحَّد
قابلية التكرارتعتمد على التقني الحاضرمتطابقة في كل تسليم
تتبع auditdنادرًا ما يُفعَّل، تهيئة متغيرةمفعَّل ومهيَّأ بشكل منهجي
الدليل عند الحوادثلا وثائق قابلة للاحتجاجسجل تسليم مؤرخ + سجلات مركزية
التفويض لمبتدئمحفوف بالمخاطر (إهمالات محتملة)ممكن مع الدليل كمرشد
تجديد مفاتيح SSHيدوي وكثيرًا ما يُنسىإجراء مكتوب ومستودع بإصدارات
الامتثال لـ NIS2 / GDPRغير موثقموثق وقابل للتكرار

نصيحة المراجعة الشهرية. مرة في الشهر، أعِد تنفيذ التحققات النهائية من الكتلة 7 على كل VPS عميل نشط وأرشِف المخرجات. الفرق بين مراجعتين متتاليتين يكشف فورًا أي تعديل غير مصرح به: منفذ إضافي مفتوح، خدمة fail2ban موقوفة، قاعدة auditd ناقصة. تستغرق هذه المراجعة أقل من خمس دقائق للخادم الواحد حين تكون الأوامر في سكريبت.

استكشاف الأخطاء: الأخطاء الشائعة عند تطبيق الدليل

الخطأ 1 — sshd يرفض البدء بعد تعديل sshd_config
الرسالة: sshd: /etc/ssh/sshd_config line 42: unsupported option
السبب: توجيه مهمل أو بصياغة خاطئة. تحقق بـ sshd -t قبل إعادة تحميل الخدمة. على Ubuntu 24.04، استُبدلت ChallengeResponseAuthentication بـ KbdInteractiveAuthentication.

sshd -t && systemctl reload sshd

الخطأ 2 — UFW يحجب اتصال SSH الخاص بك
الرسالة: يتجمّد الاتصال SSH بعد ufw enable.
السبب: لم تُضَف قاعدة SSH قبل التفعيل. استخدم طرفية KVM الخاصة بـ ServOrbit للوصول إلى الخادم بدون SSH، ثم نفّذ ufw allow 22/tcp وufw reload.

الخطأ 3 — auditd يعمل لكن auditctl -l يُعيد قائمة فارغة
الرسالة: List of rules: لا يتبعها شيء.
السبب: ملف القواعد غير محمّل. تحقق من وجود ملف .rules في /etc/audit/rules.d/ ونفّذ augenrules --load.

الخطأ 4 — fail2ban لا يحظر رغم محاولات فاشلة متكررة
الرسالة: fail2ban-client status sshd يُظهر Currently banned: 0 بعد 10 محاولات.
السبب: تغيّر مسار سجل SSH. على Debian 12 وUbuntu 24.04 مع journald، يجب ضبط الخلفية في jail.local: backend = systemd.

الخطأ 5 — unattended-upgrades يُعيد تشغيل خدمات الإنتاج
السبب: التهيئة الافتراضية تُعيد تشغيل الخدمات تلقائيًا بعد التحديثات. لخادم VPS عميل في الإنتاج، عطّل إعادة التشغيل التلقائية وجدوِل نافذة صيانة:

# في /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Automatic-Reboot "false";

للمزيد: التحصين المتقدم والمراقبة المستمرة

تُغطي هذه القائمة المستوى الأول من تصليب النظام. لمحفظة عملاء تتطلب مستوى أمانًا أعلى:

- خادم الاستقبال SSH (Bastion): مركزة جميع الوصول عبر نقطة دخول واحدة محصّنة — راجع Bastion Host على VPS.
- CrowdSec: كشف سلوكي وقائمة حجب مجتمعية كمكمّل أو بديل لـ fail2ban — راجع تأمين VPS بـ CrowdSec.
- النسخ الاحتياطية: تهيئة الأمان لا تحمي من فقدان البيانات — راجع النسخ الاحتياطية بـ BorgBackup على VPS.
- تصحيحات التطبيقات: تصليب النظام لا جدوى منه إذا لم يُصان التطبيقات المستضافة ذاتيًا — راجع روتين التصحيحات للتطبيقات المستضافة ذاتيًا.
- شهادات SSL: HTTPS شرط مسبق قبل أي تعرض عمومي — راجع شهادات SSL مع Let's Encrypt على VPS.

ServOrbit تسلّم كل VPS جاهزًا لهذا الدليل

وصول فوري عبر SSH كمستخدم root وطرفية KVM مضمّنة عند التسليم: تطبّق وكالتك هذا الدليل منذ الاتصال الأول، لكل عميل، دون طلب وصول وسيط من المضيف. أدِر محفظة خوادم VPS عملائك بالكامل من لوحة تحكم وكالة مركزية.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة