
ماسح ضوئي متعدد المحركات للبرمجيات الخبيثة على Linux بخمس مراحل كشف (MD5، نمط HEX، YARA، ClamAV، إحصائية)، مع مراقبة inotify في الوقت الفعلي، وعزل، وتنبيهات متعددة القنوات
ماسح برمجيات خبيثة لنظام لينكس — كشف متعدد المراحل للتهديدات (MD5، SHA-256، HEX، YARA، تحليل إحصائي)، تكامل مع ClamAV، مراقبة فورية عبر inotify، عمليات عزل/تنظيف/استعادة، وتنبيه متعدد القنوات (البريد الإلكتروني، Slack، Telegram، Discord).
(C) 2002-2026, R-fx Networks <[email protected]>
(C) 2026, Ryan MacDonald <[email protected]>
مرخّص بموجب GNU GPL v2
محرك فحص أصلي أسرع 43x — تمت إعادة كتابة خط أنابيب الفحص الأصلي بالكامل باستخدام معالجة متوازية على دفعات. قياس أداء واقعي على حوالي 10,000 ملف:
| الإصدار | المدة | الملفات | الإصابات |
|---|---|---|---|
| v1.6.6 | 1,217s | 9,931 | 35 |
| v2.0.1 | 28s | 9,931 | 35 |
أصبحت مطابقة التواقيع MD5 و HEX تستخدم الآن grep المجمّع مع عمال Aho-Corasick المتوازيين،
مما يلغي الحمل الناتج عن تجميع الأنماط لكل ملف وحوالي 500,000 عملية fork فرعية لكل فحص.
اضبط عدد العمال المتوازيين عن طريق scan_workers (الافتراضي: auto).
من أبرز الميزات الأخرى: إدارة دورة حياة الفحص (--kill، --pause، --stop/--continue،
-L)، فحص تجزئات SHA-256 مع كشف تلقائي لعتاد وحدة المعالجة المركزية (scan_hashtype)،
فحص YARA أصلي (scan_yara=1)، تنبيه عبر Discord webhook، إصلاحات لتنبيهات Slack/Telegram،
دعم أنماط ClamAV البدلاء hex في المحرك الأصلي، وأكثر من 200 إصلاح للأخطاء عبر
قاعدة الكود.
انظر CHANGELOG للحصول على التفاصيل الكاملة.
./install.sh
maldet -a /home/?/public_html
maldet -r /home/?/public_html 2
maldet -co scan_yara=1 -a /home/?/public_html
maldet -q SCANID
maldet -m users
maldet -u
---
## 1. مقدمة
بنية LMD، ومراحل الكشف، والأنظمة الأساسية المدعومة.
Linux Malware Detect (LMD) هو ماسح برامج ضارة لنظام Linux صدر بموجب ترخيص GNU GPLv2، وهو مصمّم للتعامل مع التهديدات التي تواجه بيئات الاستضافة المشتركة. يستخدم بيانات التهديدات من أنظمة كشف التسلل على حافة الشبكة لاستخراج البرامج الضارة التي تُستخدم فعليًا في الهجمات، ويولّد توقيعات للكشف عنها. بالإضافة إلى ذلك، تُشتق بيانات التهديدات من إرسالات المستخدمين عبر ميزة LMD checkout ومن موارد مجتمع البرامج الضارة.
يركّز LMD على فئات البرامج الضارة التي غالبًا ما تفوتها منتجات مكافحة الفيروسات التقليدية: قذائف PHP، وأدوات حقن JavaScript، والأبواب الخلفية المشفرة بـ base64، وروبوتات IRC، وغيرها من تهديدات طبقة تطبيقات الويب التي تستهدف حسابات مستخدمي الاستضافة المشتركة بدلاً من البنية الداخلية لنظام التشغيل.
**مراحل الكشف**
- مطابقة تجزئة ملفات MD5 لتحديد التهديدات بدقة
- مطابقة أنماط HEX عبر محرك grep الدفعي الأصلي مع عمال متوازيين
- فحص التوقيعات المركبة (csig) بمنطق بولياني متعدد الأنماط (AND/OR/عتبة)، ومطابقة غير حساسة لحالة الأحرف، ومطابقة واسعة (UTF-16LE)، وبدل فجوات محدودة
- فحص قواعد YARA الأصلي مع دعم كامل للوحدات والقواعد المخصصة
- تحليل إحصائي لأطوال السلاسل النصية لكشف التهديدات المشوشة (base64, gzinflate)
- تكامل ClamAV لتغطية موسعة عبر توقيعات ClamAV التي يحتفظ بها LMD
**الفحص والمراقبة**
- فحص جميع الملفات، أو الملفات المعدّلة مؤخرًا، أو الملفات من قائمة
- مراقبة الملفات في الوقت الفعلي عبر inotify الخاصة بالنواة (أحداث إنشاء/تعديل/نقل)
- فحص رفع HTTP عبر خطاف ModSecurity2 `inspectFile`
- فحص في الخلفية للعمليات واسعة النطاق دون مراقبة
- تصفية regex للإدراج/الاستبعاد لكل عملية فحص
**العزل والاستجابة**
- قائمة انتظار للعزل مع تخزين ملفات بدون صلاحيات
- عزل/استعادة مجمّع حسب معرف الفحص
- قواعد تنظيف خاصة بالتوقيعات لإزالة البرامج الضارة
- استعادة كاملة للملفات (المحتوى، المالك، الصلاحيات، mtime)
**التنبيهات والتقارير**
- تنبيهات بريد إلكتروني HTML + نص بتصميم rfxn الموحد (علامة تركوازية، إدخالات بطاقات)
- دعم ترحيل SMTP (TLS/SSL) للبيئات التي لا تحتوي على MTA محلي
- تنبيهات لكل إدخال عبر Slack Block Kit وTelegram MarkdownV2 وDiscord embed
- قوالب تنبيه قابلة للتخصيص عبر تجاوزات `alert/custom.d/`
- تقارير فحص مع تفاصيل الإصابات لكل ملف، وأنواع إصابات مرمّزة بالألوان
**البنية التحتية**
- ربط تلقائي لتوقيعات ClamAV لتغطية ثنائية المحرك
- مهمة cron يومية مع كشف تلقائي لأكثر من 12 لوحة تحكم استضافة
- التحكم في موارد وحدة المعالجة المركزية/الإدخال والإخراج (nice, ionice, cpulimit)
- تحديثات تلقائية للتوقيعات والإصدارات
- دعم وحدة خدمة systemd وسكربتات SysV init
### الأنظمة الأساسية المدعومة
يعمل LMD على أي توزيعة Linux تتوفر على bash والأدوات القياسية من GNU. الأنظمة التي تم اختبارها:
| المنصة | نظام الإقلاع | مسار إعداد الحزمة |
|----------|-------------|---------------------|
| RHEL / Rocky / AlmaLinux 8, 9, 10 | systemd | `/etc/sysconfig/maldet` |
| CentOS 6, 7 | SysV / systemd | `/etc/sysconfig/maldet` |
| Debian 10, 11, 12 | systemd | `/etc/default/maldet` |
| Ubuntu 20.04, 22.04, 24.04 | systemd | `/etc/default/maldet` |
| Gentoo | OpenRC | — |
| Slackware | SysV | — |
| FreeBSD | — | — (جزئي؛ بدون inotify) |
---
## 2. التثبيت
تثبيت LMD وترقيته وإزالته من النظام.
يتولّى السكربت المرفق `install.sh` جميع مهام التثبيت. ويتم تلقائيًا إنشاء نسخ احتياطية من التثبيتات السابقة.```bash
./install.sh
المثبّت:
/usr/local/maldetectmaldet في /usr/local/sbin//etc/cron.daily/maldetconf.maldet)، والتوقيعات المخصصة، وملفات التجاهل عبر الترقياتيتم حفظ التثبيتات السابقة في /usr/local/maldetect.bk{PID} مع رابط رمزي maldetect.last يشير إلى أحدث نسخة احتياطية.