# Компоненты Wazuh - агент, сервер, индексатор, дашборд

> Детальное описание компонентов Wazuh 4.14 - агент с модулями анализа, сервер с движком правил, индексатор OpenSearch и дашборд для визуализации

Source: https://opennix.org/docs/wazuh/getting-started/wazuh-components/


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

## Wazuh Agent

Wazuh Agent - это легковесное приложение, устанавливаемое на контролируемые конечные точки: серверы, рабочие станции, виртуальные машины и облачные инстансы. Агент собирает данные безопасности и передает их на сервер Wazuh для анализа.

### Модули агента

Агент включает набор специализированных модулей, каждый из которых отвечает за определенный аспект мониторинга безопасности.

| Модуль | Назначение | Описание |
|---|---|---|
| Log Collector | Сбор журналов | Чтение системных и прикладных логов (syslog, Windows Event Log, macOS ULS, JSON, многострочные форматы) |
| File Integrity Monitoring | Мониторинг целостности | Отслеживание создания, изменения и удаления файлов. Поддержка интеграции с YARA для обнаружения вредоносного ПО |
| Syscollector | Инвентаризация | Сбор данных об ОС, оборудовании, установленных пакетах, открытых портах, сетевых интерфейсах и запущенных процессах |
| SCA | Оценка конфигурации | Проверка конфигурации системы по политикам CIS (CIS Benchmarks) и пользовательским правилам |
| Vulnerability Detector | Обнаружение уязвимостей | Сопоставление установленного ПО с базами CVE (NVD, Red Hat, Canonical, Microsoft) |
| Rootcheck | Обнаружение руткитов | Проверка на наличие руткитов, скрытых процессов, подозрительных файлов и аномалий ядра |
| Command Monitoring | Мониторинг команд | Периодическое выполнение команд и анализ вывода (например, проверка состояния служб) |
| Active Response | Активное реагирование | Выполнение действий на агенте по команде сервера: блокировка IP, остановка процесса, карантин файла |
| Docker Listener | Мониторинг Docker | Отслеживание событий Docker Engine: создание, запуск, остановка контейнеров, изменения конфигурации |

### Взаимодействие с сервером

Агент устанавливает постоянное соединение с сервером Wazuh:

- **Передача событий** - TCP-порт 1514, шифрование AES-256
- **Регистрация** - TCP-порт 1515, TLS-аутентификация
- **Управление** - централизованная конфигурация через shared configuration
- **Обновления** - удаленное обновление агентов через WPK (Wazuh Package)

Агент работает в режиме минимального потребления ресурсов и адаптирует интенсивность сканирования к текущей нагрузке системы.

### Поддерживаемые операционные системы

Wazuh Agent поддерживает широкий спектр операционных систем.

| Семейство ОС | Поддерживаемые версии |
|---|---|
| **Linux** | Amazon Linux 1, 2, 2023; CentOS 6, 7, 8; Red Hat Enterprise Linux 6-9; Ubuntu 14.04-24.04; Debian 8-12; SUSE Linux Enterprise 12, 15; Oracle Linux 6-9; Fedora 31+; Arch Linux; Raspberry Pi OS |
| **Windows** | Windows 7, 8, 8.1, 10, 11; Windows Server 2008 R2 - 2022 |
| **macOS** | macOS 10.15 (Catalina) - 14 (Sonoma) |
| **Solaris** | Solaris 10, 11 (SPARC и x86) |
| **AIX** | AIX 6.1, 7.1, 7.2, 7.3 |
| **HP-UX** | HP-UX 11.31 (11i v3) |

## Wazuh Server (Manager)

Wazuh Server - это центральный компонент платформы, выполняющий анализ данных безопасности, полученных от агентов. Сервер принимает события, декодирует их, сопоставляет с правилами обнаружения и генерирует алерты.

### Движок анализа

Процесс обработки событий на сервере Wazuh включает несколько уровней.

**Декодеры** извлекают структурированные данные из сырых логов. Wazuh содержит более 4000 встроенных декодеров для стандартных форматов (syslog, Apache, Nginx, SSH, Windows Event Log и другие). Администраторы могут создавать пользовательские декодеры в файле `/var/ossec/etc/decoders/local_decoder.xml`.

**Правила обнаружения** определяют условия для генерации алертов. Каждое правило имеет уникальный идентификатор и уровень критичности от 0 до 15:

| Уровень | Классификация | Описание |
|---|---|---|
| 0 | Игнорируется | Правило не генерирует алерт (используется для фильтрации) |
| 1-3 | Информационное | Штатные системные события |
| 4-6 | Низкий | Незначительные аномалии |
| 7-9 | Средний | События, требующие внимания |
| 10-11 | Высокий | Потенциальные атаки, ошибки безопасности |
| 12-15 | Критический | Подтвержденные атаки, серьезные инциденты |

Встроенный набор правил Wazuh содержит более 4500 правил, покрывающих стандартные сценарии обнаружения. Пользовательские правила добавляются в файл `/var/ossec/etc/rules/local_rules.xml`.

**CDB-списки** (Constant Database) обеспечивают быстрый поиск по справочным данным: списки вредоносных IP, хеши файлов, индикаторы компрометации.

### Кластеризация

Wazuh Server поддерживает кластерную конфигурацию для обеспечения отказоустойчивости и распределения нагрузки:

- **Master-node** - основной узел, хранящий эталонную конфигурацию
- **Worker-node** - рабочие узлы, обрабатывающие события от агентов
- **Синхронизация** - автоматическая репликация конфигурации, правил и декодеров между узлами через порт 1516/TCP

Агенты распределяются между worker-узлами. При отказе узла его агенты автоматически переподключаются к другому узлу кластера.

### RESTful API

Wazuh Server предоставляет RESTful API (порт 55000/TCP) для программного управления платформой:

- Управление агентами (список, статус, конфигурация, перезапуск)
- Запрос алертов и событий
- Управление правилами и декодерами
- Мониторинг состояния кластера
- Управление пользователями и ролями

API использует JWT-аутентификацию и поддерживает RBAC (Role-Based Access Control) для разграничения доступа. Подробнее об API - в разделе [API сервера](/docs/wazuh/infrastructure/wazuh-server-api/).

### Активное реагирование

Сервер Wazuh может выполнять автоматические действия при срабатывании правил определенного уровня:

- Блокировка IP-адреса на межсетевом экране (iptables, Windows Firewall, pf)
- Остановка процесса
- Отключение учетной записи
- Помещение файла в карантин
- Выполнение пользовательского скрипта

Действия могут выполняться на агенте, сервере или на всех агентах одновременно.

## Wazuh Indexer

Wazuh Indexer - это компонент хранения и поиска, построенный на базе OpenSearch (форк Elasticsearch). Индексатор принимает алерты и события от сервера Wazuh через Filebeat и обеспечивает их долгосрочное хранение, полнотекстовый поиск и агрегацию.

### Основные функции

| Функция | Описание |
|---|---|
| Индексация | Структурированное хранение JSON-документов с полнотекстовым поиском |
| Кластеризация | Горизонтальное масштабирование через шарды и реплики |
| ISM (Index State Management) | Автоматическое управление жизненным циклом индексов (ротация, удаление, архивирование) |
| Безопасность | TLS-шифрование, RBAC, аудит доступа через OpenSearch Security |
| Снимки (snapshots) | Резервное копирование индексов в S3-совместимое хранилище или файловую систему |

### Индексы Wazuh

Индексатор хранит данные в следующих индексах:

- `wazuh-alerts-*` - алерты, сгенерированные правилами обнаружения
- `wazuh-archives-*` - все события (включая те, что не вызвали алерт), если включен архивный режим
- `wazuh-monitoring-*` - данные мониторинга состояния агентов
- `wazuh-statistics-*` - статистика работы сервера Wazuh

### Кластеризация индексатора

Для продуктивных сред рекомендуется кластерная конфигурация индексатора:

- Минимум 3 узла для обеспечения кворума
- Первичные и реплицированные шарды для отказоустойчивости
- Выделенные master-узлы для стабильности кластера
- Порты 9300-9400/TCP для межузлового взаимодействия

Подробнее о кластеризации - в разделе [Кластер индексатора](/docs/wazuh/infrastructure/wazuh-indexer-cluster/).

## Wazuh Dashboard

Wazuh Dashboard - это веб-интерфейс платформы, построенный на базе OpenSearch Dashboards (форк Kibana). Дашборд предоставляет визуализацию данных безопасности, инструменты управления и отчетность.

### Модули дашборда

| Модуль | Назначение |
|---|---|
| Security Events | Просмотр и фильтрация алертов безопасности в реальном времени |
| Integrity Monitoring | Визуализация изменений файловой системы |
| Vulnerability Detection | Список обнаруженных уязвимостей с сортировкой по критичности |
| SCA | Результаты проверки конфигурации по стандартам CIS |
| MITRE ATT&CK | Маппинг алертов на матрицу MITRE ATT&CK |
| Regulatory Compliance | Дашборды для PCI DSS, GDPR, HIPAA, NIST 800-53 |
| Agent Management | Управление агентами, группами и конфигурацией |
| Dev Tools | Консоль для прямых запросов к индексатору |
| Reporting | Генерация PDF-отчетов по расписанию |

### Сетевые подключения дашборда

Дашборд устанавливает два типа соединений:

- **С индексатором** (порт 9200/TCP) - получение данных для визуализации и поиска
- **С сервером Wazuh** (порт 55000/TCP) - получение конфигурации, управление агентами, статус кластера

Пользователи подключаются к дашборду через HTTPS (порт 443/TCP).

## Сводная таблица портов и протоколов

| Компонент | Порт | Протокол | Направление | Назначение |
|---|---|---|---|---|
| Agent | 1514/TCP | AES-256 | Agent -> Server | Передача событий |
| Agent | 1515/TCP | TLS | Agent -> Server | Регистрация |
| Server | 1516/TCP | TLS | Server <-> Server | Кластер серверов |
| Server | 55000/TCP | HTTPS | Dashboard -> Server | REST API |
| Server | 514/UDP,TCP | Syslog | External -> Server | Syslog (отключен) |
| Indexer | 9200/TCP | HTTPS | Server/Dashboard -> Indexer | API индексатора |
| Indexer | 9300-9400/TCP | TLS | Indexer <-> Indexer | Кластер индексатора |
| Dashboard | 443/TCP | HTTPS | User -> Dashboard | Веб-интерфейс |

## Взаимодействие компонентов

Понимание взаимодействия компонентов помогает при диагностике проблем и планировании сетевой безопасности:

1. Агент регистрируется на сервере через порт 1515 (однократно)
2. Агент передает события на сервер через порт 1514 (постоянное соединение)
3. Сервер анализирует события и генерирует алерты
4. Filebeat на сервере передает алерты в индексатор через порт 9200
5. Дашборд запрашивает данные из индексатора (порт 9200) и конфигурацию с сервера (порт 55000)
6. Пользователь работает с дашбордом через браузер (порт 443)

Для получения информации о потоках данных и моделях развертывания обратитесь к разделу [Архитектура Wazuh](/docs/wazuh/getting-started/wazuh-architecture/). Практические сценарии применения описаны в разделе [Сценарии использования](/docs/wazuh/getting-started/wazuh-use-cases/).

