Сергей Попов
Администратор
- 30.12.2015
- 6 228
- 6 970
- Специализация
- OSINT
- Веб-безопасность
- Статус верификации
- ✓ Verified
В прошлом году на проекте по внедрению SOC для логистической компании - около 800 хостов, гибридная инфра Windows Server 2019 + Ubuntu 22.04 - я развернул Wazuh-кластер за неделю. Телеметрия потекла, алерты на SSH-bruteforce и подозрительные PowerShell-команды появились на четвёртый день. Но когда Red Team коллега прогнал Living-off-the-Land цепочку через штатные
wmic.exe и certutil.exe, Wazuh с дефолтным ruleset промолчал. Тишина. Пришлось экстренно разворачивать Velociraptor для ad-hoc hunting, а через месяц добавлять osquery для инвентаризации macOS-парка разработчиков. Три агента на хосте, три консоли, трёхкратная нагрузка на L1-аналитика. Ниже - систематическое сравнение open source EDR решений, которое я собрал, чтобы в следующий раз не городить этот зоопарк с первого дня.Методология: почему именно эти четыре инструмента
Рынок open source endpoint detection and response неоднороден. Формулировка "лучший бесплатный EDR" маскирует простой факт: каждый инструмент закрывает свою нишу, и ни один не заменяет все остальные. Четыре выбранных решения - четыре разных архитектурных подхода к мониторингу конечных точек:- Wazuh - SIEM + EDR + vulnerability scanning в одном стеке. Полностью open source, self-hosted.
- Velociraptor - DFIR-платформа и threat hunting через VQL. Open source, self-hosted.
- osquery - SQL-интерфейс к состоянию хоста. Open source, требует внешнего бэкенда (Fleet, Kolide) для агрегации.
- LimaCharlie - облачный EDR-конструктор с kernel-level сенсором. Не open source в классическом смысле: сенсор открыт, бэкенд - коммерческий SaaS с бесплатным тиром.
Зачем вообще сравнивать: по данным CrowdStrike Global Threat Report 2025, 79% атак в 2024 году обошлись без вредоносного ПО - атакующие работали через штатные утилиты ОС (hands-on-keyboard, Living-off-the-Land). Среднее время lateral movement после initial access - 62 минуты (рекорд - 51 секунда). Это значит, что от open source EDR для корпоративной сети нужен не сигнатурный анализ файлов, а поведенческий мониторинг процессов и системных вызовов в real-time.
Wazuh: настройка и возможности корпоративной EDR-платформы
Wazuh - самый тяжёлый вариант по инфраструктурным затратам. Архитектура: менеджер (обработка событий и правил корреляции), индексатор (форк OpenSearch для хранения и поиска телеметрии), dashboard (визуализация, форк OpenSearch Dashboards), агенты на эндпоинтах. Wazuh позиционирует себя как SIEM + XDR + vulnerability detection в единой платформе. По-честному - это скорее SIEM с EDR-функциями, чем XDR в определении Gartner. XML-декодеры и отсутствие unified data model выдают архитектуру с головой.
Из коробки Wazuh даёт: сбор логов (syslog, Windows Event Log, auditd), FIM (File Integrity Monitoring), vulnerability detection по CVE-базам, compliance-чеки (CIS benchmarks, PCI DSS), active response (блокировка IP через iptables/firewalld, запуск произвольного скрипта на хосте). Правила корреляции маппятся на MITRE ATT&CK - в дашборде видны сработавшие техники. Для SIEM и EDR интеграции Wazuh не требует сторонних коннекторов: он сам и то, и другое.
Требования к окружению и деплой
Кластер на 500-1000 хостов: минимум 3 ноды индексатора (8 ГБ RAM, 4 vCPU, SSD на каждую), отдельный менеджер (4-8 ГБ RAM), отдельный dashboard-сервер. Итого 5 VM, ориентировочная стоимость инфры $500-1000/мес в облаке. На инфре до 100 хостов допустим single-node (16 ГБ RAM, 8 vCPU). Агент работает на Windows, GNU/Linux, macOS, FreeBSD, Solaris. Потребление: 30-80 МБ RAM в зависимости от числа активных модулей. Установка через пакетный менеджер, регистрация на сервере черезossec-authd или API.Что видит пентестер
С позиции Red Team: Wazuh с дефолтным ruleset ловит Mimikatz (сигнатурно), массовый bruteforce и очевидные сканирования. На этом праздник заканчивается. Техники с использованием LOLBins проходят мимо без кастомных правил. FIM фиксирует изменения в критичных директориях, но если payload не трогает отслеживаемые пути - тишина. Evasion через living-off-the-land обходит дефолтный Wazuh стабильно. Я проверял -certutil -urlcache -split -f спокойно качает payload, и ни одного алерта.Ограничения Wazuh
Wazuh плохо работает как инструмент ad-hoc threat hunting. Модель реактивна: правила срабатывают на входящие события. Ретроспективный анализ - поиск по индексатору ключевыми словами, не поведенческими паттернами. При 1000+ агентах с полным набором модулей (FIM, syscollector, vulnerability-detector) поток событий достигает 3000-8000 EPS. Индексатор съедает 2-5 ТБ SSD при 90-дневной retention policy. TCO на хранение телеметрии - серьёзная статья бюджета, о которой забывают при планировании.Кастомные декодеры для нестандартных источников (специфичные GNU/Linux-дистрибутивы, OT-оборудование) пишутся в архаичном XML-синтаксисе. Документация для edge cases - боль. Готовьтесь к тому, что на нетривиальный декодер уйдёт день, а не час.
Velociraptor - DFIR инструмент для глубокого threat hunting
Если Wazuh - стационарная камера наблюдения, Velociraptor - следователь с фонариком. Это DFIR-платформа, спроектированная для forensics и инцидент-реагирования через VQL (Velociraptor Query Language). По данным packetlabs.net, Velociraptor - более серьёзное open source EDR решение для forensics, чем osquery, с полноценными возможностями реагирования.
Архитектура проще: один сервер (Go-бинарник, ~100 МБ RAM на старте), агенты на хостах. Нет отдельного индексатора - результаты хантов хранятся на файловой системе сервера. Деплой на инфру до 1000 хостов: 1 VM (4 ГБ RAM, 2 vCPU, SSD для результатов). Агент - самый лёгкий из четырёх: 10-20 МБ RAM. Развернуть можно за час, и это не маркетинг - реально за час.
VQL и forensics на практике
Сила Velociraptor - в VQL-артефактах. За один хант можно собрать процессы с сетевыми соединениями на всех хостах, извлечь MFT для forensics, запустить YARA-сканирование по памяти или проверить persistence-механизмы (автозагрузка, scheduled tasks, WMI subscriptions).
SQL:
SELECT Pid, Name, Status, Laddr, Raddr
FROM netstat()
WHERE Status = 'ESTABLISHED'
AND NOT Raddr.IP =~ '(10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.|192\.168\.)'
AND Name != 'svchost.exe'
Место в kill chain: Velociraptor включается после обнаружения инцидента. Его задача - forensics (что произошло), scoping (какие хосты скомпрометированы) и containment (сбор артефактов для принятия решения об изоляции). Это инструмент пост-инцидентной фазы.
Ограничения Velociraptor
Velociraptor - не замена непрерывному мониторингу. Модель "задай вопрос - получи ответ" не покрывает real-time detection. Client event monitoring существует, но при 5000+ агентах нагрузка на сервер растёт нелинейно - на практике сервер начинает захлёбываться. Нет встроенного алертинга с интеграцией в тикет-системы - для уведомлений в Slack или PagerDuty нужны серверные VQL-артефакты с webhook-вызовами. Multi-frontend деплой для масштабирования возможен, но документация фрагментарна, и я бы закладывал неделю на отладку.osquery для мониторинга безопасности: SQL по эндпоинтам
osquery (Meta/Facebook) - минималистичный агент, который показывает состояние хоста как набор SQL-таблиц. Запущенные процессы -SELECT [I] FROM processes. Установленный софт - SELECT [/I] FROM programs (Windows) или SELECT [I] FROM deb_packages. Слушающие порты - SELECT [/I] FROM listening_ports. Философия "endpoint as a database" - понятна любому, кто хоть раз писал SQL.Агент лёгкий: 20-40 МБ RAM, кроссплатформенный (Windows, GNU/Linux, macOS, FreeBSD). На macOS osquery для мониторинга безопасности сильнее конкурентов: таблицы
unified_log, keychain_items, chrome_extensions, system_extensions (таблица safari_extensions deprecated на современных macOS из-за App Sandbox) дают видимость, которую другие бесплатные инструменты EDR и XDR не обеспечивают. По оценке rustinel.io, "osquery is particularly strong for compliance posture and inventory queries""osquery особенно хорошо подходит для запросов, касающихся соответствия нормативным требованиям и учета запасов." - и это точное описание его ниши. Для инвентаризации и compliance osquery хорош. Для detection - нет.Ограничения osquery
osquery без бэкенда агрегации бесполезен в корпоративной среде. Fleet (open source, Go + React) - самый зрелый вариант: отдельная VM (4 ГБ RAM), MySQL/MariaDB, Redis. Итого для osquery-инфраструктуры: Fleet-сервер + БД + Redis + агенты. Не так уж и лёгкий стек получается.Scheduled queries выполняются с интервалом 30-300 секунд. Между интервалами osquery слеп. Если payload отработал и завершился за 10 секунд - query с 60-секундным интервалом его не увидит. Для пентестера это значит: если на цели только osquery без Sysmon, короткоживущие процессы невидимы. Recon и initial access через быстрые утилиты пройдёт незамеченным.
osquery не собирает ETW-телеметрию на Windows - нет доступа к kernel-level событиям. Для мониторинга безопасности Windows-серверов osquery недостаточен без Sysmon. Response-механизмов нет: нельзя изолировать хост, убить процесс, заблокировать IP. osquery - сугубо наблюдатель с задержкой. Смотрит, но ничего не делает.
LimaCharlie: обзор возможностей облачного EDR-конструктора
LimaCharlie - SaaS-платформа с API-first подходом к endpoint detection and response. Сенсор работает на Windows, GNU/Linux, macOS, ChromeOS. Бэкенд облачный, управляется через веб-консоль или REST API. Бесплатный тир - 2 сенсора (для тестирования, не для продакшена).Ключевое отличие: сенсор LimaCharlie собирает kernel-level телеметрию - ETW на Windows, eBPF на GNU/Linux. Это уровень видимости, сопоставимый с коммерческими EDR (CrowdStrike Falcon, SentinelOne), который Wazuh и osquery из коробки не дают. D&R rules (Detection and Response) в YAML-формате срабатывают в real-time: запуск процесса, сетевое соединение, изменение файла. Response-действия: изоляция хоста, kill process, сбор артефактов - автоматически или по триггеру.
С позиции пентестера LimaCharlie - самый неприятный из четырёх. Kernel-level телеметрия видит техники evasion (process hollowing, indirect syscalls), которые проходят мимо Wazuh с дефолтными правилами. Если D&R rules настроены грамотно, lateral movement через PsExec или WMI вызовет алерт до завершения первого хопа. Неприятный зверь.
Ограничения LimaCharlie
Vendor lock-in: телеметрия хранится в облаке LimaCharlie. Миграция данных и правил при смене платформы - отдельное приключение. Для субъектов КИИ (ФЗ-187, ст. 7-8) с требованием хранения данных на территории РФ облачный EDR с серверами за рубежом неприменим. Точка.Нет self-hosted варианта. Для airgapped и изолированных сетей LimaCharlie недоступен. При масштабировании до сотен хостов стоимость приближается к коммерческим EDR, и преимущество "бесплатности" испаряется.
Сравнение EDR систем безопасности: trade-off таблица
| Критерий | Wazuh | Velociraptor | osquery | LimaCharlie |
|---|---|---|---|---|
| Тип платформы | SIEM + EDR | DFIR / Threat hunting | Endpoint telemetry | Cloud EDR |
| Self-hosted | Да | Да | Да (+ Fleet) | Нет (SaaS) |
| RAM агента | 30-80 МБ | 10-20 МБ | 20-40 МБ | 15-30 МБ |
| Real-time detection | Да (rule-based) | Частично (event monitoring) | Нет (snapshots) | Да (D&R rules) |
| Threat hunting | Слабо (поиск по логам) | Сильно (VQL) | Средне (SQL) | Средне |
| Response actions | Блокировка IP, скрипт | VQL-артефакты, forensics | Нет | Изоляция, kill process |
| Kernel telemetry Win | Нет (только логи ОС) | Частично (ETW через VQL) | Нет | Да (ETW нативно) |
| macOS coverage | Базовый (логи, FIM) | VQL-артефакты | Сильный (unified_log) | Да (нативно) |
| Инфра на 1000 хостов | 5 VM (~$500-1000/мес) | 1 VM (~$100-200/мес) | Fleet + БД (~$200-400/мес) | Облако (коммерческий) |
| ATT&CK-маппинг из коробки | Да | Community-артефакты | Нет | Sigma-совместимые |
| Airgapped сети | Да | Да | Да | Нет |
| Anti-tampering агента | Да | Настраиваемый | Нет | Да |
| Обход Red Team (сложность) | Средняя | Зависит от глубины ханта | Низкая | Высокая |
Выбор EDR решения для бизнеса: decision tree
SOC средней компании (200-1000 хостов, Windows + GNU/Linux, 2-3 аналитика): Wazuh как основной стек (SIEM + EDR + vulnerability scanning) + Velociraptor для инцидент-реагирования и threat hunting. Два агента на хосте - приемлемая нагрузка. Бюджет: 6 VM.IR / DFIR (инцидент уже произошёл, нужна быстрая видимость): Velociraptor. Деплой за час, VQL-запросы дают forensic-артефакты с любого хоста. Как DFIR инструмент Velociraptor не имеет open source аналогов по глубине.
DevSecOps, macOS-парк, baseline и compliance: osquery + Fleet. SQL-модель интуитивна для разработчиков, macOS-покрытие сильнее остальных. Для серверного мониторинга - дополнить Wazuh.
Стартап, 20-50 хостов, нет своей инфры, нужно быстро: LimaCharlie. Ноль инфраструктурных затрат, kernel-level телеметрия из коробки, D&R rules за день.
Airgapped / изолированная сеть, данные не покидают периметр: Только Wazuh + Velociraptor. LimaCharlie отпадает (SaaS). osquery + Fleet допустим, но без response.
Пентестер строит detection-лабу для тестирования TTPs: Velociraptor + Wazuh. Velociraptor покажет, какие артефакты оставляет ваша цепочка атаки. Wazuh - проверка, сработают ли Sigma-правила после конвертации в Wazuh-формат.
Detection на практике: ловим Network Service Discovery (T1046)
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
uname -a, Security Software Discovery (T1518.001) через wmic.exe (LOLBAS маппит wmic.exe на T1518.001, а также T1105, T1218, T1564.004), Log Enumeration (T1654) через wevtutil или Get-EventLog. Для каждой Atomic Red Team содержит готовые тесты - T1518.001: Security Software Discovery через command_prompt на Windows, T1654: Enumerate Windows Security Log via WevtUtil.Отдельная история - защита самих агентов. В LOLBAS утилита
fltMC.exe (Filter Manager Control Program) маппится на T1562.001: через неё атакующий выгружает minifilter-драйвер EDR-агента. Контрмеры по D3FEND: System Daemon Monitoring (D3-SDM) для детекции остановки сервисов, Kernel-based Process Isolation (D3-KBPI) для защиты процесса агента. Wazuh и LimaCharlie поддерживают anti-tampering. Velociraptor работает как Windows-сервис с настраиваемой защитой от остановки. osquery без дополнительной обвязки останавливается через sc stop osqueryd - любой атакующий с privilege escalation до локального администратора отключит его за секунду. Буквально.По данным Mandiant M-Trends 2025, медианное время обнаружения злоумышленника в сети - 11 дней. Исторический минимум, но это 11 дней, в течение которых атакующий перемещается по инфраструктуре. Вопрос "Wazuh vs Velociraptor" или "какой бесплатный EDR выбрать" - ложная дилемма.
За три года работы с этими решениями я вижу одну стабильную закономерность: в реальной инфраструктуре нужна связка из двух инструментов с непересекающимися ролями. Wazuh для непрерывного мониторинга конечных точек + Velociraptor для hunting и IR - минимальный рабочий стек. osquery добавляется при наличии macOS-парка или потребности в compliance-инвентаризации. LimaCharlie - для тех, кто готов к облаку и платить за масштаб.
Самая частая ошибка, которую я наблюдаю в проектах - попытка превратить Wazuh одновременно в SIEM, EDR и threat hunting платформу. Wazuh - сильный SIEM с EDR-возможностями, но посредственный threat hunting инструмент. Velociraptor - блестящий threat hunter, но слабая платформа для постоянного мониторинга. Признание этого факта экономит месяцы бесплодных попыток натянуть один инструмент на все задачи. А без регулярного прогона Atomic Red Team тестов (T1046, T1082, T1562.001) по MITRE ATT&CK вы не узнаете, что ваш стек реально видит, а что уходит мимо - причём это касается любого стека, коммерческого или open source. Прогоните хотя бы три теста из Atomic Red Team по вашему detection-стеку. Если результат вас не расстроит - вы что-то делаете не так.
Последнее редактирование модератором: