Архитектура Wazuh - компоненты, потоки данных, порты
Wazuh использует распределенную архитектуру, состоящую из четырех основных компонентов: агент, сервер (менеджер), индексатор и дашборд. Каждый компонент выполняет определенную роль в процессе сбора, анализа, хранения и визуализации данных безопасности. Понимание архитектуры необходимо для корректного планирования развертывания и масштабирования платформы.
Обзор архитектуры
Архитектура Wazuh построена по принципу “агент - сервер - хранилище - визуализация”. Агенты, установленные на конечных точках, собирают события безопасности и передают их на центральный сервер для анализа. Результаты анализа передаются в индексатор для долгосрочного хранения и поиска, а дашборд предоставляет веб-интерфейс для работы с данными.
┌──────────────┐ 1514/TCP ┌──────────────┐ 9200/TCP ┌──────────────┐
│ │ (AES-256) │ │ (TLS) │ │
│ Wazuh Agent │ ────────────────> │ Wazuh Server │ ────────────────> │ Wazuh │
│ (endpoint) │ │ (manager) │ (Filebeat) │ Indexer │
│ │ │ │ │ (OpenSearch) │
└──────────────┘ └──────┬───────┘ └──────┬───────┘
│ │
55000/TCP 9200/TCP
(REST API) (API)
│ │
▼ ▼
┌──────────────────────────────────────────┐
│ Wazuh Dashboard │
│ (OpenSearch Dashboards, 443/TCP) │
└──────────────────────────────────────────┘Поток данных
Процесс обработки событий безопасности в Wazuh состоит из нескольких этапов.
Сбор данных (агент)
Агент Wazuh собирает данные из различных источников на контролируемой системе:
- Системные журналы (syslog, Windows Event Log, macOS ULS)
- Изменения файловой системы (FIM)
- Результаты сканирования конфигурации (SCA)
- Данные об установленном ПО и открытых портах (Syscollector)
- Результаты проверки на руткиты
- Вывод пользовательских команд (command monitoring)
Собранные события шифруются с использованием AES-256 и передаются на сервер через TCP-порт 1514.
Анализ (сервер)
Сервер Wazuh (менеджер) получает события от агентов и выполняет их обработку:
- Декодирование - извлечение структурированных полей из сырых логов с помощью декодеров
- Сопоставление с правилами - проверка декодированных событий по набору правил обнаружения
- Обогащение - добавление контекста через CDB-списки, threat intelligence и MITRE ATT&CK
- Генерация алертов - формирование уведомлений при срабатывании правил
- Активное реагирование - выполнение автоматических действий (блокировка IP, остановка процесса)
Сервер также управляет конфигурацией агентов, их регистрацией и обновлениями через RESTful API (порт 55000).
Индексация и хранение (индексатор)
Filebeat, установленный на сервере Wazuh, передает алерты и архивные события в индексатор по протоколу TLS (порт 9200). Индексатор на базе OpenSearch обеспечивает:
- Полнотекстовый поиск по событиям безопасности
- Агрегацию данных для аналитических запросов
- Управление жизненным циклом индексов (ISM)
- Кластеризацию для отказоустойчивости и горизонтального масштабирования
Визуализация (дашборд)
Wazuh Dashboard (на базе OpenSearch Dashboards) предоставляет веб-интерфейс для:
- Просмотра и фильтрации алертов в реальном времени
- Визуализации данных через графики, таблицы и карты
- Управления агентами, правилами и конфигурацией
- Формирования отчетов по соответствию стандартам
- Поиска угроз через встроенные инструменты threat hunting
Дашборд обращается к серверу Wazuh через REST API (порт 55000) для получения конфигурации и к индексатору (порт 9200) для получения данных.
Безагентный мониторинг
Для устройств, на которые невозможно установить агент (сетевые коммутаторы, маршрутизаторы, межсетевые экраны, устройства IDS/IPS), Wazuh поддерживает безагентный мониторинг:
- Syslog - прием логов по протоколу syslog (UDP/TCP, порт 514, отключен по умолчанию)
- SSH - периодический сбор данных через SSH-подключение
- API - интеграция через API устройств
Данные от безагентных источников поступают непосредственно на сервер Wazuh и обрабатываются тем же движком анализа.
Модели развертывания
Wazuh поддерживает три модели развертывания в зависимости от масштаба и требований к отказоустойчивости.
All-in-one (все на одном узле)
Все компоненты - сервер, индексатор и дашборд - устанавливаются на один хост. Подходит для лабораторных сред, тестирования и малых инфраструктур с количеством агентов до 50-100.
| Преимущество | Ограничение |
|---|---|
| Минимальные требования к ресурсам | Отсутствие отказоустойчивости |
| Простота установки и обслуживания | Ограниченная производительность |
| Быстрое развертывание для PoC | Не подходит для продуктивных сред |
Одноузловая (single-node)
Каждый компонент устанавливается на отдельный сервер: один сервер Wazuh, один индексатор, один дашборд. Рекомендуется для сред среднего масштаба (100-500 агентов).
| Преимущество | Ограничение |
|---|---|
| Разделение нагрузки между компонентами | Каждый компонент - точка отказа |
| Возможность независимого масштабирования | Требуется больше серверов |
| Подходит для продуктивных сред | Нет кластеризации |
Распределенная (multi-node)
Кластерная конфигурация с несколькими экземплярами серверов и индексаторов. Один дашборд подключается к кластерам сервера и индексатора. Предназначена для крупных инфраструктур (более 500 агентов) с требованиями к высокой доступности.
| Преимущество | Ограничение |
|---|---|
| Высокая доступность всех компонентов | Сложность настройки и обслуживания |
| Горизонтальное масштабирование | Повышенные требования к ресурсам |
| Балансировка нагрузки | Требуется опыт кластерного администрирования |
Кластер серверов Wazuh использует порт 1516/TCP для межузловой синхронизации. Кластер индексаторов использует порты 9300-9400/TCP для внутрикластерного взаимодействия.
Протоколы и порты
В таблице перечислены все сетевые порты, используемые компонентами Wazuh.
| Порт | Протокол | Компонент | Назначение |
|---|---|---|---|
| 1514/TCP | AES-256 | Агент - Сервер | Передача событий от агентов |
| 1514/UDP | AES-256 | Агент - Сервер | Передача событий (опционально) |
| 1515/TCP | TLS | Агент - Сервер | Регистрация (enrollment) агентов |
| 1516/TCP | TLS | Сервер - Сервер | Синхронизация кластера серверов |
| 514/UDP,TCP | Syslog | Внешние источники - Сервер | Прием syslog (отключен по умолчанию) |
| 55000/TCP | HTTPS | Дашборд - Сервер | REST API управления |
| 9200/TCP | HTTPS | Сервер/Дашборд - Индексатор | API индексатора (Filebeat, запросы) |
| 9300-9400/TCP | TLS | Индексатор - Индексатор | Внутрикластерное взаимодействие |
| 443/TCP | HTTPS | Пользователь - Дашборд | Веб-интерфейс |
Сравнение с альтернативными SIEM-решениями
Архитектура Wazuh имеет общие принципы с другими SIEM-платформами, но отличается в реализации.
Wazuh и Splunk
| Аспект | Wazuh | Splunk |
|---|---|---|
| Агент сбора | Wazuh Agent | Universal Forwarder / Heavy Forwarder |
| Обработка данных | Wazuh Server (декодеры + правила) | Indexer (search-time/index-time) |
| Хранение | Wazuh Indexer (OpenSearch) | Splunk Indexer (проприетарный) |
| Визуализация | Wazuh Dashboard | Search Head |
| Лицензирование | Open source (GPLv2) | Коммерческая лицензия (по объему данных) |
| Кластер | Нативная кластеризация сервера и индексатора | Indexer Cluster + Search Head Cluster |
Splunk использует проприетарный формат хранения и тарифицируется по объему индексируемых данных. Wazuh использует OpenSearch и не имеет ограничений по объему данных на уровне лицензии.
Wazuh и ELK Stack (Elastic Security)
| Аспект | Wazuh | ELK Stack |
|---|---|---|
| Агент сбора | Wazuh Agent | Elastic Agent / Beats |
| Обработка данных | Wazuh Server | Logstash / Elasticsearch Ingest Pipelines |
| Хранение | Wazuh Indexer (OpenSearch) | Elasticsearch |
| Визуализация | Wazuh Dashboard | Kibana |
| Правила обнаружения | Wazuh Rules (XML) | Detection Rules (KQL/EQL) |
| Лицензирование | Open source (GPLv2) | Elastic License 2.0 / SSPL |
Wazuh изначально создавался как форк OSSEC и ориентирован на задачи безопасности. ELK Stack - универсальная платформа для работы с логами, в которой функции безопасности появились позднее через Elastic Security.
Wazuh и IBM QRadar
| Аспект | Wazuh | QRadar |
|---|---|---|
| Сбор данных | Wazuh Agent + Syslog | Event Collectors / Flow Collectors |
| Обработка | Wazuh Server | Event Processors / Flow Processors |
| Корреляция | Правила с уровнями (0-15) | Offense Engine |
| Визуализация | Wazuh Dashboard | QRadar Console |
| Лицензирование | Open source (GPLv2) | Коммерческая лицензия (по EPS) |
| Развертывание | On-premise, Docker, Kubernetes | On-premise, виртуальные appliance |
QRadar использует концепцию Offenses для корреляции событий и тарифицируется по количеству событий в секунду (EPS). Wazuh использует систему правил с уровнями критичности от 0 до 15 и не имеет ограничений EPS.
Рекомендации по выбору модели развертывания
При планировании развертывания Wazuh следует учитывать следующие факторы:
- Количество агентов - определяет требования к вычислительным ресурсам сервера
- Объем событий - влияет на размер хранилища индексатора и пропускную способность сети
- Требования к доступности - для продуктивных сред рекомендуется кластерная конфигурация
- Срок хранения данных - определяет объем дискового пространства индексатора
- Сетевая топология - влияет на размещение компонентов и настройку межсетевых экранов
Для первоначального ознакомления с платформой рекомендуется начать с развертывания в Docker , которое позволяет быстро запустить все компоненты на одном хосте. Подробное описание каждого компонента доступно в разделе Компоненты Wazuh .