Сергей Попов

Администратор
30.12.2015
6 228
6 970
Специализация
  1. OSINT
  2. Веб-безопасность
Статус верификации
  1. ✓ Verified
Плотный лист кремовой бумаги с рукописной сравнительной таблицей четырёх EDR-решений, отметки чернилами перьевой ручки, латунные грузики и карандаш при мягком дневном свете.


В прошлом году на проекте по внедрению 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 с бесплатным тиром.
За рамками сравнения остались: OpenEDR (нестабильное развитие проекта Comodo/Xcitium - трогать страшно), Sysmon (телеметрийный драйвер Windows без собственного бэкенда, не EDR), Falco (container runtime detection, не endpoint-level), Rustinel (ранняя стадия - авторы на rustinel.io сами пишут "не используйте как замену зрелым EDR"). Каждый полезен в своём месте, но с четвёркой напрямую не конкурирует.

Зачем вообще сравнивать: по данным 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-платформы​

1786358833233.webp

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​

1786358971563.webp

Если 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'
Этот VQL-запрос возвращает все установленные соединения с внешними IP, исключая svchost - быстрый способ найти C2-callback на скомпрометированном хосте. Для пентестера важно: если на целевой инфре развёрнут Velociraptor, ваш beacon обнаружат не в real-time, а при первом целевом ханте. OPSEC-вывод - Velociraptor опасен не постоянным мониторингом, а глубиной ретроспективного анализа. Он видит то, что уже произошло, но видит очень хорошо.

Место в 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 таблица​

КритерийWazuhVelociraptorosqueryLimaCharlie
Тип платформыSIEM + EDRDFIR / Threat huntingEndpoint telemetryCloud 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-стеку. Если результат вас не расстроит - вы что-то делаете не так.
 
Последнее редактирование модератором:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab