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

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

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

وقت القراءة: 14 دقيقة الأمان
برامج ضارةروتكيتrkhunterclamavأمانفحص فيروساتlinuxأمان الخادم
الكاتب
REXE Teknoloji Network & Security Team
المحرر
REXE Teknoloji Technical Editorial
أول نشر
آخر تحديث

فحص البرامج الضارة والـ 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 معًا يُنشئ طبقة حماية شاملة. تتيح الفحوصات المجدولة وإشعارات البريد الإلكتروني الكشف المبكر عن التهديدات الأمنية.

الأسئلة الشائعة

rkhunter يُعطي تحذيرات في كل مرة يعمل، هل هذا طبيعي؟

بعض التحذيرات قد تكون إيجابيات كاذبة. تتغير هاشات الملفات خاصة بعد تحديثات النظام. بعد التحديث، شغّل 'sudo rkhunter --propupd' لتحديث القيم المرجعية. تحقق يدويًا من كل تحذير.

كم يستغرق فحص النظام الكامل بـ ClamAV؟

يمكن أن يستغرق من بضع ساعات إلى يوم كامل حسب حجم القرص وعدد الملفات. للفحوصات اليومية، ركّز على المجلدات الحيوية مثل /home و /var/www و /tmp. جدوِل الفحوصات الكاملة أسبوعيًا.

ما الفرق بين rkhunter و ClamAV؟

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

هل يؤثر الفحص على أداء الخادم؟

نعم، خاصة فحص النظام الكامل بـ ClamAV يزيد من استخدام CPU وإدخال/إخراج القرص. جدوِل الفحوصات في أوقات الذروة المنخفضة. يمكنك خفض الأولوية بأمر 'nice': 'sudo nice -n 19 clamscan -r /'

ماذا أفعل إذا وُجد ملف مصاب؟

أولًا ضع الملف في الحجر الصحي (لا تحذفه). ابحث عن ماهية الملف — قد يكون إيجابيًا كاذبًا. إذا كان تهديدًا حقيقيًا، عزل النظام واجمع الأدلة وأعد تثبيت الخادم إذا لزم الأمر.

مقالات ذات صلة

إعداد Fail2Ban: دليل حماية SSH من هجمات Brute-Force

احمِ خادمك من هجمات SSH Brute-Force باستخدام Fail2Ban. التثبيت، إعداد jail.local، جيلات Nginx/Apache، القائمة البيضاء للـ IP، مراقبة الحظر وتنبيهات البريد الإلكتروني.

13 دقيقة
fail2banbrute-forceأمان ssh

أمان شبكة Zero Trust: دليل الإعداد الأساسي

مبادئ أمان شبكة Zero Trust والتطبيق العملي: لا تثق أبدًا تحقق دائمًا، التجزئة الدقيقة، الوصول القائم على الهوية والتطبيق بأدوات Linux الموجودة.

14 دقيقة
zero trustأمان الشبكةتجزئة دقيقة
حركة الشبكةالداخل Gbpsالخارج Gbps