Linux Malware Detect (Maldet) - это сканер, с помощью которого можно проверить сервер на наличие подозрительных и вредоносных скриптов (шеллы, скрипты для спама и т. п.) в системе в принципе или, например, в файлах сайта в частности.

В программу заложен большой функционал:

  • Находить подозрительные файлы;
  • Находить и отправлять на карантин проблемные скрипты;
  • Находить и по возможности лечить обнаруженное;
  • Сканировать только те файлы, которые появились и были изменены за определённые промежуток времени;
  • В интерактивном режиме осуществлять мониторинг в определённой директории;
  • Работать с исключениями, добавляя в них как конкретные сигнатуры, так и пути/конкретные файлы на сервере;
  • Отправлять подозрительные файлы на анализ, на серверы Maldet’а;
  • Автоматически и вручную обновлять собственные сигнатуры и версию самого сканера;

Установка

Установка для CentOS и Debian одинакова:

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

file

tar -zxvf maldetect-current.tar.gz  
cd maldetect-*/  
bash install.sh  

Установочный скрипт кладет исполняемый файл в /usr/local/maldetect/maldet и делает на него символическую ссылку /usr/local/sbin/maldet. Также скрипт создает файл /usr/lib/libinotifytools.so.0. Создается ежедневное cron-задание в /etc/cron.daily/maldet

Использование

Сканировать только файлы, измененные за последние 5 дней:

maldet -r / 5  

По завершении сканирования будет выведено общее количество просканированных файлов, количество инфицированных и количество излеченных файлов.

file

Также будет выведен номер отчета, который можно посмотреть командой, например:

maldet --report 220718-1809.1790255  

file

Обновить базы сигнатур:

maldet -u  

Переместить найденные зараженные файлы в карантин (в каталог /usr/local/maldetect/quarantine):

maldet -q 220718-1809.1890277  

Вытащить файлы из карантина:

maldet -s 220718-1809.1890277  

Пробовать очистить зараженные файлы от вредоносных вставок кода:

maldet -n 220718-1809.1890277  

Добавить вредоносный код в базу сигнатур maldet:

maldet -c badfile.php  

Конфигурационный файл maldet находится в /usr/local/maldetect/conf.maldet:

# [ General Options ]
email_alert="1" Включаем уведомления от maldet’а на почту. Ведь мы сознательные администраторы и следим за происходящим на сервере.  
email_addr="mail@sysadmin.pm" Указываем ящик, на который хотим получать уведомления.  
email_ignore_clean="0" Получение уведомлений об очищенных файлах. Ставим здесь 0, если далее мы включим автоматическое «лечение» найденных проблемных скриптов. На этом вопросе остановимся отдельно.  
# [ SCAN OPTIONS ]
scan_max_depth="15"  Определяем максимальную глубину сканирования.  
scan_min_filesize="24"  Задаём минимальный размер файла.  
scan_max_filesize="2048k" Задаём максимальный размер файла, на который будет образать внимание сканер.  
scan_clamscan="1" Будет ли сканер использовать установленный на сервере ClamAV.  
scan_tmpdir_paths="/tmp /var/tmp /dev/shm /var/fcgi_ipc" Директории для временных файлов, которые maldet будет проверять.  
scan_user_access="0" Разрешить ли не root пользователям запускать сканирование.  
scan_ignore_user="" Пользователи через запятую или пробел, которые будут игнорироваться при сканировании.  
scan_ignore_group="" Группы через запятую или пробел, которые будут игнорироваться при сканировании.  
# [ QUARANTINE OPTIONS ]
quarantine_hits="1" Сразу же отправляем в карантин найденные подозрительные файлы.  
quarantine_clean="0" Попытаться «вылечить» обнаруженное. Стоит ли включать эту опцию, каждый администратор решает сам. Автор предпочитает держать её отключенной, при включенном автоматическом карантине и уведомлениях об этом.  

Ежедневная проверка новых файлов на сервере

При установке, maldet создаёт для планировщика файл /etc/cron.daily/maldet, если ежедневные проверки новых файлов на сервере не нужны, то файл достаточно просто удалить, либо переместить его куда-то оттуда. В самом файле уже учтены все пути, которые создаются при работе с современными панелями управления сервером, обычно, модификация этого файла не требуется, только если администратору понадобится добавить какой-то не стандартный путь для ежедневной проверки.

Запускаясь ежедневно, maldet будет проверять новые файлы на сервере, найденное будет обрабатываться в соответствии с настройками в конфигурационном файле.


Если у Вас возникли трудности в настройке или появились дополнительные вопросы, вы всегда можете обращаться в нашу службу поддержки через систему тикетов.

Обновлено 19 июля 2022 г.