Wazuh على لينكس: دليل عملي شامل لبناء منصة SIEM/XDR مفتوحة المصدر

دليل عملي شامل لنشر وتكوين Wazuh على لينكس يغطي كشف التسلل والاستجابة التلقائية وفحص الثغرات وتقييم امتثال CIS ومراقبة سلامة الملفات وأمان الحاويات مع أمثلة تطبيقية.

مقدمة: لماذا تحتاج أنظمة لينكس إلى منصة أمان شاملة مثل Wazuh

لنكن صريحين — في ظل التصاعد المستمر للتهديدات السيبرانية التي تستهدف خوادم لينكس والبنية التحتية الحيوية، لم يعد الاعتماد على أدوات أمان منفردة كافياً لحماية الأنظمة. المهاجمون اليوم يستخدمون تقنيات متعددة ومتطورة، من هجمات القوة الغاشمة على SSH إلى استغلال ثغرات النواة واختراق الحاويات. هذا الواقع يتطلب حلاً أمنياً متكاملاً يجمع بين كشف التسلل ومراقبة الأحداث وفحص الثغرات والاستجابة التلقائية في منصة واحدة.

وهنا بالتحديد يأتي دور Wazuh.

Wazuh هي المنصة الأمنية مفتوحة المصدر التي تجمع بين قدرات SIEM (إدارة المعلومات والأحداث الأمنية) وXDR (الكشف والاستجابة الموسّعة) في حل واحد مجاني بالكامل. مع أكثر من 100,000 مؤسسة تستخدمها عالمياً لحماية أكثر من 15 مليون نقطة نهاية — بما في ذلك مؤسسات بارزة مثل NASA وSalesforce وeBay — أثبتت Wazuh نفسها كواحدة من أنضج وأقوى منصات الأمان المتاحة اليوم. وصراحةً، من الصعب تجاهل منصة بهذا الحجم وهذه الكفاءة وهي مجانية بالكامل.

في هذا الدليل الشامل، سنستعرض كل ما تحتاج معرفته لنشر وتكوين Wazuh على أنظمة لينكس: من التثبيت والإعداد الأولي، مروراً بنشر الوكلاء وتكوين كشف التسلل والاستجابة التلقائية، وصولاً إلى فحص الثغرات الأمنية وتقييم الامتثال لمعايير CIS. سواء كنت مدير أنظمة يريد تعزيز أمان خوادمه، أو مهندس أمان يبني مركز عمليات أمنية (SOC)، ستجد هنا كل ما تحتاجه للبدء.

ما هو Wazuh وما الذي يميزه عن الحلول الأخرى

نظرة عامة على المنصة

Wazuh هو منصة أمان سيبراني مفتوحة المصدر بالكامل، تطورت من مشروع OSSEC الشهير لتصبح حلاً متكاملاً يوفر مراقبة أمنية شاملة لنقاط النهاية والبيئات السحابية والحاويات. على عكس حلول SIEM التجارية مثل Splunk أو IBM QRadar التي قد تكلف عشرات الآلاف من الدولارات سنوياً، توفر Wazuh نفس القدرات الأساسية بدون أي تكلفة ترخيص.

وأكثر ما يميز Wazuh عن غيرها هو شموليتها. فهي ليست مجرد نظام كشف تسلل (IDS) أو أداة فحص ثغرات، بل منصة موحدة تدمج القدرات التالية في حل واحد:

  • كشف التسلل القائم على المضيف (HIDS): مراقبة استدعاءات النظام والأحداث الأمنية على كل نقطة نهاية.
  • إدارة المعلومات والأحداث الأمنية (SIEM): جمع وتحليل وربط السجلات من مصادر متعددة.
  • فحص الثغرات الأمنية: اكتشاف الحزم والتطبيقات المعرضة لثغرات CVE معروفة.
  • مراقبة سلامة الملفات (FIM): تتبع التغييرات في الملفات الحساسة والتكوينات.
  • تقييم تكوين الأمان (SCA): فحص الامتثال لمعايير CIS وأُطر العمل التنظيمية.
  • الاستجابة التلقائية: تنفيذ إجراءات مضادة فورية عند اكتشاف تهديدات.
  • أمان الحاويات والسحابة: مراقبة بيئات Docker والبنية التحتية السحابية.

التكامل مع أُطر العمل الأمنية

