Установка Wazuh Server 4.14 - пошаговое руководство

Wazuh Server - это центральный компонент платформы, который принимает данные от агентов, выполняет анализ событий, применяет правила обнаружения и генерирует оповещения. Сервер включает два основных компонента: Wazuh Manager (обработка событий) и Filebeat (передача данных в индексатор). Перед установкой сервера необходимо завершить установку Wazuh Indexer .

Предварительные требования

Аппаратные требования

ПараметрМинимумРекомендация
CPU2 ядра8 ядер
RAM2 ГБ8 ГБ
Диск20 ГБ50+ ГБ

Сетевые требования

ПортНазначение
1514/TCPПрием данных от агентов
1515/TCPРегистрация агентов
1516/TCPКластерная коммуникация серверов
55000/TCPREST API

Зависимости

  • Установленный и работающий Wazuh Indexer
  • Файл wazuh-certificates.tar с сертификатами, созданными при установке индексатора
  • Доступ к packages.wazuh.com

Добавление репозитория

Ubuntu / Debian

apt-get install gnupg apt-transport-https
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring \
  --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" \
  | tee -a /etc/apt/sources.list.d/wazuh.list
apt-get update

CentOS / RHEL 8 и ранее (YUM)

rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
echo -e '[wazuh]\ngpgcheck=1\ngpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH\nenabled=1\nname=EL-$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/4.x/yum/\nprotect=1' \
  | tee /etc/yum.repos.d/wazuh.repo

RHEL 9+ / CentOS Stream 10 (DNF)

rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
echo -e '[wazuh]\ngpgcheck=1\ngpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH\nenabled=1\nname=EL-$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/4.x/yum/\npriority=1' \
  | tee /etc/yum.repos.d/wazuh.repo

Установка Wazuh Manager

Ubuntu / Debian

apt-get -y install wazuh-manager

CentOS / RHEL

yum -y install wazuh-manager

После установки менеджер запускается автоматически. Проверьте статус:

systemctl status wazuh-manager

Установка и настройка Filebeat

Filebeat передает оповещения и архивные события из Wazuh Manager в Wazuh Indexer.

Установка Filebeat

apt-get -y install filebeat    # Ubuntu / Debian
yum -y install filebeat        # CentOS / RHEL

Загрузка конфигурации

curl -so /etc/filebeat/filebeat.yml \
  https://packages.wazuh.com/4.14/tpl/wazuh/filebeat/filebeat.yml

Настройка подключения к индексатору

Отредактируйте /etc/filebeat/filebeat.yml, указав адрес индексатора:

output.elasticsearch:
  hosts: ["<IP_ИНДЕКСАТОРА>:9200"]
  protocol: https
  username: ${username}
  password: ${password}

Для кластера из нескольких индексаторов укажите все узлы:

output.elasticsearch:
  hosts:
    - "<IP_ИНДЕКСАТОРА_1>:9200"
    - "<IP_ИНДЕКСАТОРА_2>:9200"
    - "<IP_ИНДЕКСАТОРА_3>:9200"
  protocol: https
  username: ${username}
  password: ${password}

Создание хранилища учетных данных

filebeat keystore create
echo admin | filebeat keystore add username --stdin --force
echo admin | filebeat keystore add password --stdin --force

Замените admin на актуальные учетные данные для доступа к индексатору.

Загрузка шаблона и модуля Wazuh

curl -so /etc/filebeat/wazuh-template.json \
  https://raw.githubusercontent.com/wazuh/wazuh/v4.14.4/extensions/elasticsearch/7.x/wazuh-template.json
chmod go+r /etc/filebeat/wazuh-template.json

curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.5.tar.gz \
  | tar -xvz -C /usr/share/filebeat/module

Настройка подключения индексатора в ossec.conf

Начиная с Wazuh 4.14, менеджер может напрямую взаимодействовать с индексатором. Настройте учетные данные:

echo '<INDEXER_USERNAME>' | /var/ossec/bin/wazuh-keystore -f indexer -k username
echo '<INDEXER_PASSWORD>' | /var/ossec/bin/wazuh-keystore -f indexer -k password

Отредактируйте /var/ossec/etc/ossec.conf, добавив секцию <indexer>:

<indexer>
  <enabled>yes</enabled>
  <hosts>
    <host>https://<IP_ИНДЕКСАТОРА>:9200</host>
  </hosts>
  <ssl>
    <certificate_authorities>
      <ca>/etc/filebeat/certs/root-ca.pem</ca>
    </certificate_authorities>
    <certificate>/etc/filebeat/certs/filebeat.pem</certificate>
    <key>/etc/filebeat/certs/filebeat-key.pem</key>
  </ssl>
</indexer>

Ключевые секции ossec.conf

Файл /var/ossec/etc/ossec.conf содержит основную конфигурацию менеджера. Ключевые секции:

СекцияОписание
<global>Общие настройки: email-уведомления, уровень журналирования
<alerts>Минимальный уровень оповещений для записи в лог
<remote>Настройки приема соединений от агентов
<rootcheck>Проверка руткитов
<syscheck>Мониторинг целостности файлов (FIM)
<vulnerability-detector>Сканирование уязвимостей
<indexer>Подключение к Wazuh Indexer
<cluster>Кластерная конфигурация

