Обзор развертывания Wazuh на сервере¶
Предварительные требования и базовые условия¶
Перед развертыванием приложения Wazuh должны быть выполнены следующие требования:
-
Операционная система: Ubuntu с управлением пакетами через APT.
-
Привилегии: Для выполнения скриптов установки, управления службами и настройки межсетевого экрана требуются права root или привилегии
sudo. -
Настройка домена: Сервер должен быть настроен для разрешения зоны
hostkey.in. -
Порты: Должны быть доступны следующие порты:
-
Порт
443(HTTPS) для внешнего веб-доступа через реверс-прокси. -
Порт
8080(HTTP) для внутреннего взаимодействия между панелью управления Wazuh и реверс-прокси. -
Порт
9200(HTTPS) для внутренней коммуникации кластера Wazuh Indexer.
-
FQDN конечной панели управления¶
Панель управления Wazuh доступна через следующий формат полного доменного имени (Fully Qualified Domain Name, FQDN), где <server_id> обозначает уникальный идентификатор конкретного экземпляра сервера:
wazuh<server_id>.hostkey.in:443
Структура файлов и каталогов¶
Компоненты приложения, файлы конфигурации и данные организованы в следующей структуре каталогов на хост-сервере:
-
/opt/wazuh: Основной каталог для файлов установки, скриптов и данных конфигурации Wazuh. -
/opt/wazuh/wazuh-install.sh: Официальный скрипт установки Wazuh (версия 4.11). -
/opt/wazuh/config.yml: Файл конфигурации, определяющий имена узлов и IP-адреса для индексера, сервера и панели управления. -
/opt/wazuh/password: Файл, содержащий учетные данные администратора для индексера Wazuh. -
/root/nginx: Каталог, содержащий конфигурацию реверс-прокси Nginx. -
/root/nginx/compose.yml: Файл Docker Compose, определяющий сервисы Nginx и Certbot. -
/data/nginx/user_conf.d: Каталог, содержащий конкретные файлы конфигурации сайтов Nginx (например,wazuh<server_id>.hostkey.in.conf). -
/data/nginx/nginx-certbot.env: Файл окружения для Nginx Certbot. -
/data/nginx/: Точка монтирования для внешних секретов и сертификатов Let's Encrypt.
Процесс установки приложения¶
Приложение Wazuh устанавливается с использованием официального скрипта установщика Wazuh версии 4.11. Процесс включает следующие шаги:
-
Подготовка каталога: Создается каталог
/opt/wazuhдля хранения артефактов установки. -
Получение скрипта: Скрипт установки загружается с адреса
https://packages.wazuh.com/4.11/wazuh-install.shв/opt/wazuh. -
Генерация конфигурации: Файл
config.ymlразмещается в/opt/wazuh, определяя топологию дляnode-1(индексер),wazuh-1(сервер) иdashboard. Выполняется команда./wazuh-install.sh --generate-config-filesдля подготовки файлов установки. -
Установка Wazuh Indexer: Индексер устанавливается с помощью команды:
-
Инициализация кластера: Кластер индексера запускается с помощью:
-
Извлечение учетных данных: Пароль администратора извлекается из сгенерированного архива tar и сохраняется в
/opt/wazuh/password. -
Установка Wazuh Server: Компонент сервера Wazuh устанавливается с помощью:
-
Установка Wazuh Dashboard: Панель управления устанавливается и настраивается на прослушивание порта
8080с помощью: -
Очистка репозитория: Репозиторий APT Wazuh отключается путем закомментиствования записи в
/etc/apt/sources.list.d/wazuh.list, чтобы предотвратить автоматические обновления через менеджер пакетов.
Права доступа и безопасность¶
Меры безопасности, внедренные в процессе развертывания, включают:
-
Хранение паролей: Учетные данные администратора хранятся в
/opt/wazuh/passwordс ограниченными правами доступа к файлу (0600). -
Проверка здоровья кластера: Скрипт установки проверяет статус кластера Wazuh Indexer через HTTPS-запрос к
127.0.0.1:9200. Установка завершается ошибкой, если статус не являетсяgreen(зеленым). -
Принудительное использование HTTPS: Внешний трафик защищается с помощью Nginx с сертификатами Let's Encrypt (Certbot), обеспечивая шифрование всего веб-трафика через порт
443. -
Внутренняя коммуникация: Внутреннее взаимодействие между панелью управления и прокси использует незашифрованный протокол
httpна порту8080, как определено в конфигурации Nginx.
Базы данных¶
Wazuh использует встроенный движок индексации (Wazuh Indexer) для хранения и извлечения данных.
-
Расположение хранилища: Данные хранятся локально на узле в стандартных каталогах Wazuh под
/opt/wazuh. -
Метод подключения: Сервер Wazuh и панель управления подключаются к Индексеру через
127.0.0.1:9200. -
Аутентификация: Для доступа требуется имя пользователя
adminи пароль, сгенерированный во время установки, который хранится в/opt/wazuh/password.
Контейнеры Docker и их развертывание¶
Реверс-прокси и решение для управления SSL развернуты с использованием Docker.
-
Метод развертывания: Для оркестрации сервисов используется Docker Compose.
-
Файл конфигурации: Развертывание определено в файле
/root/nginx/compose.yml. -
Образ сервиса:
jonasal/nginx-certbot:latest. -
Режим сети: Контейнер работает в режиме сети
host. -
Томы (Volumes):
-
nginx_secrets: Внешний том, смонтированный в/etc/letsencryptдля SSL-сертификатов. -
/data/nginx/user_conf.d: Смонтирован в/etc/nginx/user_conf.dдля пользовательских конфигураций Nginx.
-
-
Окружение: Сервис использует файл окружения, расположенный в
/data/nginx/nginx-certbot.env, и устанавливает emailCERTBOT_EMAIL=hkadm@hostkey.com.
Серверы прокси¶
Конфигурируется реверс-прокси Nginx для обработки входящего HTTPS-трафика и его маршрутизации к панели управления Wazuh.
-
Программное обеспечение: Nginx с Certbot (управляется через Docker).
-
SSL/TLS: Автоматически управляется Certbot с использованием Let's Encrypt.
-
Конфигурация: Для домена создается специальный файл конфигурации
wazuh<server_id>.hostkey.in.conf, расположенный в/data/nginx/user_conf.d. -
Правило прокси: Конфигурация включает блок
location /, который пересылает запросы на внутреннюю панель управления Wazuh: -
Запуск: Прокси запускается с помощью команды:
выполняемой в каталоге/root/nginx.
Настройки прав доступа¶
В процессе развертывания к следующим файлам и каталогам применяются следующие права доступа:
-
/opt/wazuh: Создан с правами0755(Владелец: root, Группа: root). -
/opt/wazuh/wazuh-install.sh: Установлены права0755(Исполняемый). -
/opt/wazuh/config.yml: Установлены права0600(Доступен для чтения/записи только владельцем). -
/opt/wazuh/password: Установлены права0600(Доступен для чтения/записи только владельцем). -
/root/nginx: Создан с правами0755. -
/root/nginx/compose.yml: Установлены права0644.
Расположение файлов конфигурации и данных¶
Критически важные файлы конфигурации и данных расположены по следующим путям:
-
Топология Wazuh:
/opt/wazuh/config.yml -
Скрипт установки:
/opt/wazuh/wazuh-install.sh -
Учетные данные администратора:
/opt/wazuh/password -
Nginx Compose:
/root/nginx/compose.yml -
Конфигурация сайта Nginx:
/data/nginx/user_conf.d/wazuh<server_id>.hostkey.in.conf -
Окружение Nginx:
/data/nginx/nginx-certbot.env -
Источник APT Wazuh:
/etc/apt/sources.list.d/wazuh.list(Отключен)
Доступные порты для подключения¶
Следующие порты настроены для сетевой коммуникации:
| Порт | Протокол | Назначение | Доступ |
|---|---|---|---|
| 443 | TCP | HTTPS (Реверс-прокси) | Внешний |
| 8080 | TCP | HTTP (Wazuh Dashboard) | Внутренний (только для прокси) |
| 9200 | TCP | HTTPS (Wazuh Indexer) | Внутренний (Локальный хост) |
Запуск, остановка и обновление¶
Команды управления службами специфичны для скрипта установки Wazuh и контейнера Docker прокси.
-
Запуск прокси Nginx:
-
Запуск кластера Wazuh:
-
Остановка/Перезапуск служб: Службами Wazuh управляет системный менеджер служб (systemd) под именами
wazuh-indexer,wazuh-managerиwazuh-dashboard, которые можно контролировать с помощью стандартных командsystemctl(например,systemctl restart wazuh-manager). -
Обновления: Автоматические обновления через репозиторий APT отключены. Ручное обновление требует повторного запуска скрипта установки или загрузки новых двоичных файлов.