Linux Malware Detect (Maldet) - это сканер, с помощью которого можно проверить сервер на наличие подозрительных и вредоносных скриптов (шеллы, скрипты для спама и т. п.) в системе в принципе или, например, в файлах сайта в частности.
В программу заложен большой функционал:
- Находить подозрительные файлы;
- Находить и отправлять на карантин проблемные скрипты;
- Находить и по возможности лечить обнаруженное;
- Сканировать только те файлы, которые появились и были изменены за определённые промежуток времени;
- В интерактивном режиме осуществлять мониторинг в определённой директории;
- Работать с исключениями, добавляя в них как конкретные сигнатуры, так и пути/конкретные файлы на сервере;
- Отправлять подозрительные файлы на анализ, на серверы Maldet’а;
- Автоматически и вручную обновлять собственные сигнатуры и версию самого сканера;
Установка
Установка для CentOS и Debian одинакова:
cd /root
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
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
По завершении сканирования будет выведено общее количество просканированных файлов, количество инфицированных и количество излеченных файлов.
Также будет выведен номер отчета, который можно посмотреть командой, например:
maldet --report 220718-1809.1790255
Обновить базы сигнатур:
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 будет проверять новые файлы на сервере, найденное будет обрабатываться в соответствии с настройками в конфигурационном файле.
Если у Вас возникли трудности в настройке или появились дополнительные вопросы, вы всегда можете обращаться в нашу службу поддержки через систему тикетов.