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 реагирует только на шаблоны в логах и банит 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.
Как настроить 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.
- Раз в неделю сверяться с общим чек-листом безопасности сервера.