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

Обзор развертывания 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 внутри контейнера.

Запуск контейнеров выполняется командой:

docker compose up -d
Команда должна выполняться из директории /root/nginx/.

Прокси серверы

В системе развернут прокси-сервер Nginx, работающий в контейнере Docker. Он используется для обработки входящего трафика и обеспечения SSL-шифрования через Certbot.

Конфигурация проксирования для конкретного приложения настраивается в файле /data/nginx/user_conf.d/<prefix><server_id>.hostkey.in.conf.

В блоке location / данного файла добавляется директива для пересылки запросов на внутренний сервис:

proxy_pass https://<prefix><server_id>.hostkey.in:8080;
Эта настройка перенаправляет трафик на порт 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, размещенный в директории данных.

Основные команды управления: - Запуск кластера индексера:

./wazuh-install.sh --start-cluster
- Установка и запуск компонентов выполняется автоматически в процессе развертывания.

Управление контейнером прокси-сервера Nginx осуществляется через Docker Compose из директории /root/nginx/: - Запуск:

docker compose up -d
- Остановка:
docker compose down
- Перезапуск:
docker compose restart

Проверка состояния кластера Wazuh Indexer выполняется через HTTP-запрос к API:

curl -k -u admin:<пароль> https://127.0.0.1:9200/_cluster/health

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