Linux Malware Detect (LMD) или 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
Сразу же обновляются базы сигнатур.
Конфигурационный файл: /usr/local/maldetect/conf.maldet
Удаление программы с сервера:
rm -rf /usr/local/maldetect/ /etc/cron.daily/maldet /usr/local/sbin/maldet /usr/local/sbin/lmd
Использование
Запуск сканирования стандартных путей, если у вас установлена панель управления ISPmanager:
maldet -a /var/www/*/data/www
Сканировать только файлы, измененные за последние 5 дней:
maldet -r /var/www/*/data/www 5
По завершении сканирования будет выведено общее количество просканированных файлов, количество инфицированных и количество излеченных файлов. Также будет выведен номер отчета, который можно посмотреть командой, например:
maldet --report 040515-0743.23617
Обновить базы сигнатур:
maldet -u
Переместить найденные зараженные файлы в карантин (в каталог /usr/local/maldetect/quarantine):
maldet -q 040615-0925.31477
Вытащить файлы из карантина:
maldet -s 040615-0925.31477
Пробовать очистить зараженные файлы от вредоносных вставок кода:
maldet -n 040615-0925.31477
Добавить вредоносный код в базу сигнатур maldet:
maldet -c badfile.php
Настройка
Настроим автоматический запуск maldet по ежедневному расписанию cron.
Правим конфиг /usr/local/maldetect/conf.maldet:
# если хотим получать уведомления на почту email_alert=1 email_subj="maldet alert from $(hostname)" email_addr="ваша@почта.com" # помещать файлы в карантин quar_hits=1 # используем движок clamav для ускорения поиска clamav_scan=1
Вносим изменения в crontab-файл для того, чтобы сканировались директории с сайтами при установленном ISPmanager:
vi /etc/cron.daily/maldet
Удаляем строки после:
if [ "$(ps -A --user root -o "comm" | grep inotifywait)" ]; then /usr/local/maldetect/maldet --alert-daily >> /dev/null 2>&1 else
Вставляем:
# стандартные пути ISPmanager if [ -d "/var/www" ]; then /usr/local/maldetect/maldet -b -r /var/www/?/data/www 2 >> /dev/null 2>&1 fi fi
Проверка файлов на сайтах без установки Linux Malware Detect на сервер
cd /root wget http://www.rfxn.com/downloads/maldetect-current.tar.gz tar -zxvf maldetect-current.tar.gz cd maldetect-1.4.2/files
Устанавливаем значение переменной для разрешения запуска скрипта от пользователя:
vi conf.maldet public_scan=1
Изменяем каталог, куда должна устанавливаться программа, на текущий каталог. Правим скрипт maldet:
vi maldet
Меняем
inspath=/usr/local/maldetect
на
inspath=$PWD
Запускаем maldet непосредственно из директории /root/maldetect-1.4.2/files:
./maldet -h