من الأمور التي أقدّرها شخصياً في Wazuh هو تكاملها المباشر مع قاعدة بيانات MITRE ATT&CK، مما يسمح بربط كل تنبيه بتكتيكات وتقنيات الهجوم المعروفة. كما توفر تعيينات امتثال جاهزة لأُطر عمل PCI DSS وGDPR وHIPAA وNIST 800-53، وهذا يُسهّل عمليات التدقيق بشكل كبير. بالإضافة إلى ذلك، تدعم المنصة التكامل مع أدوات طرف ثالث مثل VirusTotal وTheHive وPagerDuty وSuricata لتوسيع قدراتها.

البنية المعمارية لمنصة Wazuh

تتكون منصة Wazuh من ثلاثة مكونات رئيسية تعمل معاً لتوفير مراقبة أمنية شاملة. دعونا نستعرض كل مكون بالتفصيل.

1. خادم Wazuh (Wazuh Server)

خادم Wazuh هو القلب النابض للمنصة. يضم مدير Wazuh (Wazuh Manager) وFilebeat، حيث يستقبل المدير البيانات من الوكلاء المنشورين ويحللها باستخدام محرك القواعد المدمج، ويولّد التنبيهات عند اكتشاف تهديدات أو شذوذ. أما Filebeat فيتولى إعادة توجيه التنبيهات والأحداث المؤرشفة إلى مفهرس Wazuh بشكل آمن.

يمكنك نشر الخادم على جهاز واحد أو توزيعه على عدة عُقد في تكوين عنقودي (Cluster) لتحقيق التوافرية العالية. في البيئات الإنتاجية الكبيرة، يُنصح بإضافة موازن أحمال شبكي (Load Balancer) لتوزيع الاتصالات بكفاءة.

2. مفهرس Wazuh (Wazuh Indexer)

المفهرس هو محرك بحث وتحليل عالي الأداء مبني على OpenSearch. يتولى فهرسة وتخزين التنبيهات والأحداث الأمنية، ويوفر قدرات بحث متقدمة تسمح لفرق الأمان بالاستعلام عن البيانات التاريخية وإجراء تحقيقات جنائية رقمية. كما يدعم النشر العنقودي متعدد العُقد لضمان التوافرية العالية والتوسع الأفقي.

3. لوحة تحكم Wazuh (Wazuh Dashboard)

لوحة التحكم هي واجهة الويب التفاعلية التي توفر تصورات بيانية غنية للبيانات الأمنية. من خلالها يمكن لفرق الأمان مراقبة التنبيهات في الوقت الفعلي، وإدارة الوكلاء، واستعراض نتائج الفحص. تعمل افتراضياً على المنفذ 443 وهي مبنية على OpenSearch Dashboards — وبصراحة، الواجهة أنيقة وسهلة الاستخدام بشكل مفاجئ لأداة أمنية مفتوحة المصدر.

4. وكلاء Wazuh (Wazuh Agents)

وكيل Wazuh هو برنامج خفيف الوزن يُثبت على نقاط النهاية المراد مراقبتها — سواء كانت خوادم لينكس أو أجهزة ويندوز أو حاويات. يقوم الوكيل بجمع سجلات النظام والتطبيقات ومعلومات المخزون (الحزم المثبتة والعمليات الجارية ومنافذ الشبكة)، ثم إرسالها إلى خادم Wazuh للتحليل المركزي.

تثبيت خادم Wazuh على لينكس: دليل خطوة بخطوة

متطلبات النظام

قبل أن نبدأ بالتثبيت، تأكد من توفر المتطلبات التالية (للنشر الصغير إلى المتوسط — حتى 50 وكيلاً):

  • المعالج: 4 أنوية على الأقل
  • الذاكرة: 8 جيجابايت كحد أدنى (16 جيجابايت مُستحسن)
  • التخزين: 100 جيجابايت على الأقل (SSD مُستحسن بشدة)
  • نظام التشغيل: Ubuntu 20.04/22.04 LTS، CentOS 7/8، RHEL 7/8/9، أو Amazon Linux 2
  • الوصول للإنترنت: مطلوب لتنزيل الحزم وتحديثات CTI

التثبيت السريع باستخدام السكربت الموحد

أسهل طريقة لتثبيت جميع مكونات Wazuh على جهاز واحد هي استخدام سكربت التثبيت الموحد. العملية بسيطة بشكل مدهش:

