# Wazuh SIEM: мониторинг безопасности сервера и контроль FIM

> Wazuh SIEM для сервера объединяет анализ логов, контроль целостности файлов (FIM) и автоблокировку атак через active response.

Wazuh SIEM — бесплатная open-source платформа класса SIEM/XDR для мониторинга безопасности сервера: анализ логов, контроль целостности файлов, поиск уязвимостей и автоматическое реагирование на атаки. Wazuh декодирует события, применяет более 3000 готовых правил и классифицирует инциденты по уровням опасности от 0 до 15. Для владельцев VDS/VPS в Германии, США и Франции это способ увидеть попытку взлома в момент атаки, а не через неделю в логах.

## Что такое Wazuh SIEM и зачем он нужен для защиты сервера?

Wazuh SIEM решает то, с чем не справляется обычное логирование: записи из `/var/log/auth.log`, `/var/log/nginx/access.log` и `dmesg` сами по себе не показывают связи между событиями. Wazuh собирает данные с агентов, коррелирует их на менеджере и присваивает единый уровень тревоги. Десять неудачных SSH-подключений за минуту превращаются не в десять строк лога, а в одно оповещение о переборе паролей.

Платформа шире, чем fail2ban: [fail2ban](https://www.zevshost.net/ru/kb/nastroit-fail2ban/) реагирует только на шаблоны в логах и банит IP, а Wazuh дополнительно контролирует файлы, проверяет конфигурацию на соответствие CIS-бенчмаркам и сопоставляет события с матрицей MITRE ATT&CK.

## Как устроена архитектура Wazuh: manager, агент и индексатор?

Архитектура Wazuh состоит из трёх компонентов, которые можно развернуть на одном сервере или раздельно для нагруженных инфраструктур.

- Wazuh manager — центральный сервер, принимает события от агентов по TCP-порту 1514, применяет декодеры и правила, запускает active response.
- Wazuh agent — лёгкий процесс на защищаемом сервере, собирает логи, следит за файлами (FIM) и отправляет данные менеджеру по зашифрованному каналу.
- Wazuh indexer — хранилище на базе OpenSearch, принимает обработанные события от менеджера через порт 9200.
- Wazuh dashboard — веб-интерфейс на порту 443 для просмотра алертов, графиков и статуса агентов.

## Как установить Wazuh-агент на VPS?

Если Wazuh manager уже развёрнут (например, через официальный quick-start скрипт на отдельном сервере управления), агент устанавливается на каждый защищаемый VDS/VPS одной командой.

```
curl -so wazuh-agent.deb https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.9.0-1_amd64.deb
WAZUH_MANAGER="10.0.0.5" dpkg -i ./wazuh-agent.deb
systemctl daemon-reload
systemctl enable wazuh-agent
systemctl start wazuh-agent
```

После запуска агент появляется в списке подключённых хостов на дашборде менеджера. Стоит сразу распределить агенты по группам (веб-серверы, базы данных, почта) — это упрощает применение разных наборов правил FIM для каждой роли сервера.

## Как настроить File Integrity Monitoring (FIM) для контроля файлов?

FIM отслеживает изменения важных файлов: если атакующий подменит `/etc/passwd`, добавит бэкдор в веб-корень сайта или изменит `/etc/ssh/sshd_config`, Wazuh зафиксирует это в реальном времени и покажет, что именно изменилось — права доступа, владельца или контрольную сумму.

| Путь | Режим | Что контролируется |
| --- | --- | --- |
| /etc/passwd | realtime | Добавление и изменение учётных записей |
| /etc/ssh/sshd\_config | realtime | Ослабление настроек SSH-доступа |
| /etc/crontab | scheduled | Внедрение вредоносных задач планировщика |
| /var/www/html | realtime | Веб-шеллы и подмена файлов сайта |
| /etc/wazuh-agent/ossec.conf | scheduled | Попытки отключить сам мониторинг |

Настройка — в файле `/var/ossec/etc/ossec.conf` на агенте, внутри блока `syscheck`:

```
<syscheck>
  <directories realtime="yes" report_changes="yes" check_all="yes">/etc,/var/www/html</directories>
  <directories check_all="yes" whodata="yes">/etc/ssh/sshd_config,/etc/passwd</directories>
  <frequency>43200</frequency>
</syscheck>
```

## Как Wazuh анализирует логи и сопоставляет атаки с MITRE ATT&CK?

Анализ логов проходит четыре шага: сбор строки лога агентом, разбор декодером на поля (IP, пользователь, код ответа), сопоставление с правилом из базы decoder/rule и присвоение уровня тревоги. Правила для SSH, nginx, Apache, MySQL и десятков сервисов идут в комплекте.

Отличие от простого логирования — правило несёт метку тактики и техники из матрицы MITRE ATT&CK. Серия неудачных попыток входа классифицируется как перебор учётных данных, а правка sshd после подозрительной активности — как закрепление в системе. Про аудит системных вызовов ядра, который дополняет Wazuh, — в статье про [auditd](https://www.zevshost.net/ru/kb/linux-auditd-monitoring/).

## Как настроить active response и алерты в Telegram и Slack?

Active response — автоматическая реакция менеджера на сработавшее правило без участия администратора. Частый сценарий — блокировка IP после серии неудачных попыток входа по SSH.

```
<active-response>
  <command>firewall-drop</command>
  <location>local</location>
  <rules_id>5712</rules_id>
  <timeout>600</timeout>
</active-response>
```

Оповещения об алертах настраиваются в блоке `integration` файла `/var/ossec/etc/ossec.conf` на менеджере: встроенные интеграции отправляют уведомления в Slack, Telegram (через прокси-скрипт) и на email, передавая уровень тревоги, правило и сработавший хост. Администратор получает сообщение в течение секунд после инцидента, а не находит его при плановой проверке логов.

## Чек-лист внедрения Wazuh на сервере

- Развернуть Wazuh manager, indexer и dashboard на отдельном сервере управления.
- Установить Wazuh agent на каждый VDS/VPS, распределить агенты по группам.
- Включить FIM realtime для /etc/passwd, /etc/ssh/sshd\_config и веб-корня сайта.
- Проверить, что правила для nginx/Apache, MySQL и SSH активны и получают события.
- Настроить active response для блокировки IP при переборе паролей.
- Подключить алерты в Telegram или Slack с фильтром по уровню тревоги от 7.
- Раз в неделю сверяться с общим [чек-листом безопасности сервера](https://www.zevshost.net/ru/kb/server-security-checklist/).

---

Источник: https://www.zevshost.net/ru/kb/wazuh-siem-monitoring/
