Обзор развертывания Wazuh на сервере¶
Предварительные требования и базовые условия¶
Перед развертыванием приложения Wazuh должны быть выполнены следующие требования:
-
Операционная система: Ubuntu (совместимая с менеджером пакетов APT).
-
Привилегии: Для установки и конфигурации требуются права root или привилегии
sudo. -
Домен: Сервер должен быть настроен для использования зоны
hostkey.in. -
Порты:
-
Внутренняя коммуникация: Порт
8080. -
Внешний доступ по HTTPS: Порт
443. -
Проверка состояния Elasticsearch/Indexer: Порт
9200.
FQDN финальной панели¶
Доступ к панели управления Wazuh Dashboard осуществляется через следующий формат полностью限定ного доменного имени (FQDN):
-
Формат:
wazuh<Server ID>.hostkey.in:443 -
Пример:
wazuh123.hostkey.in
Приложение принимает соединения внутренне на порту 8080 и доступно извне через порт 443 посредством обратного прокси-сервера.
Структура файлов и каталогов¶
Приложение использует следующую структуру каталогов для данных, конфигурации и скриптов:
-
Основной каталог данных:
/opt/wazuh -
Содержит скрипт установки, файлы конфигурации и сгенерированные учетные данные.
-
Каталог конфигурации Nginx:
/root/nginx -
Содержит файл
docker composeдля сервиса прокси. -
Конфигурация пользователя Nginx:
/data/nginx/user_conf.d -
Содержит специфичные конфигурации блоков сервера для домена Wazuh.
-
SSL-сертификаты:
/etc/letsencrypt -
Управляются Docker-контейнером для сертификатов Let's Encrypt.
Процесс установки приложения¶
Приложение Wazuh устанавливается с использованием официального скрипта установки, предоставленного Wazuh. Процесс включает следующие шаги:
-
Подготовка каталога: Создается каталог
/opt/wazuhс правами доступа0755. -
Загрузка скрипта: Скрипт установки загружается с адреса
https://packages.wazuh.com/4.11/wazuh-install.shв/opt/wazuh/wazuh-install.sh. -
Генерация конфигурации:
-
Файл конфигурации по умолчанию размещается в
/opt/wazuh/config.yml. -
Выполняется команда
./wazuh-install.sh --generate-config-filesдля генерации необходимых архивов конфигурации.
-
-
Установка Wazuh Indexer:
-
Индексер устанавливается как одиночный узел с помощью команды:
./wazuh-install.sh --wazuh-indexer node-1. -
Кластер запускается с помощью:
./wazuh-install.sh --start-cluster.
-
-
Генерация учетных данных:
-
Пароль администратора извлекается из сгенерированного архива
wazuh-install-files.tar. -
Учетные данные сохраняются в
/opt/wazuh/passwordв форматеadmin:<password>.
-
-
Установка Wazuh Server:
- Компонент сервера устанавливается с помощью:
./wazuh-install.sh --wazuh-server wazuh-1.
- Компонент сервера устанавливается с помощью:
-
Установка Wazuh Dashboard:
- Панель управления устанавливается и настраивается для прослушивания порта
8080с помощью:./wazuh-install.sh --wazuh-dashboard dashboard -p 8080.
- Панель управления устанавливается и настраивается для прослушивания порта
-
Управление репозиториями:
- Репозиторий APT Wazuh отключается для предотвращения автоматических обновлений через системный менеджер пакетов путем закомментирования записи в
/etc/apt/sources.list.d/wazuh.list.
- Репозиторий APT Wazuh отключается для предотвращения автоматических обновлений через системный менеджер пакетов путем закомментирования записи в
Права доступа и безопасность¶
Меры безопасности реализуются через следующие конфигурации:
-
Межсетевой экран (Firewall): Внешний доступ ограничен портом
443(HTTPS) через обратный прокси-сервер Nginx. Внутренние сервисы общаются через порты8080и9200. -
Учетные данные пользователя:
-
Имя пользователя администратора по умолчанию —
admin. -
Пароль генерируется во время установки и безопасно хранится в
/opt/wazuh/password. -
Управление сертификатами: SSL-сертификаты управляются автоматически через Docker-контейнер
nginx-certbotс использованием электронной почтыhkadm@hostkey.com. -
Права доступа к файлам:
-
Основной каталог данных
/opt/wazuhимеет права0755. -
Файл учетных данных
/opt/wazuh/passwordимеет права0600(доступен только для чтения пользователем root). -
Файл конфигурации
/opt/wazuh/config.ymlимеет права0600.
Базы данных¶
Wazuh Indexer выступает в роли базы данных и бэкенда для хранения логов.
-
Метод подключения: Внутренняя коммуникация осуществляется через
https://127.0.0.1:9200. -
Место хранения: Данные хранятся внутри каталогов установки Wazuh, управляемых скриптом
wazuh-install.sh. -
Аутентификация: Для доступа требуется имя пользователя
adminи пароль, сгенерированный во время установки. -
Проверка состояния: Статус кластера проверяется по конечной точке
https://127.0.0.1:9200/_cluster/healthи должен возвращать статусgreen.
Docker-контейнеры и их развертывание¶
Для управления обратным прокси-сервером Nginx и обновлением SSL-сертификатов развертывается Docker-контейнер.
-
Образ:
jonasal/nginx-certbot:latest -
Метод развертывания: Docker Compose
-
Расположение файла Compose:
/root/nginx/compose.yml -
Детали конфигурации:
-
Политика перезапуска:
unless-stopped -
Режим сети:
host -
Переменные окружения:
CERTBOT_EMAIL:hkadm@hostkey.com
-
Тома (Volumes):
-
nginx_secrets(внешний) монтируется в/etc/letsencrypt. -
/data/nginx/user_conf.dмонтируется в/etc/nginx/user_conf.d.
-
Прокси-серверы¶
Nginx настроен как обратный прокси-сервер для обработки внешнего трафика и завершения SSL-соединений.
-
Конфигурация прокси:
-
Прокси слушает порт
443для доменаwazuh<Server ID>.hostkey.in. -
Трафик перенаправляется на внутреннюю панель Wazuh Dashboard по адресу
https://wazuh<Server ID>.hostkey.in:8080. -
SSL/TLS:
-
Управляется контейнером
nginx-certbot. -
Сертификаты хранятся в томе
nginx_secrets. -
Пользовательский домен: Прокси настроен специально для зоны
hostkey.inс префиксомwazuh.
Настройки прав доступа¶
В процессе развертывания强制执行ются следующие права доступа к файлам и каталогам:
| Путь | Владелец | Группа | Режим | Описание |
|---|---|---|---|---|
/opt/wazuh | root | root | 0755 | Основной каталог данных приложения |
/opt/wazuh/wazuh-install.sh | root | root | 0755 | Скрипт установки |
/opt/wazuh/config.yml | root | root | 0600 | Конфигурация приложения |
/opt/wazuh/password | root | root | 0600 | Файл учетных данных администратора |
/root/nginx | root | root | 0755 | Каталог Docker compose для Nginx |
/root/nginx/compose.yml | root | root | 0644 | Файл Docker compose |
Расположение файлов конфигурации и данных¶
Ключевые файлы конфигурации и данные находятся по следующим путям:
-
Данные приложения:
/opt/wazuh -
Скрипт установки:
/opt/wazuh/wazuh-install.sh -
Файл конфигурации:
/opt/wazuh/config.yml -
Учетные данные администратора:
/opt/wazuh/password -
Docker Compose:
/root/nginx/compose.yml -
Конфигурация сервера Nginx:
/data/nginx/user_conf.d/wazuh<Server ID>.hostkey.in.conf
Доступные порты для подключения¶
В развертывании Wazuh используются следующие порты:
-
443: Внешний доступ по HTTPS через прокси Nginx.
-
8080: Внутренний доступ к панели Wazuh Dashboard (не открыт напрямую для публичного интернета).
-
9200: Внутренний доступ к API Wazuh Indexer.
Запуск, остановка и обновление¶
Управление службами осуществляется через следующие механизмы:
-
Службы Wazuh:
-
Компоненты Wazuh (Indexer, Server, Dashboard) управляются скриптом установки и базовыми службами systemd, созданными Wazuh.
-
Стандартные команды управления службами (например,
systemctl) применимы к установленным службам Wazuh. -
Прокси Nginx:
-
Контейнер прокси управляется через Docker Compose.
-
Для перезапуска прокси выполните команду
docker compose up -dиз каталога/root/nginx. -
Обновления:
-
Автоматические обновления через репозиторий APT отключены.
-
Ручные обновления требуют повторного запуска скрипта установки или обновления Docker-образа для прокси.