# Download the Wazuh installation script
curl -sO https://packages.wazuh.com/4.x/wazuh-install.sh

# Run the installation with all components
sudo bash ./wazuh-install.sh -a

# After installation, retrieve the default credentials
sudo tar -O -xvf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt

بعد اكتمال التثبيت، يمكنك الوصول إلى لوحة التحكم عبر المتصفح على العنوان https://<server-ip> باستخدام بيانات الاعتماد المُستخرجة. اسم المستخدم الافتراضي عادة ما يكون admin.

التثبيت المتقدم خطوة بخطوة

في البيئات الإنتاجية، ستحتاج غالباً لتثبيت كل مكون على خادم مستقل لتحقيق أفضل أداء وتوافرية. إليك خطوات تثبيت مدير Wazuh بشكل منفصل على Ubuntu 22.04:

# Import the Wazuh GPG key
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring \
  --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && \
  chmod 644 /usr/share/keyrings/wazuh.gpg

# Add the Wazuh repository
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | \
  sudo tee /etc/apt/sources.list.d/wazuh.list

# Update packages and install the Wazuh manager
sudo apt-get update
sudo apt-get install wazuh-manager -y

# Enable and start the Wazuh manager service
sudo systemctl daemon-reload
sudo systemctl enable wazuh-manager
sudo systemctl start wazuh-manager

# Verify the installation
sudo systemctl status wazuh-manager

التحقق من التثبيت

بعد التثبيت، من المهم التأكد من أن جميع المكونات تعمل بشكل صحيح. إليك الأوامر الأساسية للتحقق:

# Check Wazuh manager status
sudo systemctl status wazuh-manager

# Check Wazuh indexer status
sudo systemctl status wazuh-indexer

# Check Wazuh dashboard status
sudo systemctl status wazuh-dashboard

# View Wazuh manager logs
sudo tail -f /var/ossec/logs/ossec.log

# List connected agents
sudo /var/ossec/bin/agent_control -l

نشر وكلاء Wazuh على أنظمة لينكس

الآن بعد تثبيت الخادم بنجاح، حان وقت نشر الوكلاء على الأجهزة التي تريد مراقبتها. الخبر الجيد هو أن وكيل Wazuh خفيف الوزن فعلاً — عادة أقل من 50 ميجابايت ذاكرة و1% من المعالج. يعني لن تلاحظ وجوده تقريباً.

تثبيت الوكيل على Ubuntu/Debian

# Import the Wazuh GPG key
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring \
  --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && \
  chmod 644 /usr/share/keyrings/wazuh.gpg

# Add the repository
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | \
  sudo tee /etc/apt/sources.list.d/wazuh.list

# Install the agent with server address
WAZUH_MANAGER="10.0.0.1" sudo apt-get install wazuh-agent -y

# Enable and start the agent
sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent

تثبيت الوكيل على RHEL/CentOS

# Import the GPG key
sudo rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH

# Add the Wazuh repository
cat > /etc/yum.repos.d/wazuh.repo << EOF
[wazuh]
gpgcheck=1
gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH
enabled=1
name=EL-\$releasever - Wazuh
baseurl=https://packages.wazuh.com/4.x/yum/
protect=1
EOF

# Install and configure the agent
WAZUH_MANAGER="10.0.0.1" sudo yum install wazuh-agent -y

# Enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent

تكوين الوكيل

ملف تكوين الوكيل الرئيسي يقع في /var/ossec/etc/ossec.conf. هذه أهم الإعدادات التي يجب الانتباه لها:

<ossec_config>
  <client>
    <server>
      <address>10.0.0.1</address>
      <port>1514</port>
      <protocol>tcp</protocol>
    </server>
    <enrollment>
      <enabled>yes</enabled>
      <manager_address>10.0.0.1</manager_address>
      <port>1515</port>
    </enrollment>
  </client>

  <!-- Log collection -->
  <localfile>
    <log_format>syslog</log_format>
    <location>/var/log/syslog</location>
  </localfile>

  <localfile>
    <log_format>syslog</log_format>
    <location>/var/log/auth.log</location>
  </localfile>

  <localfile>
    <log_format>audit</log_format>
    <location>/var/log/audit/audit.log</location>
  </localfile>
</ossec_config>

كشف التسلل والاستجابة التلقائية