Развертывание сертификатов для Filebeat

NODE_NAME=wazuh-1

mkdir /etc/filebeat/certs
tar -xf ./wazuh-certificates.tar -C /etc/filebeat/certs/ \
  ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem

mv -n /etc/filebeat/certs/$NODE_NAME.pem /etc/filebeat/certs/filebeat.pem
mv -n /etc/filebeat/certs/$NODE_NAME-key.pem /etc/filebeat/certs/filebeat-key.pem

chmod 500 /etc/filebeat/certs
chmod 400 /etc/filebeat/certs/*
chown -R root:root /etc/filebeat/certs

Замените wazuh-1 на имя узла сервера, указанное в config.yml при генерации сертификатов.

Запуск служб

Wazuh Manager

systemctl daemon-reload
systemctl enable wazuh-manager
systemctl start wazuh-manager

Filebeat

systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat

Кластерная конфигурация

Wazuh Server поддерживает кластеризацию по модели master/worker для обеспечения отказоустойчивости и масштабирования.

Настройка master-узла

Отредактируйте /var/ossec/etc/ossec.conf на master-узле:

<cluster>
  <name>wazuh</name>
  <node_name>master-node</node_name>
  <node_type>master</node_type>
  <key>c98b62a9b6169ac5f67dae55ae4a9088</key>
  <port>1516</port>
  <bind_addr>0.0.0.0</bind_addr>
  <nodes>
    <node><IP_MASTER_УЗЛА></node>
  </nodes>
  <hidden>no</hidden>
  <disabled>no</disabled>
</cluster>

Настройка worker-узлов

На каждом worker-узле установите Wazuh Manager и Filebeat, затем отредактируйте /var/ossec/etc/ossec.conf:

<cluster>
  <name>wazuh</name>
  <node_name>worker-01</node_name>
  <node_type>worker</node_type>
  <key>c98b62a9b6169ac5f67dae55ae4a9088</key>
  <port>1516</port>
  <bind_addr>0.0.0.0</bind_addr>
  <nodes>
    <node><IP_MASTER_УЗЛА></node>
  </nodes>
  <hidden>no</hidden>
  <disabled>no</disabled>
</cluster>

Ключевые параметры кластера:

ПараметрОписание
nameИмя кластера, одинаковое на всех узлах
node_nameУникальное имя каждого узла
node_typemaster или worker
keyОбщий ключ аутентификации (32 символа hex), одинаковый на всех узлах
nodesIP-адрес master-узла

Сгенерируйте ключ кластера:

openssl rand -hex 16

После настройки перезапустите менеджер на всех узлах:

systemctl restart wazuh-manager

Проверка установки

Проверка статуса менеджера

systemctl status wazuh-manager

Проверка Filebeat

filebeat test output

Ожидаемый результат:

elasticsearch: https://<IP_ИНДЕКСАТОРА>:9200...
  parse url... OK
  connection...
    parse host... OK
    dns lookup... OK
    addresses: <IP>
    dial up... OK
    TLS...
      security: server's certificate chain verification is enabled
      ...
    talk to server... OK
  ...

Проверка кластера серверов

/var/ossec/bin/cluster_control -l

Команда выводит список всех узлов кластера с их типом, версией и статусом.

Проверка через REST API

TOKEN=$(curl -sk -u wazuh-wui:<WUI_PASSWORD> \
  -X POST "https://localhost:55000/security/user/authenticate?raw=true")

curl -sk -H "Authorization: Bearer $TOKEN" \
  "https://localhost:55000/manager/info" | python3 -m json.tool

Устранение неполадок

Менеджер не запускается

journalctl -u wazuh-manager -xe
cat /var/ossec/logs/ossec.log | tail -50

Частые причины:

  • Ошибки в ossec.conf - проверьте XML-синтаксис: /var/ossec/bin/wazuh-analysisd -t
  • Порт 1514 или 1515 занят другим процессом
  • Недостаточно прав для доступа к файлам конфигурации

Filebeat не подключается к индексатору

  • Проверьте доступность индексатора: curl -k -u admin https://<IP_ИНДЕКСАТОРА>:9200
  • Убедитесь в корректности учетных данных в keystore
  • Проверьте сертификаты: правильные файлы, права доступа 400, владелец root

Worker не подключается к master

  • Убедитесь, что ключ кластера (<key>) одинаков на всех узлах
  • Проверьте сетевую доступность порта 1516 между узлами
  • Убедитесь, что <nodes> содержит IP master-узла, а не worker-а

Агенты не регистрируются

  • Проверьте доступность порта 1515 (регистрация) на сервере
  • Убедитесь, что firewall не блокирует порты 1514-1515
  • Проверьте лог: cat /var/ossec/logs/ossec.log | grep -i "error\|warn"

Отключение автоматических обновлений

Ubuntu / Debian:

sed -i "s/^deb /#deb /" /etc/apt/sources.list.d/wazuh.list
apt-get update

CentOS / RHEL:

sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo

Дальнейшие шаги

Last updated on