Инициатива #SaveFirst
поддержка онлайн-проектов, которые помогают людям в период кризиса COVID-19
Подробнее

Антивирус Linux Malware Detect: установка и сканирование

Linux Malware Detect — сканер для поиска и лечения вредоносного программного обеспечения для Linux. Его особенностью и, несомненно, большим плюсом является тот факт, что базы вирусных сигнатур у него пополняются сразу из нескольких источников:

  • хостинг — большая часть баз антивируса сформирована на основе статистики вредоносной активности на более чем 35 000 сайтов;
  • данные сообщества: есть несколько ресурсов, посвящённых интернет-безопасности, где собираются, анализируются и классифицируются новые угрозы. Их коллекция вредоносного ПО входит в базу сигнатур Linux Malware Detect;
  • ClamAV: разработчики Linux Malware Detect тесно сотрудничают с командой ClamAV — это не только позволило интегрировать часть возможностей оттуда, но и обмениваться новыми обнаруженными сигнатурами;
  • сообщения пользователей: антивирус имеет встроенную возможность отправлять для анализа и классификации угрозы, ещё не включенные в базы вирусных сигнатур. Таким образом на проверку поступает более чем 30-50 сообщений в неделю.

Также стоит отметить возможность отправки уведомлений в корпоративный мессенджер Slack.

Продукт ориентирован на операционные системы семейства Linux. Другие задокументированные системные требования отсутствуют.

Установка Linux Malware Detect

Способ установки на большинстве Linux-систем идентичен и состоит из трёх шагов: 

  1. Перейдите на сайт разработчика и скопируйте ссылку на последний релиз антивируса:

  2. Скачайте и распакуйте архив на сервер в нужную директорию:

    cd /root
    
    wget https://www.rfxn.com/downloads/maldetect-current.tar.gz
    
    tar -xvzf maldetect-current.tar.gz
  3. Перейдите в распакованную папку* и запустите установку:

    cd maldetect-1.6.4
    
    ./install.sh

    * подсмотреть название разархивированной папки можно с помощью команды ls -al

После завершения установки рабочие файлы антивируса будут размещены в директории /usr/local/maldetect. В том числе конфигурационные файлы для тонкой настройки:

  • /usr/local/maldetect/conf.maldet — настройки антивируса и параметров сканирования;
  • /usr/local/maldetect/cron/conf.maldet.cron и /usr/local/maldetect/cron/custom.cron — настройка параметров ежедневного сканирования;
  • /usr/local/maldetect/ignore_* — настройки расширений, путей, уведомлений и сигнатур, которые нужно игнорировать при сканировании.

Удалить Linux Malware Detect можно также с помощью скрипта из этой папки — /usr/local/maldetect/uninstall.sh

Теперь нужно настроить работу уведомлений. При текущем раскладе антивирус в случае обнаружения угроз будет писать информацию только в собственные логи — а с ними работать не всегда удобно. Для отправки уведомлений, например, на email, нужно задать дополнительные настройки:

  1. При наличии настроенного почтового сервера можно настроить отправку уведомлений на ваш email. Для этого с помощью консольного редактора откройте конфигурационный файл /usr/local/maldetect/conf.maldet

    vim /usr/local/maldetect/conf.maldet

    * В качестве примера приведён редактор Vim. Для входа в режим редактирования на клавиатуре нажмите I. Для выхода из режима редактирования нажмите Esc. Для сохранения и выхода из файла введите сочетание :wq Для выхода без сохранения введите :q!
     

    Чтобы антивирус мог отправлять уведомления на ваш email, в параметре email_alert установите значение “1”. В параметре email_addr укажите почтовый ящик, на который будут отправляться сообщения антивируса.

  2. Откройте файл* планировщика пользователя root:

    crontab -e
    
    Чтобы планировщик отправлял уведомления о выполнении задач по расписанию корневому пользователю, скопируйте в начало файла (перед списком заданий) следующий текст:
    SHELL=/bin/bash
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/

    При наличии настроенного почтового сервера root можно заменить на адрес электронной почты.

Дополнительные настройки

С помощью конфигурационного файла /usr/local/maldetect/conf.maldet можно управлять как параметрами сканирования, так и потреблением ресурсов. 

Сам файл разбит на несколько разделов для упрощения навигации. Вот список наиболее примечательных опций:

[ General options ]

  • cron_prune_days — период хранения файлов, перемещённых в карантин. По умолчанию имеет значение “21”.

[ SCAN OPTIONS ]

  • scan_clamscan — опция для активации / отключения интеграции с антивирусом ClamAV. Интеграция позволяет улучшить производительность сканирования на больших группах файлов. По умолчанию интеграция включена;
  • scan_tmpdir_paths — опция включает сканирование для заданных директорий временных файлов;
  • scan_user_access — параметр открывает доступ к сканированию для непривилегированных пользователей. По умолчанию доступ имеет только root (значение “0”);
  • scan_ignore_root — по умолчанию при сканировании файлы, принадлежащие пользователю root, игнорируются. Если в папке вашего сайта есть такие файлы, и вам нужно их проверить — установите значение “0”.

