فحص البرامج الضارة والـ Rootkit: دليل rkhunter و ClamAV
احمِ خادم Linux من البرامج الضارة والـ Rootkit. تثبيت rkhunter و ClamAV، إعداد الفحص، تفسير النتائج، الفحص المجدول والاستجابة للحوادث.
جدول المحتويات
فحص البرامج الضارة والـ Rootkit: دليل rkhunter و ClamAV
على الرغم من أن خوادم Linux تتعرض للهجمات بشكل أقل من أنظمة Windows، إلا أنها ليست محصنة ضد هجمات البرامج الضارة والـ Rootkit. يعد الفحص الأمني المنتظم أمرًا بالغ الأهمية، خاصة للخوادم المتصلة بالإنترنت. سيرشدك هذا الدليل لبناء بنية تحتية شاملة لفحص الأمان باستخدام rkhunter و ClamAV.
ما هو rkhunter؟
rkhunter (Rootkit Hunter) هو أداة أمان مفتوحة المصدر مصممة للكشف عن الـ Rootkit والـ Backdoor والثغرات المحلية في أنظمة Linux. يتحقق من قيم الهاش والأذونات وتوقيعات الـ Rootkit المعروفة لملفات النظام.
تثبيت rkhunter
# 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
# تحديث قاعدة بيانات التوقيعات
sudo rkhunter --update
# تسجيل قيم الهاش الأولية لملفات النظام
# نفّذ هذا على نظام نظيف!
sudo rkhunter --propupd
شغّل --propupd فقط عندما تكون متأكدًا من أن نظامك نظيف. هذا الأمر يحفظ هاشات الملفات الحالية كقيم مرجعية.
تشغيل فحوصات rkhunter
# فحص كامل للنظام
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 (أبيض): الأداة أو الملف غير موجود في النظام
# تصفية التحذيرات فقط
sudo grep -i warning /var/log/rkhunter.log
# عرض تقرير ملخص
sudo tail -50 /var/log/rkhunter.log
بعض التحذيرات قد تكون إيجابيات كاذبة. الأدوات المُجمَّعة مخصصًا أو ملفات النظام المعدّلة يمكن أن تُطلق تحذيرات. تحقق يدويًا من كل تحذير.
ما هو ClamAV؟
ClamAV هو محرك مكافحة فيروسات مفتوح المصدر. يُستخدم على نطاق واسع على خوادم Linux لفحص الملفات ومرفقات البريد الإلكتروني ومحتوى الويب.
تثبيت ClamAV
# Ubuntu/Debian
sudo apt update
sudo apt install clamav clamav-daemon -y
# CentOS/AlmaLinux
sudo dnf install clamav clamd clamav-update -y
تحديث قاعدة بيانات الفيروسات
# إيقاف خدمة ClamAV (للتحديث)
sudo systemctl stop clamav-freshclam
# تحديث قاعدة البيانات يدويًا
sudo freshclam
# إعادة تشغيل الخدمة
sudo systemctl start clamav-freshclam
sudo systemctl enable clamav-freshclam
الفحص باستخدام ClamAV
# فحص مجلد واحد
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
# إنشاء ملف cron
sudo nano /etc/cron.d/security-scan
# /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. عزل النظام
# فحص اتصالات الشبكة
sudo ss -tlnp
# إيجاد الاتصالات المشبوهة
sudo ss -anp | grep ESTABLISHED
# تقييد الوصول للشبكة عند الحاجة
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow ssh # الحفاظ على وصول SSH
2. جمع الأدلة
# حفظ العمليات الجارية
ps aux > /tmp/processes_$(date +%Y%m%d).txt
# إيجاد الملفات المعدّلة مؤخرًا
find / -mtime -1 -type f 2>/dev/null | grep -v proc | grep -v sys
3. التنظيف والاسترداد
# نقل الملفات المشبوهة إلى الحجر الصحي
mkdir -p /quarantine
mv /path/to/suspicious/file /quarantine/
# التحقق من ملفات النظام
sudo debsums -c # Debian/Ubuntu
sudo rpm -Va # CentOS/RHEL
عند اكتشاف إصابة خطيرة بـ Rootkit، الحل الأكثر أمانًا هو إعادة تثبيت الخادم من الصفر. نظرًا لأن الـ Rootkit يمكنه تعديل أدوات النظام، فإن التنظيف ليس موثوقًا دائمًا.
الخلاصة
الفحص المنتظم للبرامج الضارة والـ Rootkit هو مكوّن أساسي لأمان الخادم. استخدام rkhunter و ClamAV معًا يُنشئ طبقة حماية شاملة. تتيح الفحوصات المجدولة وإشعارات البريد الإلكتروني الكشف المبكر عن التهديدات الأمنية.
مقالات ذات صلة
إعداد Fail2Ban: دليل حماية SSH من هجمات Brute-Force
احمِ خادمك من هجمات SSH Brute-Force باستخدام Fail2Ban. التثبيت، إعداد jail.local، جيلات Nginx/Apache، القائمة البيضاء للـ IP، مراقبة الحظر وتنبيهات البريد الإلكتروني.
إعداد خادم WireGuard VPN: دليل خطوة بخطوة
أنشئ خادم WireGuard VPN: توليد المفاتيح، إعداد الخادم والعميل، توجيه IP، قواعد جدار الحماية وإعداد عملاء Windows/Linux/Android.
أمان شبكة Zero Trust: دليل الإعداد الأساسي
مبادئ أمان شبكة Zero Trust والتطبيق العملي: لا تثق أبدًا تحقق دائمًا، التجزئة الدقيقة، الوصول القائم على الهوية والتطبيق بأدوات Linux الموجودة.