Maldet — это сканер для Linux, предназначенный для поиска веб-шеллов, спам-ботов, троянов, злонамеренных скриптов и прочих типичных угроз характерных для веб-пространств и особенно актуален для виртуальных шаред-хостинг платформ. Главное отличие от прочих Linux-антивирусов — его веб направленность, сканирование файлов веб-сайтов.
Установка
Установка происходит под пользователем root, так как необходимо создать директорию /usr/local/maldetect для хранения сигнатур и отчетов о сканировании.
- скачать архив с антивирусом командой:
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
- распаковать архив:
tar xvzf maldetect-current.tar.gz
- перейти в директорию:
cd maldetect*
- запустить процесс установки:
sh install.sh
- в процессе установки создается директория /usr/local/maldetect, создается задание для cron, выполняется обновление сигнатур антивируса
Настройка
Конфигурация антивируса расположена по пути: /usr/local/maldetect/conf.maldet
Все пункты в файле подробно расписаны и указаны возможные действия. Из дополнительных настроек стоит указать оповещение по электропочте:
- email_alert - включение отправки уведомлений о результатах сканирования на электронную почту
- email_subj - тема письма
- email_addr - адрес электронной почты для отправки. Можно указать несколько через запятую
Настройка cron
В процессе установки, maldet создает задание для сканирования по cron. В задании происходит проверка версии антивируса, обновление сигнатур и выполнение сканирования.
Рекомендуется проверить что и как сканируется. Для этого открыть файл: /etc/cron.daily/maldet
Файл содержит следующие действия:
- происходит сканирование путей для популярных систем управления сайтами, например CPanel и сканирование найденных директорий
- происходит поиск директорий по умолчанию для apache
Если расположение сайта не подпадает ни под одно из условий поиска, то следует добавить свое. Для этого можно взять в качестве примера настройку для apache, скопировать ее и изменить параметры
При запуске задач по крону, maldet уменьшает нагрузку на сервер с помощью сканирования только тех файлов, которые были изменены за последние 2 дня. Для этого в файле с заданиями для cron, maldet передаются аргументы -r и цифра с указанием дней. Пример:
maldet -r /home/public_html 2
.
Сканирование
Рекомендую запускать maldet с использованием tmux
- запускаем
tmux
- выполняем запуск антивируса
maldet -a /var/www/webmaster/data/www/
- если соединение с сервером разорвется или случайно закроете сеанс, то надо по новой подключится и выполнить команду
tmux attach
и откроется сохраненный сеанс
По завершению maldet на экран выведет отчет. Например:
Linux Malware Detect v1.4.2 (C) 2002-2013, R-fx Networks(C) 2013, Ryan MacDonald inotifywait (C) 2007, Rohan McGovern This program may be freely redistributed under the terms of the GNU GPL v2 maldet(20396): {scan} signatures loaded: 10775 (8863 MD5 / 1912 HEX) maldet(20396): {scan} building file list for /var/www/webmaster/data/www/, this might take awhile... maldet(20396): {scan} file list completed, found 26 files... maldet(20396): {scan} 26/26 files scanned: 0 hits 0 cleaned maldet(20396): {scan} scan completed on /var/www/webmaster/data/www/: files 26, malware hits 0, cleaned hits 0 maldet(20396): {scan} scan report saved, to view run: maldet --report 052815-1302.20396
В конце указана команда для просмотра отчета:
maldet --report 052815-1302.20396
Все отчеты сканирования находятся в директории: /usr/local/maldetect/sess
Расшифровка имени отчета:
session.052815-1502.5768
- 052815 - дата старта сканирования, 28 мая 2015 по американскому формату времени
- 1502 - время старта сканирования, 15 часов 2 минуты
Исключения сканирования
Для пропуска сканирования файлов, например PDF присутствует возможность задать исключающие типы.
Для этого открыть файл /usr/local/maldetect/ignore_file_ext
указать типы расширений с лидирующей точкой, например:
.pdf
.sql
.jpg
Режимы запуска сканирования
maldet -b. Выполнение сканирования в скрытом режиме. Идеально для большого объема сканирования. Этот режим запускается при выполнении сканирования по крону
maldet -c. По завершению сканирования все подозрительные файлы загружаются на сервер rfxn.com для проверки и добавления в сигнатуры
maldet --config-option quar_hits=0. Передаются параметры напрямую в процесс сканирования, игнорирую файл конфигурации. Например параметр quar_hits переданный напрямую имеет выше приоритет, чем он же заданный в файле конфигурации.
Как по поводу сканера AI-Bolit ;-) с ним работали ?
Да, используем его в работе. Отличный инструмент.