Wazuh — открытая платформа для мониторинга безопасности: она собирает журналы, отслеживает целостность файлов, проверяет конфигурации и сопоставляет события с правилами. Компоненты работают на своём сервере, журналы остаются под вашим контролем, а лицензия позволяет использовать систему бесплатно. Разберём архитектуру, установку, подключение агента и первые правила.

Из чего состоит Wazuh

Классическая схема включает manager, indexer и dashboard. Manager принимает события от агентов, применяет правила и запускает активные реакции. Indexer хранит данные и выполняет поиск, dashboard показывает интерфейс. Агент ставится на контролируемый узел и передаёт события по защищённому каналу.

Wazuh умеет больше, чем «просмотр логов»: модуль FIM замечает изменения файлов, SCA проверяет соответствие базовым настройкам, модуль уязвимостей сопоставляет пакеты с базами CVE. Всё это работает по правилам, которые можно расширять.

Кроме агентов есть безагентный сбор через Syslog и API облачных сервисов, но для серверов под вашим управлением агент предпочтительнее: он передаёт больше контекста и работает через шифрованный канал. Начните с одного узла, чтобы понять объём событий.

Система требует ресурсов. Для лаборатории с несколькими агентами практический минимум — 8 ГБ оперативной памяти и 4 ядра, но для десятков агентов и долгого хранения журналов нужен отдельный сервер и планирование диска.

Установка на сервер

Официальный установщик разворачивает все компоненты на одной машине. Используйте чистый сервер, сведите к минимуму число открытых портов и заранее выделите место под индекс.

curl -sO https://packages.wazuh.com/4.14/wazuh-install.sh
sudo bash wazuh-install.sh -a
sudo systemctl status wazuh-manager

Флаг -a означает all-in-one. Установщик выведет учётные данные и адрес панели. Сразу смените пароль администратора и сохраните новые значения в менеджере секретов.

sudo /var/ossec/bin/wazuh-control status
sudo ss -ltnp | grep -E '443|1514|1515|9200'

Порты 1514 и 1515 нужны агентам, 443 — панели, 9200 — индексеру. Не публикуйте их в интернет: доступ к панели должен идти через доверенную сеть.

Первый вход и базовая защита

Панель открывается по HTTPS. Смените пароль, включите разумную политику ограничения попыток входа и проверьте, что стандартные учётные записи не используются. Если панель доступна извне, ограничьте адреса на файрволе.

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" port port="443" protocol="tcp" accept'
sudo firewall-cmd --reload
sudo systemctl enable --now wazuh-manager

Для Ubuntu с ufw синтаксис другой, но принцип тот же: разрешить только нужную подсеть. Не открывайте dashboard всему интернету «на время».

Установка агента

Агент ставится на сервер или рабочую станцию, которые вы администрируете. В команде установки укажите адрес manager и имя узла.

curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import
sudo 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" | sudo tee /etc/apt/sources.list.d/wazuh.list
sudo apt update
sudo WAZUH_MANAGER='10.0.0.10' apt install wazuh-agent
sudo systemctl enable --now wazuh-agent

Репозиторий 4.x отдаёт актуальную ветку пакетов. После запуска проверьте соединение на manager.

sudo /var/ossec/bin/agent_control -l
sudo tail -f /var/ossec/logs/ossec.log

Агент должен появиться в списке как Active. Если статус Pending или Disconnected, проверьте адрес, порт 1514 и время на обоих узлах.

Сбор журналов

Список файлов задаётся в ossec.conf. Начните с журналов аутентификации и веб-сервера, затем добавьте приложения. Не собирайте всё подряд: объём растёт быстро, а полезность падает.

<localfile>
  <log_format>syslog</log_format>
  <location>/var/log/auth.log</location>
</localfile>

Для journald используйте формат journald и укажите unit. На RHEL-совместимых системах журнал аутентификации обычно лежит в /var/log/secure. После правки конфигурации перезапустите агент и убедитесь, что события доходят.

sudo systemctl restart wazuh-agent
sudo journalctl -u wazuh-agent -n 50 --no-pager

Контроль целостности файлов

Модуль FIM отслеживает изменения в каталогах. Включите реальное время для критичных путей и периодическое сканирование для остальных. Слишком широкий список создаёт нагрузку и шум.

<syscheck>
  <directories check_all="yes" realtime="yes">/etc,/usr/bin,/usr/sbin</directories>
  <directories check_all="yes" report_changes="yes">/var/www</directories>
</syscheck>

Изменение в /etc не всегда инцидент: обновление пакета тоже меняет файлы. Настройте подавление известных событий и проверяйте оповещения в контексте.

Правила и проверка событий

Свои правила храните в /var/ossec/etc/rules/local_rules.xml. Идентификаторы начинайте с диапазона, отведённого для локальных правил, чтобы не конфликтовать с обновлениями.

<group name="local,syslog,">
  <rule id="100010" level="10" frequency="5" timeframe="120">
    <if_matched_sid>5710</if_matched_sid>
    <same_source_ip />
    <description>Multiple SSH authentication failures</description>
  </rule>
</group>

Проверяйте правило на реальном примере через wazuh-logtest. Утилита покажет, какой декодер сработал и какое правило совпало.

sudo /var/ossec/bin/wazuh-logtest
sudo /var/ossec/bin/wazuh-control restart

Уязвимости и аудит конфигурации

Модуль уязвимостей сопоставляет установленные пакеты с базами CVE. Ему нужны актуальные данные и корректное время. SCA проверяет настройки по политикам и выдаёт оценку соответствия.

Не превращайте отчёт в самоцель: сначала закройте критичные находки на публичных сервисах, затем займитесь внутренними узлами. Автоматические реакции опасны без тестов — включайте их точечно.

  • Обновляйте базы и сам Wazuh.
  • Ограничьте доступ к панели и API.
  • Проверяйте правила перед массовым развёртыванием.
  • Храните резервные копии конфигурации и индексов.
  • Согласуйте мониторинг сотрудников с политикой и законом.

Wazuh обрабатывает журналы, где могут быть персональные данные. Если вы администратор инфраструктуры, следите за сроками хранения, доступом и основанием обработки. Сбор данных о чужих системах без разрешения недопустим.

Диагностика

Когда события не доходят, проверяйте цепочку по порядку: агент, сеть, manager, индексер, панель. Логи лежат в разных местах, и начинать нужно с агента.

sudo systemctl status wazuh-agent
sudo tail -n 100 /var/ossec/logs/ossec.log
sudo tcpdump -ni any port 1514
sudo /var/ossec/bin/agent_control -i 001

Ошибки TLS чаще всего связаны с рассинхронизацией времени или неверным сертификатом. Проверьте timedatectl и срок действия сертификатов. Не отключайте проверку TLS ради «быстрого решения».

Если панель открывается, но новые события не появляются, проверьте свободное место и состояние индексера. Переполненный диск останавливает запись, а рост числа шардов замедляет поиск.

df -h /var/lib
curl -k -u admin https://127.0.0.1:9200/_cluster/health?pretty
sudo du -sh /var/ossec/logs /var/lib/wazuh-indexer

Итог

Wazuh даёт открытый SIEM для собственной инфраструктуры: агенты собирают журналы, manager применяет правила, indexer хранит события, dashboard показывает картину. Начните с одного сервера и нескольких агентов, настройте FIM и оповещения об аутентификации, затем расширяйте правила. Следите за ресурсами, не публикуйте панель в интернет и используйте систему только для защиты своих систем и с согласованной обработкой данных.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте