Обзор развертывания Wazuh на сервере¶
Предпосылки и предварительные требования¶
Для корректной работы системы необходимо наличие сервера с операционной системой Ubuntu. Требуется наличие прав суперпользователя (root) для выполнения операций установки и настройки.
Система использует следующие сетевые порты: - Порт 8080 для веб-интерфейса Wazuh Dashboard. - Порт 9200 для доступа к кластеру Wazuh Indexer. - Порты 80 и 443 для работы прокси-сервера Nginx и получения SSL-сертификатов.
Структура файлов и каталогов¶
Конфигурационные файлы и данные приложения размещаются в следующих директориях:
/root/nginx/— каталог для конфигурации прокси-сервера Nginx и скриптаcompose.yml./data/nginx/user_conf.d/— директория для пользовательских конфигурационных файлов Nginx./data/nginx/nginx-certbot.env— файл переменных окружения для сервиса Nginx./data/nginx/— общая директория для хранения данных Nginx./root/nginx/compose.yml— файл конфигурации Docker Compose для запуска прокси./data/nginx/user_conf.d/<prefix><server_id>.hostkey.in.conf— файл конфигурации конкретного хоста с настройками проксирования./data/nginx/— каталог для хранения секретов Let's Encrypt (подключается как томnginx_secrets)./var/lib/wazuh/(или аналогичная директория, определяемая переменнойwazuh_data_dir) — каталог для установки компонентов Wazuh, скриптов и конфигурационных файлов./etc/apt/sources.list.d/wazuh.list— файл репозитория обновлений Wazuh.
Процесс установки приложения¶
Установка системы Wazuh версии 4.11 выполняется с использованием официального скрипта установки, загружаемого с сервера разработчика.
Процесс включает следующие этапы: 1. Обновление пакетов системы через менеджер apt. 2. Создание директории для данных Wazuh. 3. Загрузка скрипта wazuh-install.sh по адресу https://packages.wazuh.com/4.11/wazuh-install.sh. 4. Развертывание конфигурационного файла config.yml в целевую директорию. 5. Генерация файлов конфигурации с помощью команды ./wazuh-install.sh --generate-config-files. 6. Установка компонента wazuh-indexer с помощью команды ./wazuh-install.sh --wazuh-indexer node-1. 7. Запуск кластера индексера командой ./wazuh-install.sh --start-cluster. 8. Установка компонента wazuh-server командой ./wazuh-install.sh --wazuh-server wazuh-1. 9. Установка компонента wazuh-dashboard с указанием порта 8080 командой ./wazuh-install.sh --wazuh-dashboard dashboard -p 8080. 10. Отключение репозитория автоматических обновлений Wazuh в файле /etc/apt/sources.list.d/wazuh.list.
Контейнеры Docker и их запуск¶
Для обеспечения работы прокси-сервера и получения SSL-сертификатов используется контейнеризация через Docker Compose.
Используемый образ: jonasal/nginx-certbot:latest.
Файл конфигурации compose.yml размещается в директории /root/nginx/ и содержит следующие настройки: - Сервис nginx запускается в режиме сети host. - Политика перезапуска установлена в unless-stopped. - Переменная окружения CERTBOT_EMAIL установлена в значение hkadm@hostkey.com. - Файл переменных окружения: /data/nginx/nginx-certbot.env. - Подключен внешний том nginx_secrets в директорию /etc/letsencrypt внутри контейнера. - Подключен том с пользовательскими конфигурациями: /data/nginx/user_conf.d в /etc/nginx/user_conf.d внутри контейнера.
Запуск контейнеров выполняется командой:
Команда должна выполняться из директории/root/nginx/. Прокси серверы¶
В системе развернут прокси-сервер Nginx, работающий в контейнере Docker. Он используется для обработки входящего трафика и обеспечения SSL-шифрования через Certbot.
Конфигурация проксирования для конкретного приложения настраивается в файле /data/nginx/user_conf.d/<prefix><server_id>.hostkey.in.conf.
В блоке location / данного файла добавляется директива для пересылки запросов на внутренний сервис:
8080, где работает Wazuh Dashboard. Базы данных¶
Система использует кластер Wazuh Indexer в качестве хранилища данных и базы данных для аналитики.
Компонент wazuh-indexer устанавливается как отдельный узел (node-1). После установки и запуска кластера система проверяет его состояние через API по адресу https://127.0.0.1:9200/_cluster/health. Ожидаемый статус кластера — green.
Учетные данные для доступа к кластеру генерируются автоматически в процессе установки. Логин администратора — admin. Пароль извлекается из архива wazuh-install-files.tar и сохраняется в файл /data/wazuh/password (или аналогичный путь в директории данных) в формате admin:<пароль>.
Права доступа и безопасность¶
Права на файлы и директории устанавливаются следующим образом: - Директория /root/nginx имеет права 0755, владелец root, группа root. - Файл /root/nginx/compose.yml имеет права 0644, владелец root, группа root. - Файл конфигурации Wazuh config.yml имеет права 0600, владелец root, группа root. - Скрипт установки wazuh-install.sh имеет права 0755. - Файл с учетными данными password имеет права 0600.
Репозиторий обновлений Wazuh отключается путем добавления символа # в начало строки с источником в файле /etc/apt/sources.list.d/wazuh.list, что предотвращает автоматическое обновление компонентов системы через apt.
Запуск, остановка и обновление¶
Управление сервисами Wazuh осуществляется через скрипт wazuh-install.sh, размещенный в директории данных.
Основные команды управления: - Запуск кластера индексера:
- Установка и запуск компонентов выполняется автоматически в процессе развертывания.Управление контейнером прокси-сервера Nginx осуществляется через Docker Compose из директории /root/nginx/: - Запуск:
Проверка состояния кластера Wazuh Indexer выполняется через HTTP-запрос к API: