Страж безопасности
Защищаем периметр при помощи Wazuh
Представь ситуацию: ты вроде бы все меры защиты уже реализовал, необходимые (и дорогостоящие) средства купил и даже внедрил и настроил, но неуверенность все же осталась...
Впрочем, даже это слишком радужная картина. В большинстве компаний информационная безопасность только встает на прямые рельсы, ведущие в светлое и безопасное будущее. Многие процессы не определены или даже не работают, продукты защиты не до конца настроены или не внедрены и так далее. Нет полной инвентаризации ИТ‑активов, непонятны сегменты сети, их защищенность и маршрутизация в них.
Именно в таком состоянии и были дела в компании, где я недавно разворачивал систему безопасности на базе Wazuh. Я работал с этой платформой и раньше и знал ее потенциал, так что сомнений в выборе не было.
С помощью Wazuh мы первым делом провели инвентаризацию, чтобы понять ландшафт: из чего состоит наша инфраструктура, где есть или могут быть слабые места. Далее настроили сбор событий безопасности и запустили систему управления уязвимостями (Vulnerability Management). Это позволило нам получить четкое представление о текущем состоянии инфраструктуры и создать основу для дальнейшего укрепления.
В статье я разберу основные моменты того, как работает Wazuh, какие преимущества он дает и как может стать основой для устойчивой безопасности компании любого размера. А также расскажу о практических примерах его использования.
Что такое Wazuh?
Wazuh — это современная многофункциональная платформа с открытым исходным кодом. В ней объединены функции обнаружения вторжений, защиты информационных систем от широкого спектра угроз и реагирования на инциденты. Wazuh отслеживает и данные и анализирует корреляции в них на основе правил. Это позволяет выявлять аномальные действия и получать своевременную информацию об угрозах.
Модульная структура в сочетании с открытым исходным кодом платформы обеспечивает масштабируемость и гибкость, что облегчает ее адаптацию под потребности организаций разного масштаба. Wazuh собирает, нормализует и коррелирует данные, поступающие из разных источников: от агентов, устанавливаемых в ОС, из логов syslog и так далее. К тому же Wazuh можно интегрировать с другими системами безопасности и аналитическими платформами.
Вот основные типы событий, которыми оперирует Wazuh:
- ошибки приложений и систем;
- сообщения о некорректных настройках;
- информация о вредоносных действиях или попытках совершить их;
- сообщения о нарушении политик и других мер безопасности;
- изменение атрибутов файлов или нарушение целостности;
- результаты сканирования ПО;
- сведения об операционной системе, запущенных процессах, установленных приложениях, инвентаризационная информация (серийный номер, тип процессора, количество RAM и тому подобные).
Верхнеуровневая архитектура Wazuh

Давай посмотрим, какие есть виды взаимодействия компонентов.
- Агенты и менеджер:
- Агенты устанавливаются на разных устройствах и постоянно мониторят систему на предмет изменений, потенциальных угроз или аномалий.
- Собранные данные отправляются менеджеру.
- Менеджер и сервис индексации:
- Менеджер анализирует полученные от агентов данные и формирует оповещения при обнаружении угроз.
- Обработанные данные и оповещения отправляются в сервис индексации через API на порт 9200 (TCP) для хранения и дальнейшего анализа.
- Менеджер и база данных:
- Менеджер взаимодействует с базой данных для хранения настроек, политик безопасности и другой необходимой информации.
- Панель управления и менеджер/сервис индексации:
- Панель управления обращается к менеджеру через API на порте 55000 (TCP) для получения информации.
- Пользователи и панель управления:
- Пользователи получают доступ к системе через веб‑интерфейс панели управления.
Сценарии использования
Теперь давай посмотрим, как Wazuh можно интегрировать в ландшафт организации.

На схеме выше показаны рабочие процессы организации. Устройства сотрудников и виртуальные машины сервисов оборудованы агентами Wazuh, которые позволяют отслеживать события, связанные с безопасностью, включая сбор логов и мониторинг активности. Эти данные централизованно отправляются в основную аналитическую систему Wazuh для детального анализа.
События, получаемые от файрвола для веб‑приложений (WAF), также направляются на сервер Wazuh. Этот процесс помогает постоянно мониторить атаки на веб‑приложения.
Логи, поступающие из систем управления идентификацией и доступом (Identity and Access Management, IAM), тоже интегрированы с Wazuh. Их анализ позволяет системе выявлять нетипичные действия пользователей, а также фиксировать успешные и неудачные попытки авторизации. Это критически важно, чтобы своевременно замечать потенциальные случаи компрометации учеток.
Данные событий от VPN-соединений, передаваемые в Wazuh, включают информацию об успешных и неудачных попытках подключения через VPN — полезно, чтобы выявлять атаки вроде подбора пароля, плюс можно выявлять попытки входа из необычных стран.
Итого у нас есть интеграция с WAF IAM и VPN, что, согласись, довольно неплохо.
Wazuh позволяет создавать пользовательские декодеры и правила для детектирования разных событий безопасности. Декодеры выполняют нормализацию событий, упрощая их анализ, тогда как правила позволяют оперативно оповещать о критических инцидентах.
Дальше разберем основные примеры использования этих возможностей на практике.
Защита Active Directory

