Архитектура 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 (менеджер) получает события от агентов и выполняет их обработку:

  1. Декодирование - извлечение структурированных полей из сырых логов с помощью декодеров
  2. Сопоставление с правилами - проверка декодированных событий по набору правил обнаружения
  3. Обогащение - добавление контекста через CDB-списки, threat intelligence и MITRE ATT&CK
  4. Генерация алертов - формирование уведомлений при срабатывании правил
  5. Активное реагирование - выполнение автоматических действий (блокировка 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/TCPAES-256Агент - СерверПередача событий от агентов
1514/UDPAES-256Агент - СерверПередача событий (опционально)
1515/TCPTLSАгент - СерверРегистрация (enrollment) агентов
1516/TCPTLSСервер - СерверСинхронизация кластера серверов
514/UDP,TCPSyslogВнешние источники - СерверПрием syslog (отключен по умолчанию)
55000/TCPHTTPSДашборд - СерверREST API управления
9200/TCPHTTPSСервер/Дашборд - ИндексаторAPI индексатора (Filebeat, запросы)
9300-9400/TCPTLSИндексатор - ИндексаторВнутрикластерное взаимодействие
443/TCPHTTPSПользователь - ДашбордВеб-интерфейс

Сравнение с альтернативными SIEM-решениями

Архитектура Wazuh имеет общие принципы с другими SIEM-платформами, но отличается в реализации.

Wazuh и Splunk

АспектWazuhSplunk
Агент сбораWazuh AgentUniversal Forwarder / Heavy Forwarder
Обработка данныхWazuh Server (декодеры + правила)Indexer (search-time/index-time)
ХранениеWazuh Indexer (OpenSearch)Splunk Indexer (проприетарный)
ВизуализацияWazuh DashboardSearch Head
ЛицензированиеOpen source (GPLv2)Коммерческая лицензия (по объему данных)
КластерНативная кластеризация сервера и индексатораIndexer Cluster + Search Head Cluster

Splunk использует проприетарный формат хранения и тарифицируется по объему индексируемых данных. Wazuh использует OpenSearch и не имеет ограничений по объему данных на уровне лицензии.

Wazuh и ELK Stack (Elastic Security)

АспектWazuhELK Stack
Агент сбораWazuh AgentElastic Agent / Beats
Обработка данныхWazuh ServerLogstash / Elasticsearch Ingest Pipelines
ХранениеWazuh Indexer (OpenSearch)Elasticsearch
ВизуализацияWazuh DashboardKibana
Правила обнаруженияWazuh Rules (XML)Detection Rules (KQL/EQL)
ЛицензированиеOpen source (GPLv2)Elastic License 2.0 / SSPL

Wazuh изначально создавался как форк OSSEC и ориентирован на задачи безопасности. ELK Stack - универсальная платформа для работы с логами, в которой функции безопасности появились позднее через Elastic Security.

Wazuh и IBM QRadar

АспектWazuhQRadar
Сбор данныхWazuh Agent + SyslogEvent Collectors / Flow Collectors
ОбработкаWazuh ServerEvent Processors / Flow Processors
КорреляцияПравила с уровнями (0-15)Offense Engine
ВизуализацияWazuh DashboardQRadar Console
ЛицензированиеOpen source (GPLv2)Коммерческая лицензия (по EPS)
РазвертываниеOn-premise, Docker, KubernetesOn-premise, виртуальные appliance

QRadar использует концепцию Offenses для корреляции событий и тарифицируется по количеству событий в секунду (EPS). Wazuh использует систему правил с уровнями критичности от 0 до 15 и не имеет ограничений EPS.

Рекомендации по выбору модели развертывания

При планировании развертывания Wazuh следует учитывать следующие факторы:

  • Количество агентов - определяет требования к вычислительным ресурсам сервера
  • Объем событий - влияет на размер хранилища индексатора и пропускную способность сети
  • Требования к доступности - для продуктивных сред рекомендуется кластерная конфигурация
  • Срок хранения данных - определяет объем дискового пространства индексатора
  • Сетевая топология - влияет на размещение компонентов и настройку межсетевых экранов

Для первоначального ознакомления с платформой рекомендуется начать с развертывания в Docker , которое позволяет быстро запустить все компоненты на одном хосте. Подробное описание каждого компонента доступно в разделе Компоненты Wazuh .

Last updated on