Перейти к содержанию

Обзор развертывания 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. Процесс включает следующие шаги:

  1. Подготовка каталога: Создается каталог /opt/wazuh с правами доступа 0755.

  2. Загрузка скрипта: Скрипт установки загружается с адреса https://packages.wazuh.com/4.11/wazuh-install.sh в /opt/wazuh/wazuh-install.sh.

  3. Генерация конфигурации:

    • Файл конфигурации по умолчанию размещается в /opt/wazuh/config.yml.

    • Выполняется команда ./wazuh-install.sh --generate-config-files для генерации необходимых архивов конфигурации.

  4. Установка Wazuh Indexer:

    • Индексер устанавливается как одиночный узел с помощью команды: ./wazuh-install.sh --wazuh-indexer node-1.

    • Кластер запускается с помощью: ./wazuh-install.sh --start-cluster.

  5. Генерация учетных данных:

    • Пароль администратора извлекается из сгенерированного архива wazuh-install-files.tar.

    • Учетные данные сохраняются в /opt/wazuh/password в формате admin:<password>.

  6. Установка Wazuh Server:

    • Компонент сервера устанавливается с помощью: ./wazuh-install.sh --wazuh-server wazuh-1.
  7. Установка Wazuh Dashboard:

    • Панель управления устанавливается и настраивается для прослушивания порта 8080 с помощью: ./wazuh-install.sh --wazuh-dashboard dashboard -p 8080.
  8. Управление репозиториями:

    • Репозиторий APT Wazuh отключается для предотвращения автоматических обновлений через системный менеджер пакетов путем закомментирования записи в /etc/apt/sources.list.d/wazuh.list.

Права доступа и безопасность

Меры безопасности реализуются через следующие конфигурации:

  • Межсетевой экран (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-образа для прокси.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×