
Мультидвижковый сканер вредоносных программ для Linux с пятью этапами обнаружения (MD5, HEX-шаблоны, YARA, ClamAV, статистический), мониторингом inotify в реальном времени, карантином и многоканальным оповещением.
Сканер вредоносных программ для Linux — многоступенчатое обнаружение угроз (MD5, SHA-256, HEX, YARA, статистический анализ), интеграция с ClamAV, мониторинг в реальном времени через inotify, операции карантина/очистки/восстановления и многоканальные оповещения (email, Slack, Telegram, Discord).
(C) 2002-2026, R-fx Networks <[email protected]>
(C) 2026, Ryan MacDonald <[email protected]>
Лицензировано по GNU GPL v2
Нативный движок сканирования в 43 раза быстрее — конвейер нативного сканирования был полностью переписан с использованием пакетной параллельной обработки. Реальный тест на ~10,000 файлах:
| Версия | Время выполнения | Файлы | Совпадения |
|---|---|---|---|
| v1.6.6 | 1,217s | 9,931 | 35 |
| v2.0.1 | 28s | 9,931 | 35 |
Сопоставление сигнатур MD5 и HEX теперь использует пакетный grep с параллельными рабочими процессами
Aho-Corasick, что устраняет накладные расходы на компиляцию шаблонов для каждого файла и ~500 000
форков подпроцессов за одно сканирование. Количество параллельных рабочих процессов настраивается
с помощью scan_workers (по умолчанию: auto).
Другие особенности: управление жизненным циклом сканирования (--kill, --pause, --stop/--continue,
-L), сканирование хешей SHA-256 с автоматическим определением аппаратного обеспечения CPU (scan_hashtype),
нативное сканирование YARA (scan_yara=1), оповещения через Discord webhook, исправления оповещений
Slack/Telegram, поддержка hex-шаблонов ClamAV в нативном движке и более 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`
- Фоновое сканирование для неконтролируемых крупномасштабных операций
- Фильтрация включения/исключения по регулярным выражениям для каждого сканирования
**Карантин и реагирование**
- Очередь карантина с хранением файлов с нулевыми правами доступа
- Пакетный карантин/восстановление по ID сканирования
- Специфичные для сигнатур правила очистки для удаления вредоносных программ
- Полное восстановление файлов (содержимое, владелец, права, mtime)
**Оповещение и отчёты**
- HTML- и текстовые email-оповещения с единым дизайном rfxn (фирменный бирюзовый цвет, карточные записи)
- Поддержка SMTP-релея (TLS/SSL) для сред без локального MTA
- Оповещения по каждой записи через Slack Block Kit, Telegram MarkdownV2, Discord embed
- Настраиваемые шаблоны оповещений через переопределения в `alert/custom.d/`
- Отчёты о сканировании с деталями совпадений по каждому файлу и цветовой кодировкой типов совпадений
**Инфраструктура**
- Автоматическая привязка сигнатур ClamAV для покрытия двумя движками
- Ежедневный cron с автоматическим определением более 12 панелей управления хостингом
- Контроль ресурсов CPU/IO (nice, ionice, cpulimit)
- Автоматическое обновление сигнатур и версий
- Поддержка systemd-юнита и SysV init-скрипта
### Поддерживаемые платформы
LMD работает на любом дистрибутиве Linux с bash и стандартными утилитами GNU. Протестированные платформы: