Linux malware detect что это

Как проверить блог на вирусы

Мне сильно кажется, что большинство людей на хабре публикуют заметки даже не удосужившись проверить тот продукт о котором они пишут на практике, дополнить исполнение команды и применение к реальности реальными примерами, а не простым копированием документации и немного переведенного текста на наш с вами русский язык. Мне заинтересовала заметка про сканер, целью которого является поиск любого нежелательного, зловредного на моем блоге. И теперь я хочу раскрыть данную тему полностью со всеми возникнувшими у меня нюансами, может даже еще чем-то. Все описанное будет проделано на примере моего блога — www.ekzorchik.ru

В роли главного героя выступит сканер уязвимостей Linux Malware Detect (в дальнейшем для краткости LMD) который я буду использовать на своей системе Ubuntu Trusty Server amd64

Устанавливаю необходимые пакеты перед скачиванием и инсталлированием приложения в систему:

$ sudo rm -Rf /var/lib/apt/lists

$ sudo apt-get update && sudo apt-get upgrade -y

Linux srv-trusty 4.4.0-98-generic #121

14.04.1-Ubuntu SMP Wed Oct 11 11:54:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Советую привести систему к последнему релизу ядра по этой заметке.

$ tar zxf maldetect-current.tar.gz

/maldetect-1.6.2$ sudo ./install.sh

$ rm -Rf maldetect-1.6.2/ maldetect-current.tar.gz

$ sudo apt-get install clamav clamav-daemon clamav-freshclam clamfs -y

$ sudo nano /etc/clamav/freshclam.conf

Обновляем сканер maldetect до самого последнего актуального состояния:

За работу утилиты отвечает конфигурационный файл:

$ sudo nano /usr/local/maldetect/conf.maldet

#почтовый ящик куда отправлять отчеты

#глубина на которую сканер осуществляет проверку целостности файлов

#минимальный размер файлов в байтах

#максимальный размер файлов (b (байты),k(килобайты),M(мегабайты)

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

scan_tmpdir_paths=»/tmp /var/tmp /dev/shm»

#разрешить или запретить обычным пользователям использовать утилиту maldet (я запрещаю)

#перемещать инфицированные файлы в карантин

остальные опции я оставил по умолчанию

Теперь проверю свой бекап на предмет наличия зараженности:

$ sudo maldet -a /home/ekzorchik/file

maldet(29396): scan report saved, to view run: maldet —report
171223-0959.29396

$ sudo maldet —report 171223-0959.29396

SCAN ID: 171223-0959.29396

STARTED: Dec 23 2017 09:59:28 +0300

COMPLETED: Dec 23 2017 09:59:48 +0300

ELAPSED: 20s [find: 0s]

TOTAL CLEANED: 0

Linux Malware Detect v1.6.2

Запустить в ручном режиме утилиту maldet на предмет проверки каталога Web— сервера содержащего пользовательские сайты:

$ sudo maldet -b -r /var/www

Linux Malware Detect v1.6.2

(C) 2002-2015, R-fx Networks

(C) 2015, Ryan MacDonald

This program may be freely redistributed under the terms of the GNU GPL v2

maldet(25083): launching scan of /var/www changes in last 7d to background, see /usr/local/maldetect/logs/event_log for progress

Проверяем в другом окне (или лучше задействовать tmux) консоли что утилита maldet запущена:

$ sudo ps aux | grep maldet

$ sudo ps aux | grep inotify

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

Linux Malware Detect (LMD) — это сканер для Linux, предназначенный для поиска веб-шеллов, спам-ботов, троянов, злонамеренных скриптов и прочих типичных угроз характерных для веб-пространств и особенно актуален для виртуальных шаред-хостинг платформ. Главное отличие от прочих Linux-антивирусов — его веб направленность, сканирование файлов веб-сайтов, ведь обычные антивирусы ориентируются на более глобальные угрозы уровня системы.

Читайте также:  0x80070543 windows 10 ошибка

В основе утилиты maldetect лежит скрипт который посредством базы grep производит сканирование на основе своей базы сигнатур, но в свою очередь — если установить антивирус clamav , то весь процесс будет идти через него. Это создает двойной выигрыш в применяемых средствах.

После того, как утилиту maldetect я установил в свою систему, заметил что создались ежедневные задания для обновления сигнатур и запуска сканирования.

$ ls -l /etc/cron.daily/maldet

-rwxr-xr-x 1 root root 2672 Nov 18 06:59 /etc/cron.daily/maldet

а главном конфигурационном файле за это отвечает параметр:

На заметку: по умолчанию утилита maldet проверяет каталоги якобы популярных движков, как directadmin,ispmgr,ensim,psa,Virtualmin, froxlor,cpanel, см файл и в него можно добавить свои пути.

$ sudo nano /etc/cron.daily/maldet

После проверяю текущий статус службы maldet:

$ sudo service maldet status

error no default monitor mode defined, set $MONITOR_MODE in /etc/sysconfig/maldet or $default_monitor_mode in /usr/local/maldetect/conf.maldet

$ sudo nano /etc/default/maldet