هنا نصل لأحد أقوى وأمتع أجزاء Wazuh — القدرة على اكتشاف محاولات التسلل والاستجابة لها تلقائياً. يستخدم محرك القواعد المدمج أكثر من 4,000 قاعدة مُعدّة مسبقاً لتحليل الأحداث الأمنية وتصنيفها حسب خطورتها.

كشف هجمات القوة الغاشمة على SSH

أحد أكثر السيناريوهات شيوعاً (وأكثرها إزعاجاً لمديري الخوادم) هو اكتشاف محاولات تسجيل الدخول بالقوة الغاشمة عبر SSH. عندما يحاول مهاجم تجربة كلمات مرور متعددة، تُطلق Wazuh القاعدة رقم 5763 بعد ثمانية محاولات فاشلة متتالية. وهذه القاعدة جاهزة للعمل مباشرة بدون أي تكوين إضافي.

تكوين الاستجابة التلقائية لحظر عناوين IP

لتفعيل الحظر التلقائي لعناوين IP المُهاجمة، أضف التكوين التالي إلى ملف /var/ossec/etc/ossec.conf على خادم Wazuh:

<ossec_config>
  <!-- Command definition for firewall-drop -->
  <command>
    <name>firewall-drop</name>
    <executable>firewall-drop</executable>
    <timeout_allowed>yes</timeout_allowed>
  </command>

  <!-- Active response configuration -->
  <active-response>
    <disabled>no</disabled>
    <command>firewall-drop</command>
    <location>local</location>
    <rules_id>5763</rules_id>
    <timeout>1800</timeout>
  </active-response>
</ossec_config>

دعني أوضح ما يحدث هنا:

  • firewall-drop: سكربت مُدمج يستخدم iptables لحظر عناوين IP الضارة.
  • location: local: ينفذ الأمر على الجهاز الذي حدث عليه الهجوم مباشرة.
  • rules_id: 5763: يُفعّل الاستجابة عند إطلاق قاعدة هجوم القوة الغاشمة.
  • timeout: 1800: يحظر عنوان IP لمدة 30 دقيقة ثم يُزيل الحظر تلقائياً.

بعد تطبيق التكوين، أعد تشغيل مدير Wazuh:

sudo systemctl restart wazuh-manager

إنشاء قواعد كشف مخصصة

القواعد المُدمجة ممتازة كنقطة بداية، لكنك ستحتاج حتماً لإنشاء قواعد مخصصة تناسب بيئتك. أضف القواعد المخصصة إلى الملف /var/ossec/etc/rules/local_rules.xml:

<group name="custom_rules,">
  <!-- Detect unauthorized crontab modifications -->
  <rule id="100001" level="10">
    <if_sid>550</if_sid>
    <match>crontab</match>
    <description>Unauthorized crontab modification detected</description>
    <group>syscheck,pci_dss_10.5.5,</group>
  </rule>

  <!-- Detect new user account creation -->
  <rule id="100002" level="8">
    <if_sid>5902</if_sid>
    <match>useradd</match>
    <description>New user account created on the system</description>
    <group>authentication_success,pci_dss_10.2.5,</group>
  </rule>

  <!-- Detect potential privilege escalation -->
  <rule id="100003" level="12">
    <if_sid>5401</if_sid>
    <match>sudo: .*COMMAND=/bin/bash</match>
    <description>Potential privilege escalation: sudo to bash shell</description>
    <group>authentication_success,pci_dss_10.2.2,</group>
  </rule>
</group>

مراقبة سجلات الاستجابة التلقائية

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

# Monitor active response logs
sudo tail -f /var/ossec/logs/active-responses.log

# View recent alerts with active response actions
sudo cat /var/ossec/logs/alerts/alerts.json | \
  python3 -m json.tool | grep -A5 "active-response"

# List currently blocked IPs (iptables)
sudo iptables -L INPUT -n | grep DROP

فحص الثغرات الأمنية واكتشاف CVE

من المزايا المهمة في Wazuh قدراتها المتقدمة لفحص الثغرات الأمنية، والتي تعمل بشكل مستمر ودون الحاجة لإجراء فحوصات يدوية. يعتمد نظام الفحص على مكونين متكاملين: وحدة Syscollector على الوكيل، ووحدة Vulnerability Detection على الخادم.

آلية عمل فحص الثغرات