С помощью настроенных правил пользователи Wazuh могут анализировать события Directory Replication Service (DRS) из журналов событий Windows. Это полезно, когда нужно фиксировать аномалии в запросах репликации, характерные для атак DCSync. Задаешь подходящие правила для определенных EventId
и их свойств, и система обеспечит своевременное оповещение о подозрительных действиях.
Правила могут извлекать и анализировать запросы к службе Kerberos Ticket-Granting Service (TGS) из журналов событий. Правило, отслеживающее частые запросы TGS, особенно если они связаны с учетными записями служб, помогает обнаружить попытки атак типа Kerberoasting.
Кроме того, собирая события аутентификации NTLM, Wazuh помогает обнаруживать атаки pass the hash. Правила, настроенные для поиска характерных шаблонов действий, генерируют предупреждения, когда кто‑то использует учетные данные подозрительным образом.
Дальше — пример, как это может быть настроено с помощью правил для Wazuh.
<group name="security_event, windows,"> <rule id="110001" level="12"> <if_sid>60103</if_sid> <field name="win.system.eventID">^4662$</field> <field name="win.eventdata.properties" type="pcre2">{1131f6aa-9c07-11d1-f79f-00c04fc2dcd2}|{19195a5b-6da0-11d0-afd3-00c04fd930c9}</field> <options>no_full_log</options> <description>Directory Service Access. Possible DCSync attack</description> </rule> <rule id="110009" level="0"> <if_sid>60103</if_sid> <field name="win.system.eventID">^4662$</field> <field name="win.eventdata.properties" type="pcre2">{1131f6aa-9c07-11d1-f79f-00c04fc2dcd2}|{19195a5b-6da0-11d0-afd3-00c04fd930c9}</field> <field name="win.eventdata.SubjectUserName" type="pcre2">\$$</field> <options>no_full_log</options> <description>Ignore all Directory Service Access that is originated from a machine account containing $</description> </rule> <rule id="110002" level="12"> <if_sid>60103</if_sid> <field name="win.system.eventID">^4769$</field> <field name="win.eventdata.TicketOptions" type="pcre2">0x40810000</field> <field name="win.eventdata.TicketEncryptionType" type="pcre2">0x17</field> <options>no_full_log</options> <description>Possible Kerberoasting attack</description> </rule> <rule id="110003" level="12"> <if_sid>60103</if_sid> <field name="win.system.eventID">^4624$</field> <field name="win.eventdata.LogonProcessName" type="pcre2">seclogo</field> <field name="win.eventdata.LogonType" type="pcre2">9</field> <field name="win.eventdata.AuthenticationPackageName" type="pcre2">Negotiate</field> <field name="win.eventdata.LogonGuid" type="pcre2">{00000000-0000-0000-0000-000000000000}</field> <options>no_full_log</options> <description>Possible Pass the hash attack</description> </rule></group>
С помощью этих простых действий мы получаем уведомления о базовых атаках на Active Directory. Архитектуру при этом легко масштабировать.
«Бяка» PowerShell

В Wazuh предусмотрена возможность интеграции разных журналов и файлов с логами, что позволяет, например, подключать события из журнала Windows PowerShell.
После подключения нужного журнала можно создать соответствующие декодеры и правила, чтобы фиксировать ключевые события. Однако без фильтрации поступающих данных есть риск получить слишком много событий, включая нерелевантные, так как будут обрабатываться все записи журнала. Для решения этой проблемы на следующем этапе создается словарь команд, за которыми необходимо следить, и подключаются списки команд, представляющих потенциальный риск.
Как это можно реализовать? Добавляем в основной файл настроек ossec.
путь до словарика с «опасными» командами.
<list>etc/lists/malicious-powershell</list>
Далее пишем правила.
<var name="MS_FREQ">8</var><group name="windows,"> <rule id="100543" level="12"> <if_sid>100541</if_sid> <list field="win.eventdata.scriptBlockText" lookup="match_key">etc/lists/malicious-powershell</list> <description>Malicious Powershell Command $(win.eventdata.scriptBlockText) Executed</description> <options>no_full_log</options> </rule></group>
Настраивая Wazuh на отслеживание только потенциально опасных команд, можно сократить число ложных уведомлений, что облегчает контроль и улучшает его результаты.
Wazuh и базы данных

