Maltrail: тревога, если офисный компьютер звонит на вредоносный адрес
Maltrail слушает трафик сети и сверяет домены, адреса и User-Agent с базой известной вредоносной инфраструктуры. Разбираю, где ставить датчик, как приходят тревоги, чего он не видит и почему у списков индикаторов отдельная лицензия.
Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.
Кибербезопасность для малого бизнесаКуда ходят компьютеры, никто не смотрит
В офисе на десять человек у каждого свой ноутбук, у кассы свой компьютер, плюс принтер, камеры и телефоны на Wi-Fi. Один сотрудник поставил «бесплатный конвертер», и его компьютер раз в минуту стучится на чужой сервер. Антивирус молчит, пользователь ничего не замечает.
Список устройств в сети я уже разбирал в статье про NetAlertX, а за журналы самих компьютеров отвечает Wazuh. Maltrail смотрит на сеть: к кому обращаются устройства и входит ли адресат в базу плохих адресов.
Что это за проект и что я проверил
Проверял 18.10.2026 по репозиторию на GitHub. Файл LICENSE содержит текст MIT. Репозиторий создан 4 декабря 2014 года, не архивирован, последнее изменение 16.10.2026. Релиз 3.5 вышел 14.10.2026, в ветке master уже лежит работа над 3.6, поэтому ставить лучше релизную метку, а не master. Основной автор Мирослав Стампар, он же значится в файле AUTHORS проекта sqlmap. Вторым мейнтейнером указан Михаил Касимов, но по списку участников около трёх четвертей вкладов у Стампара, так что проект держится на двух людях.
Сенсор написан на Rust, ловит пакеты через libpcap, сопоставляет их со списками и пишет события. Сервер на Python показывает веб-интерфейс и принимает события от одного или нескольких сенсоров. Процессы можно разнести по разным машинам. Сенсору хватает двух возможностей ядра Linux (CAP_NET_RAW и CAP_NET_ADMIN), которые выдаются бинарнику один раз, root не нужен.
Установщик проверен автором на двенадцати Linux-дистрибутивах (с учётом версий), на FreeBSD, NetBSD, OpenBSD и macOS. Есть сборки для Raspberry Pi. Для Windows 10 и новее нужен Npcap. По замерам из описания релиза 3.5 сенсор в работе занимает около 32 МБ памяти. Установка идёт командой curl ... | sudo sh, скрипт перед запуском стоит прочитать, есть режим --dry-run.
Откуда берутся индикаторы и куда приходят тревоги
Индикатор по README это домен, URL, адрес, пара IP:порт, User-Agent, отпечаток TLS-клиента или хэш сертификата. Список собирается из нескольких частей: статический набор из репозитория stamparm/trails, 39 публичных фидов, которые ваш сервер скачивает у их издателей, ваши собственные списки и белый список. Всего в сборке больше 1,5 миллиона записей. По умолчанию обновление идёт раз в сутки. Запись из одного фида получает оценку уверенности 40 из 100, совпадение нескольких источников её поднимает.
Оповещения бывают пяти видов. Веб-интерфейс с поиском, живым потоком, отметками «проверяется», «решено», «ложное». Текстовые логи. Syslog в формате CEF. JSON для Logstash. И вебхук: в конфиге есть ALERT_WEBHOOK_URL, туда уходит POST по каждому событию выбранной важности. По умолчанию порог «высокая», повтор одной пары «источник и запись» гасится на 300 секунд. Принимать можно в Slack, Mattermost, Discord** или в свой скрипт. Готового канала в Telegram я в конфиге не нашёл.
Лицензия: движок один, списки другие
Движок под MIT. Статический набор в репозитории stamparm/trails идёт по отдельной лицензии (Maltrail Trails Community Data License 1.0, авторское право указано с 2026 года). По её тексту набор бесплатен для защиты систем и сетей, которыми вы владеете, и для исследований и обучения. Защита и мониторинг в интересах сторонних лиц внутренней защитой не считается. Управляемые услуги, консалтинг и размещённое обнаружение для третьих лиц требуют отдельного письменного разрешения, возможно платного.
Вы ставите у себя и защищаете себя бесплатно. Для меня как исполнителя разбор срабатываний по готовому набору как платная услуга может требовать разрешения авторов. Я не юрист. До начала работ мы выбираем схему: письменное разрешение или свои списки и фиды, условия которых проверяются отдельно.
Где Maltrail не поможет
Сенсор видит только трафик, который до него дошёл. Чтобы увидеть сеть офиса, его ставят на шлюз или подключают к порту зеркалирования управляемого коммутатора. В домашнем роутере без такой функции датчик слепой. Ноутбуки на мобильной сети или дома вне поля зрения.
Зашифрованный HTTPS в содержимом не виден никогда. Домен из ClientHello (SNI) извлекается, только если включить USE_FAST_PREFILTER, по умолчанию выключено. Сертификаты сверяются у TLS 1.2 и ниже, в 1.3 сертификат зашифрован. Если браузер шлёт запросы через шифрованный DNS, обычных DNS-запросов сенсор не получит. Это мой вывод, в документации я его не нашёл.
Maltrail только сообщает. Автор в README прямо пишет, что он не заменяет защиту на конечных устройствах и систему предотвращения вторжений.
Ложные срабатывания будут. Эвристика регулярных обращений ловит и мониторинг аптайма, и почтовые опросы, такие события помечены как подозрительные. Входящие сканирования из интернета идут целый день даже на здоровой машине. Придётся вести белые списки и отключать лишние эвристики.
Ещё несколько мелочей. Пароль панели по умолчанию changeme!, адрес по умолчанию открыт на всех интерфейсах, оба нужно менять до подключения к сети. Метки «ложное» и заметки хранятся в браузере, коллегам не видны. Логи автор сам не ротирует, и в них есть адреса и домены, которые в ряде стран считаются персональными данными. Согласуйте с юристом и предупредите сотрудников. Списки скачиваются с GitHub, доступность из России уточняйте, для офлайна есть UPDATE_SERVER. Читать сработки удобно во время ежемесячного обхода офиса.
Что можно сделать уже сейчас
Нарисуйте схему сети и найдите точку, где проходит весь трафик: шлюз на Linux или порт зеркалирования. Если сеть разбита на зоны по совету из статьи про безопасность Wi-Fi, датчик на выходе в интернет увидит их все.
Поставьте Maltrail на тестовую машину и запустите python3 server.py --detect-test. По README, здоровая установка печатает «27/27 detection(s) fired».
Смените пароль admin, привяжите панель к 127.0.0.1 или спрячьте за обратным прокси с TLS, настройте вебхук с порогом «высокая». Блокировать плохие домены на уровне DNS умеет AdGuard Home, он работает рядом.
Назначьте человека и день: сработки читают раз в неделю. Установку датчика, оповещения и разбор сработок я делаю по услуге кибербезопасности.
Частые вопросы
Заменит ли Maltrail антивирус?
Нет. Он смотрит на сеть, файлы и процессы ему недоступны. Он может подсказать, что компьютер связался с известным вредоносным адресом, но удалять ничего не станет.
Нужен ли мощный сервер?
Для небольшого офиса нет. Автор пишет, что сенсор помещается в Raspberry Pi с 256 МБ памяти. Я это не проверял.
Коротко о главном
Maltrail под лицензией MIT даёт малой сети дешёвый датчик для связи с известной вредоносной инфраструктурой. Он видит только то, что к нему пришло, не блокирует и требует человека для разбора. Лицензия на списки индикаторов отдельная.
Хотите узнать, куда ходят ваши компьютеры, и получать тревоги в чат? Напишите мне в Telegram кодовое слово «ТРЕВОГА». Начнём со схемы сети и лицензии на списки.
Что я делаю для бизнеса
Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