تعمل الآلية على ثلاث مراحل واضحة:

  1. جمع المخزون: تقوم وحدة Syscollector على كل وكيل بجمع معلومات تفصيلية عن نظام التشغيل والحزم المثبتة والتطبيقات، ثم ترسلها دورياً إلى الخادم.
  2. مطابقة الثغرات: تقارن وحدة Vulnerability Detection على الخادم بيانات المخزون مع قاعدة بيانات Wazuh CTI التي تجمع معلومات الثغرات من مصادر متعددة مثل NVD وموردي أنظمة التشغيل.
  3. توليد التنبيهات: عند اكتشاف تطابق بين حزمة مثبتة وثغرة معروفة (CVE)، يُولّد تنبيه يتضمن تفاصيل الثغرة ودرجة خطورتها وتوصيات الإصلاح.

تفعيل وتكوين فحص الثغرات

فحص الثغرات مُفعّل افتراضياً، لكن يمكنك تخصيص سلوكه حسب احتياجاتك:

<ossec_config>
  <vulnerability-detection>
    <enabled>yes</enabled>
    <index-status>yes</index-status>
    <feed-update-interval>60m</feed-update-interval>
  </vulnerability-detection>

  <!-- Syscollector configuration on the agent -->
  <wodle name="syscollector">
    <disabled>no</disabled>
    <interval>1h</interval>
    <scan_on_start>yes</scan_on_start>
    <packages>yes</packages>
    <os>yes</os>
    <processes>yes</processes>
    <ports all="no">yes</ports>
  </wodle>
</ossec_config>

حالات الثغرات وإدارتها

تصنّف Wazuh كل ثغرة في واحدة من ثلاث حالات:

  • VALID (صالحة): الثغرة لا تزال موجودة ويجب معالجتها.
  • PENDING (معلقة): الثغرة قيد الفحص وتحتاج تأكيداً.
  • OBSOLETE (منتهية): تم حلها — إما بتحديث الحزمة أو إزالتها.

الجميل في الأمر أنه عند تحديث تعريفات الثغرات على الخادم، تُعاد تقييم جميع الوكلاء تلقائياً. لا حاجة لإعادة الفحص يدوياً — وهذا يوفر عليك وقتاً كبيراً.

تقييم الامتثال ومعايير CIS Benchmarks

إذا كنت تعمل في بيئة تحتاج لتلبية معايير امتثال محددة (وصراحة، معظم البيئات الإنتاجية تحتاج ذلك)، فإن وحدة تقييم تكوين الأمان (SCA) ستكون من أهم الأدوات بالنسبة لك. تعمل هذه الوحدة على فحص تكوينات النظام ومقارنتها بسياسات أمنية مبنية على معايير CIS Benchmarks.

كيف تعمل وحدة SCA

تقوم وحدة SCA بإجراء فحوصات دورية على كل نقطة نهاية، تشمل:

  • وجود أو عدم وجود ملفات وأدلة محددة
  • قيم إعدادات تكوينية حرجة
  • العمليات الجارية وخدمات النظام
  • أذونات الملفات والأدلة الحساسة
  • إعدادات الشبكة وجدار الحماية
  • سياسات كلمات المرور والمصادقة

تتضمن Wazuh سياسات SCA جاهزة للعديد من توزيعات لينكس، بما في ذلك CIS Benchmark v2.0.0 لـ Ubuntu 22.04 LTS وCIS Benchmark v2.0.0 لـ RHEL 9. كما أُضيف دعم تجريبي لتوزيعات أحدث مثل RHEL 10 وFedora 41 وAlmaLinux 10.

تفسير نتائج SCA

عند تشغيل فحص SCA، ستحصل على نتائج مفصلة لكل اختبار. لإعطائك فكرة عملية — في فحص نموذجي لخادم Ubuntu 22.04 جديد، قد تحصل على نتائج مشابهة لهذه:

  • إجمالي الاختبارات: 191 اختباراً
  • اختبارات ناجحة: 56 (29%)
  • اختبارات فاشلة: 87 (46%)
  • غير قابلة للتطبيق: 48 (25%)

نعم، نسبة 46% فشل تبدو مقلقة! لكن هذا طبيعي تماماً لخادم لم يخضع لعملية تقوية (hardening) بعد. كل اختبار فاشل يتضمن وصفاً للمشكلة وإرشادات إصلاح واضحة، مما يجعل عملية التقوية منهجية وموثقة.

