انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

فحص البرامج الضارة والـ Rootkit: دليل rkhunter و ClamAV

احمِ خادم Linux من البرامج الضارة والـ Rootkit. تثبيت rkhunter و ClamAV، إعداد الفحص، تفسير النتائج، الفحص المجدول والاستجابة للحوادث.

وقت القراءة: 14 دقيقة الأمان
برامج ضارةروتكيتrkhunterclamavأمانفحص فيروساتlinuxأمان الخادم

جدول المحتويات

فحص البرامج الضارة والـ Rootkit: دليل rkhunter و ClamAV

على الرغم من أن خوادم Linux تتعرض للهجمات بشكل أقل من أنظمة Windows، إلا أنها ليست محصنة ضد هجمات البرامج الضارة والـ Rootkit. يعد الفحص الأمني المنتظم أمرًا بالغ الأهمية، خاصة للخوادم المتصلة بالإنترنت. سيرشدك هذا الدليل لبناء بنية تحتية شاملة لفحص الأمان باستخدام rkhunter و ClamAV.

ما هو rkhunter؟

rkhunter (Rootkit Hunter) هو أداة أمان مفتوحة المصدر مصممة للكشف عن الـ Rootkit والـ Backdoor والثغرات المحلية في أنظمة Linux. يتحقق من قيم الهاش والأذونات وتوقيعات الـ Rootkit المعروفة لملفات النظام.

تثبيت rkhunter

hljs bash
# Ubuntu/Debian
sudo apt update
sudo apt install rkhunter -y

# CentOS/AlmaLinux/Rocky Linux
sudo dnf install rkhunter -y
# أو من مستودع EPEL:
sudo dnf install epel-release -y
sudo dnf install rkhunter -y

تحديث قاعدة بيانات rkhunter

hljs bash
# تحديث قاعدة بيانات التوقيعات
sudo rkhunter --update

# تسجيل قيم الهاش الأولية لملفات النظام
# نفّذ هذا على نظام نظيف!
sudo rkhunter --propupd

شغّل --propupd فقط عندما تكون متأكدًا من أن نظامك نظيف. هذا الأمر يحفظ هاشات الملفات الحالية كقيم مرجعية.

تشغيل فحوصات rkhunter

hljs bash
# فحص كامل للنظام
sudo rkhunter --check

# الوضع غير التفاعلي (لـ cron)
sudo rkhunter --check --skip-keypress

# إظهار التحذيرات فقط
sudo rkhunter --check --rwo

# إخراج مفصّل
sudo rkhunter --check --verbose-logging

# عرض ملف السجل
sudo cat /var/log/rkhunter.log

تفسير نتائج rkhunter

يُظهر إخراج rkhunter ثلاث حالات:

  • OK (أخضر): الملف أو الإعداد آمن
  • Warning (أصفر): حالة مشبوهة، مراجعة يدوية مطلوبة
  • Not found (أبيض): الأداة أو الملف غير موجود في النظام
hljs bash
# تصفية التحذيرات فقط
sudo grep -i warning /var/log/rkhunter.log

# عرض تقرير ملخص
sudo tail -50 /var/log/rkhunter.log

بعض التحذيرات قد تكون إيجابيات كاذبة. الأدوات المُجمَّعة مخصصًا أو ملفات النظام المعدّلة يمكن أن تُطلق تحذيرات. تحقق يدويًا من كل تحذير.

ما هو ClamAV؟

ClamAV هو محرك مكافحة فيروسات مفتوح المصدر. يُستخدم على نطاق واسع على خوادم Linux لفحص الملفات ومرفقات البريد الإلكتروني ومحتوى الويب.

تثبيت ClamAV

hljs bash
# Ubuntu/Debian
sudo apt update
sudo apt install clamav clamav-daemon -y

# CentOS/AlmaLinux
sudo dnf install clamav clamd clamav-update -y

تحديث قاعدة بيانات الفيروسات

hljs bash
# إيقاف خدمة ClamAV (للتحديث)
sudo systemctl stop clamav-freshclam

# تحديث قاعدة البيانات يدويًا
sudo freshclam

# إعادة تشغيل الخدمة
sudo systemctl start clamav-freshclam
sudo systemctl enable clamav-freshclam

الفحص باستخدام ClamAV

hljs bash
# فحص مجلد واحد
sudo clamscan -r /home

# فحص كامل للنظام (قد يكون بطيئًا)
sudo clamscan -r / --exclude-dir="^/sys" --exclude-dir="^/proc" --exclude-dir="^/dev"

# إظهار الملفات المصابة فقط
sudo clamscan -r /var/www --infected

# نقل الملفات المصابة إلى الحجر الصحي
sudo clamscan -r /home --infected --move=/quarantine

# حفظ نتائج الفحص في ملف
sudo clamscan -r / --log=/var/log/clamav-scan.log --exclude-dir="^/sys" --exclude-dir="^/proc"

إعداد الفحوصات المجدولة

الفحص التلقائي باستخدام Cron

hljs bash
# إنشاء ملف cron
sudo nano /etc/cron.d/security-scan
hljs bash
# /etc/cron.d/security-scan

# فحص rkhunter كل ليلة الساعة 02:00
0 2 * * * root /usr/bin/rkhunter --check --skip-keypress --report-warnings-only 2>&1 | mail -s "[rkhunter] $(hostname) تقرير يومي" admin@example.com

# فحص ClamAV الكامل كل أحد الساعة 03:00
0 3 * * 0 root /usr/bin/clamscan -r / --exclude-dir="^/sys" --exclude-dir="^/proc" --exclude-dir="^/dev" --infected --log=/var/log/clamav-weekly.log

# تحديث قاعدة بيانات ClamAV يوميًا
0 1 * * * root /usr/bin/freshclam --quiet

الاستجابة للحوادث

إذا تم اكتشاف تهديد أثناء الفحص:

1. عزل النظام

hljs bash
# فحص اتصالات الشبكة
sudo ss -tlnp

# إيجاد الاتصالات المشبوهة
sudo ss -anp | grep ESTABLISHED

# تقييد الوصول للشبكة عند الحاجة
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow ssh  # الحفاظ على وصول SSH

2. جمع الأدلة

hljs bash
# حفظ العمليات الجارية
ps aux > /tmp/processes_$(date +%Y%m%d).txt

# إيجاد الملفات المعدّلة مؤخرًا
find / -mtime -1 -type f 2>/dev/null | grep -v proc | grep -v sys

3. التنظيف والاسترداد

hljs bash
# نقل الملفات المشبوهة إلى الحجر الصحي
mkdir -p /quarantine
mv /path/to/suspicious/file /quarantine/

# التحقق من ملفات النظام
sudo debsums -c  # Debian/Ubuntu
sudo rpm -Va     # CentOS/RHEL

عند اكتشاف إصابة خطيرة بـ Rootkit، الحل الأكثر أمانًا هو إعادة تثبيت الخادم من الصفر. نظرًا لأن الـ Rootkit يمكنه تعديل أدوات النظام، فإن التنظيف ليس موثوقًا دائمًا.

الخلاصة

الفحص المنتظم للبرامج الضارة والـ Rootkit هو مكوّن أساسي لأمان الخادم. استخدام rkhunter و ClamAV معًا يُنشئ طبقة حماية شاملة. تتيح الفحوصات المجدولة وإشعارات البريد الإلكتروني الكشف المبكر عن التهديدات الأمنية.