[ QUARANTINE OPTIONS ]

  • quarantine_hits — настройка обработки обнаруженных угроз. По умолчанию включена только отправка уведомления (“0”). При значении “1” отправляется уведомление, а заражённый файл перемещается в директорию /usr/local/maldetect/quarantine;
  • quarantine_clean — при обнаружении вредоносного файла антивирус предпримет попытку автоматического удаления фрагмента кода, совпавшего с вирусной сигнатурой. Параметр доступен, если значение предыдущего параметра установлено в “1”. По умолчанию отключен. Включать с осторожностью — всегда существует риск, что с вирусной сигнатурой частично совпадёт кусок вполне рабочего кода.

[ MONITORING OPTIONS ]

Раздел позволяет настроить режим мониторинга — включая пути к домашним папкам пользователей и настройки потребления ресурсов.

[ STATISTICAL ANALYSIS ]

Экспериментальный режим, использование которого может сильно замедлить процесс сканирования. Опции раздела позволяют определять угрозы, базирующиеся на длине наибольшей непрерывной строки в файле. Это полезно в случаях, когда вредоносный код закодирован, например, в basedir64.

Установка ClamAV (опционально)

Для того чтобы Linux Malware Detect мог быстрее сканировать большие группы файлов, можно установить антивирус ClamAV — в таком случае сканирование будет выполняться с помощью его движка.

Для работы не требуется какая-либо специфическая настройка — достаточно просто установить ClamAV. 

Debian и UbuntuCentOS
apt-get update
apt-get install clamdscan clamav-daemon
yum install -y epel-release
yum install -y clamav


После установки нужно обновить вирусные базы ClamAV, выполнив в терминале команду freshclam.

Сканирование

С помощью Linux Malware Detect можно запускать как разовые проверки, так и постоянный фоновый мониторинг отдельных директорий.

Разовые проверки

  • Проверка отдельной директории (например, /var/www/html) и всех вложенных файлов выполняется командой: 

    maldet -a /var/www/html

    Если нужно проверить данные сразу нескольких пользователей или сайтов, путь можно указывать в другом формате: 

    maldet -a /var/www/?/data

    Или вообще запустить сканирование из файла со списком директорий:

    maldet -f scan_list

    Опции -i и -x позволяют соответственно включить или исключить файлы с помощью регулярного выражения.

  • Проверка файлов в директории /var/www/html, изменённых за последние 7 дней, выполняется командой:

    maldet -r /var/www/html 7
  • Чтобы сканирование выполнялось в фоновом режиме, не блокируя работу терминала, можно запустить его с дополнительной опцией -b:

    maldet -b -a /var/www/html

    Отслеживать прогресс проверки можно через журнал /usr/local/maldetect/logs/event_log

В процессе ручного сканирования вы увидите уведомление, где в последней строчке в случае успешного завершения будет указан ID отчёта, на примере — 200713-1132.32258 ID отчёта потребуется для дальнейших действий с обнаруженными вредоносными файлами.

Просмотреть отчёт можно командой: 

maldet -e ID

Дополнительно можно отправить этот отчёт на почту заинтересованным лицам, добавив email в конце команды (работает при наличии настроенного почтового сервера):

maldet -e ID mailbox@example.com

Мониторинг

Для работы мониторинга используется библиотека inotify-tools. Поэтому перед подключением установите её на ваш сервер:

Debian и UbuntuCentOS
-- установлена по умолчанию --
apt-get install inotify-tools
yum install -y epel-release
yum install inotify-tools

 

Мониторинг можно настроить на отдельного пользователя, папку или даже отдельный файл. Он будет отслеживать изменение или появление новых файлов по указанному пути и запускать их проверку. Для запуска мониторинга директории  /var/www/html достаточно одной команды:

maldet -m /var/www/html

Статистику мониторинга можно отслеживать в журнале /usr/local/maldetect/logs/inotify_log

Полностью остановить сервис мониторинга при необходимости можно командой.

maldet -k

Дополнительные возможности

Просмотр логов антивируса:

maldet -l

Обновление базы вирусных сигнатур:

maldet -u

Обновление версии Linux Malware Detect:

maldet -d

Отправка инфицированного файла для анализа и добавления в базу вирусных сигнатур  (работает при наличии настроенного почтового сервера):

maldet -c malware.php

Что делать при обнаружении вредоносных файлов

Если вы не настроили отправку инфицированных файлов в карантин через конфигурационный файл, эту операцию можно выполнить вручную. Следующая команда переместит все инфицированные файлы, обнаруженные в ходе проверки с идентификатором ID , в папку /usr/local/maldetect/quarantine:

maldet -q ID

Также можно попытаться автоматически вылечить все файлы, помещённые в карантин: 

maldet -n ID

Если после проверки вы заключили, что лечение прошло успешно, восстановить файлы из карантина можно командой:

maldet -s ID

Вместо ID можно указать имя отдельного файла, содержащегося в карантине. Все файлы перемещаются в первоначальное место расположения, автоматически восстанавливаются их права и владелец.

Если антивирус определил, но не смог автоматически устранить угрозу, такие файлы необходимо лечить традиционным способом — вычищать вредоносные вставки вручную.