إنشاء سياسات SCA مخصصة

يمكنك أيضاً كتابة سياسات مخصصة بصيغة YAML تعكس متطلبات مؤسستك. إليك مثالاً عملياً:

# Custom SCA Policy: /var/ossec/etc/shared/default/custom_linux_policy.yml
policy:
  id: "custom_linux_hardening"
  file: "custom_linux_policy.yml"
  name: "Custom Linux Hardening Checks"
  description: "Organization-specific security configuration checks"
  references:
    - https://internal-wiki.company.com/security-standards

requirements:
  title: "Check Linux endpoints"
  description: "Requirements for running the policy"
  condition: all
  rules:
    - 'f:/etc/os-release -> r:^ID'

checks:
  - id: 90001
    title: "Ensure SSH root login is disabled"
    description: "Root login via SSH must be disabled"
    rationale: "Prevents direct root access via SSH"
    remediation: "Set PermitRootLogin to no in /etc/ssh/sshd_config"
    compliance:
      - cis: ["5.2.10"]
      - pci_dss: ["2.2.4"]
    condition: all
    rules:
      - 'f:/etc/ssh/sshd_config -> r:^PermitRootLogin\s+no'

  - id: 90002
    title: "Ensure password authentication is disabled for SSH"
    description: "SSH should use key-based authentication only"
    rationale: "Key-based auth is more secure than passwords"
    remediation: "Set PasswordAuthentication to no in /etc/ssh/sshd_config"
    compliance:
      - cis: ["5.2.12"]
    condition: all
    rules:
      - 'f:/etc/ssh/sshd_config -> r:^PasswordAuthentication\s+no'

  - id: 90003
    title: "Ensure core dumps are restricted"
    description: "Core dumps should be disabled for security"
    rationale: "Core dumps may contain sensitive data"
    remediation: "Add '* hard core 0' to /etc/security/limits.conf"
    condition: all
    rules:
      - 'f:/etc/security/limits.conf -> r:^\*\s+hard\s+core\s+0'

مراقبة سلامة الملفات (File Integrity Monitoring)

مراقبة سلامة الملفات (FIM) من الركائز الأساسية في أمان الأنظمة، وهي ميزة لا ينبغي تجاهلها أبداً. توفر Wazuh قدرات FIM متقدمة تراقب التغييرات في الملفات والأدلة الحساسة سواء في الوقت الفعلي أو بشكل دوري.

تكوين FIM للأدلة الحرجة

لتكوين مراقبة سلامة الملفات على وكيل لينكس، أضف هذا التكوين إلى /var/ossec/etc/ossec.conf:

<ossec_config>
  <syscheck>
    <disabled>no</disabled>
    <frequency>43200</frequency>
    <scan_on_start>yes</scan_on_start>

    <!-- Monitor critical system directories -->
    <directories realtime="yes" check_all="yes">/etc</directories>
    <directories realtime="yes" check_all="yes">/usr/bin</directories>
    <directories realtime="yes" check_all="yes">/usr/sbin</directories>
    <directories realtime="yes" check_all="yes">/boot</directories>

    <!-- Monitor specific sensitive files -->
    <directories realtime="yes" report_changes="yes">/etc/passwd</directories>
    <directories realtime="yes" report_changes="yes">/etc/shadow</directories>
    <directories realtime="yes" report_changes="yes">/etc/sudoers</directories>
    <directories realtime="yes" report_changes="yes">/etc/ssh/sshd_config</directories>

    <!-- Ignore dynamic files that change frequently -->
    <ignore>/etc/mtab</ignore>
    <ignore>/etc/resolv.conf</ignore>
    <ignore type="sregex">\.swp$</ignore>

    <!-- Track who made the changes -->
    <whodata>
      <restart_audit>yes</restart_audit>
      <audit_key>wazuh_fim</audit_key>
    </whodata>
  </syscheck>
</ossec_config>

خيار whodata مهم جداً — فهو يستخدم نظام تدقيق لينكس (Linux Audit) لتحديد المستخدم والعملية المسؤولة عن كل تغيير. هذه المعلومة ذهبية في التحقيقات الأمنية والتحليل الجنائي الرقمي.

أمان الحاويات مع Wazuh

في عصر الخدمات المصغرة والحوسبة السحابية، أصبحت مراقبة أمان الحاويات ضرورة وليست خياراً. والخبر السار أن Wazuh توفر تكاملاً أصلياً مع Docker يسمح بمراقبة المضيفات والحاويات بشكل شامل.

