Linux Malware Detect — веб-антивирус для сайтов

Linux Malware Detect — специализированный антивирус для сайтов.

Что умеет

  • Поиск угроз по базе MD5 и распознавание типа угрозы (например, php.cmdshell.nan.296.HEX) по HEX-базе.
  • Статистический анализ файлов на наличие обфусцированных зловредов и инъекций.
  • Обнаружение установленного в системе ClamAV для использования его в качестве сканера.
  • Ручное и автоматическое (по крону) обновление сигнатур.
  • Ручное и автоматическое обновление версии самого скрипта.
  • Возможность сканирования недавно добавленных/измененных файлов (например за последние 2 дня).
  • Опция загрузки обнаруженных потенциальных угроз на официальный сайт для анализа.
  • Система отчетов.
  • Очистка файлов от вредоносных инъекций.
  • Крон-заготовки для запуска регулярного сканирования юзерспейсов или других директорий.
  • Наборы исключений по расширениям, сигнатурам и путям.
  • Возможность отправки результатов сканирования на e-mail.
  • Мониторинг в реальном времени созданных/модифицированных/измененных файлов при помощи inotify_watch: мониторинг выбранных пользователей, каталогов или файлов.
  • … и прочее.

Установка

Качаем:

wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

Распаковываем:

tar -zxvf maldetect-current.tar.gz

Запускаем установку:

sh ./install.sh



При запуске install.sh программа установки размещает файлы LMD в /usr/local/maldetect, заносит исполняемый скрипт в /usr/local/sbin и libinotifytools.so.0 в /usr/lib.

В процессе инсталляции автоматически создаются ежедневные крон-задания для обновления сигнатур и запуска сканирования. По умолчанию в конфигурации указаны типичные пути для сканирования вебспейсов популярных панелей управлений, таких как ensim, psa, DirectAdmin, cpanel, interworx и дефолтных apache-путей размещения сайтов (/var/www/html, /usr/local/apache/htdocs). Для ISPmanager путь /var/www/ придется добавлять вручную.

Настройка

Конфиг LMD находится в файле /usr/local/maldetect/conf.maldet.
Конфиг хорошо документирован и позволяет настроить все, что душе угодно.

Типичные команды

Запускаем сканирование указанного каталога:

# maldet -a /home/user1/exapmle.com


По окончанию получаем результат вида:

maldet(24128): {scan} scan completed on example.com: files 4, malware hits 0, cleaned hits 0maldet(24128): {scan} scan report saved, to view run: maldet --report 091713-1715.24128


Смотрим отчет:

#maldet --report 091713-1715.24128

Принудительно обновляем базы с rfxn.com:

#maldet -u

Принудительно обновляем версию с rfxn.com:

#maldet -d

Сканируем все изменные за последние X дней файлы (в данном случае 2) в указанном каталоге

#maldet -r /home/user1/ 2

Отправляем неизвестную уязвимость на rfxn.com:

#maldet -c /home/user1/file.php

Помещаем в карантин результаты сканирования SCANID (id из результатов сканирования)

#maldet -q 091713-1715.24128

Пытамся очистить результаты сканирования

#maldet -n, --clean 091713-1715.24128



Программа распространяется по лицензии GNU GPLv2.
Официальная страничка проекта: http://www.rfxn.com/projects/linux-malware-detect Linux Malware Detect.