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

> Пошаговая установка Wazuh Server 4.14 - менеджер, Filebeat, кластерная конфигурация master/worker, настройка ossec.conf и проверка работоспособности

Source: https://opennix.org/docs/wazuh/installation/wazuh-server-installation/


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

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

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

| Параметр | Минимум | Рекомендация |
|---|---|---|
| CPU | 2 ядра | 8 ядер |
| RAM | 2 ГБ | 8 ГБ |
| Диск | 20 ГБ | 50+ ГБ |

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

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

### Зависимости

- Установленный и работающий [Wazuh Indexer](/docs/wazuh/installation/wazuh-indexer-installation/)
- Файл `wazuh-certificates.tar` с сертификатами, созданными при установке индексатора
- Доступ к `packages.wazuh.com`

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

### Ubuntu / Debian

```bash
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)

```bash
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)

```bash
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

```bash
apt-get -y install wazuh-manager
```

### CentOS / RHEL

```bash
yum -y install wazuh-manager
```

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

```bash
systemctl status wazuh-manager
```

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

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

### Установка Filebeat

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

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

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

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

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

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

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

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

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

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

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

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

```bash
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, менеджер может напрямую взаимодействовать с индексатором. Настройте учетные данные:

```bash
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>`:

```xml
<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

```bash
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

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

### Filebeat

```bash
systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat
```

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

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

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

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

```xml
<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`:

```xml
<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_type` | `master` или `worker` |
| `key` | Общий ключ аутентификации (32 символа hex), одинаковый на всех узлах |
| `nodes` | IP-адрес master-узла |

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

```bash
openssl rand -hex 16
```

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

```bash
systemctl restart wazuh-manager
```

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

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

```bash
systemctl status wazuh-manager
```

### Проверка Filebeat

```bash
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
  ...
```

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

```bash
/var/ossec/bin/cluster_control -l
```

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

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

```bash
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
```

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

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

```bash
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:**

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

**CentOS / RHEL:**

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

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

- [Установка Wazuh Dashboard](/docs/wazuh/installation/wazuh-dashboard-installation/) - следующий компонент в порядке установки
- [Установка Wazuh Agent](/docs/wazuh/installation/wazuh-agent-installation/) - развертывание агентов на конечных точках
- [Архитектура Wazuh](/docs/wazuh/getting-started/wazuh-architecture/) - подробное описание архитектуры платформы