تفعيل مراقبة Docker

لتفعيل مراقبة Docker، أضف هذا التكوين البسيط إلى وكيل Wazuh:

<ossec_config>
  <wodle name="docker-listener">
    <disabled>no</disabled>
    <interval>10m</interval>
    <attempts>5</attempts>
    <run_on_start>yes</run_on_start>
  </wodle>
</ossec_config>

بعد التفعيل، ستراقب هذه الوحدة:

  • إنشاء وتشغيل وإيقاف وحذف الحاويات
  • تغييرات صور Docker (سحب وبناء وحذف)
  • تغييرات إعدادات الشبكة والأحجام
  • الأحداث المتعلقة بالأمان داخل الحاويات

فحص CIS Docker Benchmark

توفر Wazuh أيضاً سياسة SCA مخصصة لفحص بيئة Docker وفق معيار CIS Docker Benchmark. تغطي هذه السياسة:

  • تكوين مضيف Docker (أذونات الملفات، خيارات النواة، تكوين الشبكة)
  • تكوين عفريت Docker (daemon configuration)
  • أمان صور الحاويات (الصور الأساسية والتحديثات)
  • تكوين وقت التشغيل (صلاحيات الحاوية، الشبكة، التخزين)
  • عمليات أمان Docker (التدقيق، المراقبة، النسخ الاحتياطي)

التكامل مع Suricata لكشف التسلل الشبكي

بينما تتفوق Wazuh في كشف التسلل على مستوى المضيف (HIDS)، يمكنك تعزيز قدراتها بشكل كبير بدمجها مع Suricata لكشف التسلل على مستوى الشبكة (NIDS). هذا التكامل يمنحك رؤية أمنية شاملة تجمع بين مراقبة نقاط النهاية وحركة الشبكة في مكان واحد.

تكوين التكامل

بعد تثبيت Suricata، أضف هذا التكوين إلى وكيل Wazuh لجمع سجلاته:

<ossec_config>
  <localfile>
    <log_format>json</log_format>
    <location>/var/log/suricata/eve.json</location>
  </localfile>
</ossec_config>

Wazuh تحتوي على قواعد مُدمجة لتحليل أحداث Suricata وتصنيفها، فتظهر تنبيهات كشف التسلل الشبكي جنباً إلى جنب مع تنبيهات أمان المضيف في لوحة تحكم موحدة. وهذا بالضبط ما يعنيه مفهوم الرؤية الأمنية الشاملة.

أفضل الممارسات لنشر Wazuh في بيئات الإنتاج

تأمين المنصة نفسها

قبل أن تعتمد على Wazuh لحماية بنيتك التحتية، عليك أولاً تأمين المنصة نفسها (وهذه نقطة يتجاهلها كثيرون للأسف):

  1. تغيير كلمات المرور الافتراضية: غيّر فوراً كلمات مرور جميع المكونات بعد التثبيت باستخدام أداة wazuh-passwords-tool.
  2. تفعيل تشفير TLS/SSL: تأكد من تشفير جميع الاتصالات بين الوكلاء والخادم ولوحة التحكم.
  3. تقييد الوصول الشبكي: اقصر الوصول إلى لوحة التحكم (المنفذ 443) وواجهة API (المنفذ 55000) على عناوين IP موثوقة.
  4. تحديث المنصة بانتظام: تابع تحديثات Wazuh الأمنية وطبّقها في أقرب وقت.
# Restrict dashboard access to specific IPs using iptables
sudo iptables -A INPUT -p tcp --dport 443 -s 10.0.0.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j DROP

# Restrict API access
sudo iptables -A INPUT -p tcp --dport 55000 -s 10.0.0.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 55000 -j DROP

# Restrict agent enrollment port
sudo iptables -A INPUT -p tcp --dport 1515 -s 10.0.0.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1515 -j DROP

تحسين الأداء

  • فصل المكونات: في البيئات الكبيرة (أكثر من 100 وكيل)، انشر المفهرس والخادم ولوحة التحكم على أجهزة منفصلة.
  • ضبط فترات الفحص: وازن بين شمولية المراقبة واستهلاك الموارد. فحص Syscollector كل ساعة وفحص SCA كل 12 ساعة يُعد توازناً جيداً.
  • إدارة التخزين: حدد سياسة احتفاظ بالبيانات تتناسب مع متطلباتك. الاحتفاظ بـ 90 يوماً كحد أدنى خيار معقول لمعظم البيئات.
  • مراقبة صحة المنصة: لا تنسَ مراقبة استهلاك موارد مكونات Wazuh نفسها!