Расширяемая архитектура мониторинга журналов в Wazuh поддерживает удобную интеграцию с логами PostgreSQL (postgresql-*-main.
). Подключаем журналы PostgreSQL, и система сможет в режиме реального времени фиксировать критически важные события в базе данных, такие как создание и удаление баз данных, изменение структуры таблиц и манипуляции с данными.
Wazuh применяет декодеры и правила для мониторинга логов PostgreSQL, чтобы отслеживать и фиксировать подозрительные или несанкционированные действия с базой данных.
Например:
<group name="postgresql,"> <rule id="100080" level="0"> <decoded_as>postgresql</decoded_as> <description>No alerts.</description> </rule> <rule id="100081" level="4"> <if_sid>100080</if_sid> <match type="pcre2">(?i)create database</match> <description>A database $(database) has been created by the user $(db_user).</description> </rule> <rule id="100082" level="6"> <if_sid>100080</if_sid> <match type="pcre2">(?i)drop database</match> <description>A database $(database) has been deleted by the user $(db_user).</description> </rule>...
</group>
С такой настройкой Wazuh будет предупреждать и о несанкционированных манипуляциях с базами данных.

Быстрое обнаружение трендовых уязвимостей

Используя Wazuh API, можно оперативно извлекать данные о версиях пакетов и настройки с каждого подключенного агента. Этот подход особенно полезен, когда вендор еще не исправил уязвимость в ОС. Wazuh позволяет заранее определить уязвимые хосты на основе версии пакета, содержащего известную уязвимость. Это можно использовать, пока не выйдет патч.
Open source и отечественные ОС
Wazuh совместим с РЕД ОС, Astra Linux и прочими дистрибутивами, с которыми сейчас можно столкнуться у заказчиков. Для работы с ними можно просто отредактировать /
, но из‑за несовпадений пакетной базы с описанием это может вызвать ложные срабатывания.
Правильный путь — пересобрать пакеты из исходного кода и добавить РЕД ОС или Astra Linux в качестве новых провайдеров в среду Wazuh. Это позволит Wazuh точно сканировать и анализировать отечественные дистрибутивы.
Wazuh и Docker

Модуль Wazuh для Docker (Docker-listener) позволяет отслеживать события, связанные с основными командами и действиями Docker, которые влияют на управление контейнерами. В частности, модуль фиксирует такие команды, как docker
, docker
, docker
, а также другие важные операции. Эти правила доступны «из коробки», останется только настроить модуль Docker-listener.
Интеграция с внешними API
Wazuh Integrator позволяет подключаться к внешним API и прочим инструментам. По умолчанию он настроен на несколько известных платформ, но у Wazuh Integrator гибкие настройки, так что можно настроить свои интеграции.
Например, интеграция с системой SOAR (Security Orchestration, Automation and Response) позволит объединить решения в единую систему и автоматизировать реагирование на инциденты. Или для анализа угроз можешь подключить Wazuh к VirusTotal. И это только небольшая часть возможностей этого модуля.
Wazuh и SCA Benchmark
Security Configuration Assessment (SCA) — это аудит настроек безопасности всех систем организации и их проверка на соответствие установленным правилам. Одна из главных стратегий защиты конечных точек — их укрепление (харденинг) за счет минимизации уязвимостей.
SCA помогает не только выявить и оценить слабые места, но и предложить корректирующие меры для их устранения, тем самым существенно снижая площадь атаки и повышая общую устойчивость системы.
Модуль SCA в Wazuh регулярно сканирует контролируемые конечные точки, выявляя уязвимости и отклонения. Этот процесс опирается на политики, содержащие набор правил для проверки актуальных настроек системы.
Файлы политик задают условия соответствия требованиям безопасности. Например, SCA проверяет наличие файлов и каталогов, ключи и значения реестра, запущенные процессы, а также рекурсивно анализирует содержимое каталогов для выявления отклонений.
Wazuh использует CIS Benchmarks для автоматической оценки конфигурации систем на соответствие требованиям безопасности. В ходе сканирования он выявляет отклонения от стандартов CIS.
CIS
Центр интернет‑безопасности (Center for Internet Security, CIS) — некоммерческая организация, которая занимается повышением уровня кибербезопасности. CIS разрабатывает стандарты и рекомендации, такие как CIS Benchmarks и CIS Controls, которые широко используются для защиты информационных систем и данных.
CIS Benchmarks — это инструкции по безопасной настройке операционных систем, серверных приложений, облачных сервисов и программного обеспечения. Их разрабатывают и обновляют эксперты по безопасности, учитывая актуальные угрозы и технологии.
CIS Controls — это набор приоритетных мер для предотвращения наиболее опасных кибератак. Они помогают организациям сосредоточиться на критически важных аспектах безопасности.
Выводы
Думаю, мне удалось показать, что Wazuh — это не просто еще один инструмент, а целая платформа, которую легко адаптировать под разные задачи. Это универсальный инструмент в арсенале безопасности: от защиты Active Directory и работы с PowerShell до защиты баз данных и быстрого поиска уязвимостей. Wazuh поддерживает любые ОС, интегрируется с Docker и внешними API.
Итого профиты для работников компаний: освоив Wazuh, специалисты получают ощутимый плюс в копилку знаний, что делает их более конкурентоспособными на рынке ИТ и ИБ. Профиты для владельцев компаний: специалист по Wazuh в штате существенно сэкономит затраты на продукты ИБ Enterprise, особенно когда про ИБ только задумались.