$ sudo /etc/init.d/maldet status

Checking maldet monitoring status: Not running

$ sudo /etc/init.d/maldet start

Starting maldet: Linux Malware Detect v1.6.2

(C) 2002-2017, R-fx Networks

(C) 2017, Ryan MacDonald

This program may be freely redistributed under the terms of the GNU GPL v2

maldet(30485): could not find inotifywait command, install yum package inotify-tools or download from https://github.com/rvoicilas/inotify-tools/wiki/

$ sudo apt-get install inotify-tools -y

$ sudo /etc/init.d/maldet start

$ sudo /etc/init.d/maldet status

Checking maldet monitoring status: Running

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

Сканирование происходит с использованием собственного скрипта на базе grep, а если в системе установлен ClamAV — то при помощи clamscan. Аналогично с сигнатурами: программа имеет свою базу сигнатур, если же в системе установлен ClamAV, то использует дополнительно и его базу. Когда производим нацеливание на каталог с файлами, то отчет можно настроить что будет высылаться на электронную почту.

В каталоге куда установилась программа присутствует довольно понятный файл README целью которого дать наиполнейшее представление, как работать и что может данная утилита:

/usr/local/maldetect/conf.maldet — главный конфигурационный файл

По умолчанию в автоматическом режиме перенос файлов в карантин деактивирован, а потому при наличие каких либо совпадений с базой сигнатур придется разбираться, а на то идет жалоба и что нужно делать самим. Такой вариант может устроить только тех кто хочет понять каким образом произошло заражение, либо же задействовать параметр со значением quar_hits=1 чтобы все подозрительные файлы сразу же переносились в специально обозначенный каталог карантина.

  • /usr/local/maldetect/quarantine — каталог куда переносятся файлы в случае нахождения совпадений по базе данных сигнатур.
  • /usr/local/maldetect/ignore_paths — каталог/файлы которые не стоит проходить проверкой утилиты, к примеру сейчас в нем по умолчанию содержаться:

/usr/local/maldetect/ignore_file_ext — игнорировать файлы по маске, к примеру вот так:

  • /usr/local/maldetect/ignore_sigs — игнорировать наличие сигнатуры сканируемого
  • /usr/local/maldetect/ignore_inotify — исключения из мониторинга
Читайте также:  Pidgin для windows что это

Думаю описывать назначение каждого параметра это излишне, но все же остановлюсь на некоторых:

  • -b — запуск в фоне при длительном сканировании
  • -u — обновить сигнатуры обратившись с официальному сайту rfxn.com
  • -d — обновить инсталлируемую версия с официального сайта rfxn.com
  • -m (—monitor USERS|PATHS|FILE) — запуск утилиты maldet
  • -k — завершить запущенную утилиту.
  • -r — нацелить просканировать конкретный каталог и файлы созданные/изменяемые в течение указанных дней, по умолчанию (7 дней)

maldet -r /home/ekzorchik 5

  • -a — просканировать все файлы по заданному пути

maldet -a /home/ekzorchik

  • -с — после проверки файлы загрузить его сигнатуру на официальный сайт
  • -l — просмотреть лог файл событий
  • -e — отправить отчет на почтовый ящик:

maldet —report list

maldet —report идентификатор формируемый после окончания сканирования

maldet —report SCANID user@host.com — отчет на почту

  • -s — восстановить все файлы из карантина
  • -q — поместить все файлы из отчета в карантин
  • -n — очистить на основании SCANID все файлы
  • -U — назначение атрибутов на конкретного пользователя, используется при восстановлении файлов из карантина
  • -co — ручной запуск утилиты maldet где в строке перечислены атрибуты с которыми следует работать (атрибуты берем из главного конфигурационного файла), maldet —config-option email_addr=user@host.com,quar_hits=1 и т. д.
  • -p — Очистить логи,удалить все из каталога «Карантин»,сессии и временные файлы.

Чтобы данный сервер мог уведомлять о проблемах на почту в системе должен быть настроен агент MTA — я использую утилиту ssmtp.

Просканировать весь домашний каталог (? — то же самое что и символ звездочка):

$ sudo maldet -a /home/?

$ sudo maldet -a /var/www/wordpress/?

$ sudo maldet —report 171223-1027.904

SCAN ID: 171223-1027.904

STARTED: Dec 23 2017 10:27:51 +0300

COMPLETED: Dec 23 2017 10:30:58 +0300

ELAPSED: 187s [find: 2s]

TOTAL FILES: 16778

TOTAL CLEANED: 0

Linux Malware Detect v1.6.2

Для восстановления файла перемещенного в карантин следует:

sudo maldet –restore /usr/local/maldetect/quarantine/FILENAME

Теперь мой ресурс посвященный реальным заметкам в той степени безопасности которую я могу ему обеспечить на основании своего опыта.

Пока на этом у меня всё, с уважением, автор блога Олло Александр aka ekzorchik.

Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

Поблагодари автора и новые статьи

будут появляться чаще 🙂

Карта МКБ: 4432-7300-2472-8059

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.

Источник

Linux Malware Detect — антивирус для веб-серверов

Интернет уже не тот, что прежде — кругом враги. Тема обнаружения непосредственного заражения сайта и поиска вредоносных/зараженных скриптов на взломанном сайте рассмотрена слабо, попробуем это исправить.
Итак, представляем вашему вниманию Linux Malware Detect.

Linux Malware Detect (LMD) — это сканер для Linux, предназначенный для поиска веб-шеллов, спам-ботов, троянов, злонамеренных скриптов и прочих типичных угроз характерных для веб-пространств и особенно актуален для виртуальных шаред-хостинг платформ. Главное отличие от прочих Linux-антивирусов — его веб направленность, сканирование файлов веб-сайтов, ведь обычные антивирусы ориентируются на более глобальные угрозы уровня системы.

Что умеет

  • Поиск угроз по базе MD5 и распознавание типа угрозы (например, php.cmdshell.nan.296.HEX) по HEX-базе.
  • Статистический анализ файлов на наличие обфусцированных зловредов и инъекций.
  • Обнаружение установленного в системе ClamAV для использования его в качестве сканера.
  • Ручное и автоматическое (по крону) обновление сигнатур.
  • Ручное и автоматическое обновление версии самого скрипта.
  • Возможность сканирования недавно добавленных/измененных файлов (например за последние 2 дня).
  • Опция загрузки обнаруженных потенциальных угроз на официальный сайт для анализа.
  • Система отчетов.
  • Очистка файлов от вредоносных инъекций.
  • Крон-заготовки для запуска регулярного сканирования юзерспейсов или других директорий.
  • Наборы исключений по расширениям, сигнатурам и путям.
  • Возможность отправки результатов сканирования на e-mail.
  • Мониторинг в реальном времени созданных/модифицированных/измененных файлов при помощи inotify_watch: мониторинг выбранных пользователей, каталогов или файлов.
  • … и прочее.
Читайте также:  Toon boom harmony для windows

Как это работает

Сканирование происходит с использованием собственного скрипта на базе grep, а если в системе установлен ClamAV — то при помощи clamscan. Аналогично с сигнатурами: программа имеет свою базу сигнатур, если же в системе установлен ClamAV, то использует дополнительно и его базу.

Источники сигнатур:
  1. Срез данных сети. Разработчик LMD является администратором хостинга на 35.000 сайтов, данные ежедневно анализируется и обрабатываются. Основной источник сигнатур.
  2. Данные сообщества собранные с антималвар-сайтов.
  3. ClamAV, взаимообмен сигнатурами.
  4. Данные, присылаемые пользователями.

Сигнатуры обновляются практически ежедневно, RSS-лента с обновлениями сигнатур присутствует на официальном сайте.

Результаты сканирования сохраняются в файл, а также могут высылаться на указанный в конфиге e-mail. Интеграции с популярными панелями управления, увы, нет, если же вы хостер — сообщения клиентам придется рассылать вручную.

Интеграция с популярными панелями ISPmanager и Cpanel была бы неплохим вкладом в сообщество (это в случае если кто желает).

Что это дает

Типичные примеры обнаружений

Отчет о сканировании выглядит следующим образом:

Установка

При запуске install.sh программа установки размещает файлы LMD в /usr/local/maldetect, заносит исполняемый скрипт в /usr/local/sbin и libinotifytools.so.0 в /usr/lib.

В процессе инсталляции автоматически создаются ежедневные крон-задания для обновления сигнатур и запуска сканирования. По умолчанию в конфигурации указаны типичные пути для сканирования вебспейсов популярных панелей управлений, таких как ensim, psa, DirectAdmin, cpanel, interworx и дефолтных apache-путей размещения сайтов (/var/www/html, /usr/local/apache/htdocs). Для ISPmanager путь /var/www/ придется добавлять вручную.

Настройка

Конфиг LMD находится в файле /usr/local/maldetect/conf.maldet.
Конфиг хорошо документирован и позволяет настроить все, что душе угодно.

На заметку:

ionice -c 3 добавленный к строкам запуска скриптов по поиску и сканированию файлов поможет предотвратить нагрузку на дисковую подсистему выставив наинизший приоритет i/o.

В файле /usr/local/maldetect/maldet
находим:

Стоит отметить, что данное решение — своего рода «костыль», данную опцию стоит добавить в апстрим.

Типичные команды

Запускаем сканирование указанного каталога:

По окончанию получаем результат вида:

Принудительно обновляем базы с rfxn.com:

Принудительно обновляем версию с rfxn.com:

Сканируем все изменные за последние X дней файлы (в данном случае 2) в указанном каталоге

Отправляем неизвестную уязвимость на rfxn.com:

Помещаем в карантин результаты сканирования SCANID (id из результатов сканирования)

Пытамся очистить результаты сканирования

Программа распространяется по лицензии GNU GPLv2.
Официальная страничка проекта: http://www.rfxn.com/projects/linux-malware-detect Linux Malware Detect.

Имею опыт использования и настройки, на все вопросы с удовольствием отвечу в комментариях.

Источник

Оцените статью