استراتيجية التنبيهات

أحد أكبر التحديات في أنظمة SIEM هو ما يُسمى بإرهاق التنبيهات (Alert Fatigue). من واقع تجربتي، هذه أفضل الطرق لتجنب الوقوع في هذا الفخ:

  • ابدأ بتفعيل التنبيهات عالية الخطورة فقط (المستوى 10 وما فوق)، ثم خفّض العتبة تدريجياً مع الوقت.
  • أنشئ قواعد استثناء للأنشطة المشروعة المعروفة لتقليل الإيجابيات الكاذبة.
  • ادمج Wazuh مع نظام إشعارات (مثل Slack أو البريد الإلكتروني) للتنبيهات الحرجة فقط.
  • راجع التنبيهات دورياً وحدّث القواعد بناءً على ما تتعلمه.

تكامل Wazuh مع سلاسل DevSecOps

في بيئات DevSecOps الحديثة، يمكن دمج Wazuh في سلسلة التسليم المستمر (CI/CD) لتوفير فحص أمني مستمر. من أبرز حالات الاستخدام:

  • فحص صور الحاويات قبل النشر: التأكد من خلو الصور من ثغرات معروفة قبل وصولها لبيئة الإنتاج.
  • فحص الامتثال بعد النشر: التحقق التلقائي من مطابقة الخوادم الجديدة لمعايير CIS.
  • مراقبة التغييرات في البنية التحتية: اكتشاف أي تعديلات غير مُعتمدة على التكوينات.
  • ربط التنبيهات بنظام التذاكر: إنشاء تذاكر تلقائية في Jira أو ServiceNow عند اكتشاف ثغرات حرجة.
# Example: Query Wazuh API for vulnerability summary
curl -k -X GET "https://wazuh-server:55000/vulnerability/001/summary/cve" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" | python3 -m json.tool

# Example: Get SCA compliance score for an agent
curl -k -X GET "https://wazuh-server:55000/sca/001" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" | python3 -m json.tool

الخلاصة: بناء استراتيجية أمان شاملة مع Wazuh

بعد هذا الاستعراض المفصل، أعتقد أنه واضح لماذا تُمثّل Wazuh حلاً استثنائياً لمديري أنظمة لينكس ومهندسي الأمان. الجمع بين كشف التسلل وفحص الثغرات ومراقبة سلامة الملفات وتقييم الامتثال والاستجابة التلقائية في منصة واحدة مفتوحة المصدر — هذا أمر يستحق الاهتمام فعلاً.

إليك خلاصة أهم النقاط:

  • ابدأ بالتثبيت الموحد على جهاز واحد للتعلم والاختبار، ثم انتقل للنشر الموزع في بيئة الإنتاج.
  • انشر الوكلاء على جميع الأجهزة الحرجة — كل نقطة نهاية بدون وكيل هي نقطة عمياء.
  • فعّل الاستجابة التلقائية بحذر، وابدأ بسياسات حظر مؤقتة قبل الانتقال للحظر الدائم.
  • استخدم فحص SCA بانتظام وتتبع تحسن نسبة الامتثال مع الوقت.
  • ادمج Wazuh مع أدوات مثل Suricata وVirusTotal لتعزيز القدرات الأمنية.
  • لا تنسَ تأمين المنصة نفسها قبل الاعتماد عليها لحماية بقية البنية التحتية.

مع التطور المستمر للتهديدات السيبرانية وإصدارات Wazuh الجديدة التي تجلب تحسينات مستمرة — مثل دعم الذكاء الاصطناعي في تحليل الحوادث وتوسيع سياسات SCA لتوزيعات جديدة — تبقى المنصة خياراً متفوقاً لمن يبحث عن أمان على مستوى المؤسسات بدون التكلفة الباهظة. ابدأ اليوم بتثبيت Wazuh على بيئة اختبارية واستكشف قدراتها — أضمن لك أنك ستُفاجأ بما يمكن لمنصة مجانية أن تقدمه.

عن الكاتب Editorial Team

Our team of expert writers and editors.