
Wazuh - это бесплатная платформа класса XDR (Extended Detection and Response), которая сочетает в себе функции SIEM (Security Information and Event Management) и защиты конечных точек. Решение предназначено для мониторинга безопасности инфраструктуры: от локальных серверов до облачных сред.
Задача № 0
Шум в логах и тысячи false positive'ных алертов - это то, с чем сталкивается каждый SoC-инженер при работе с Wazuh в начале пути. Вендор и коммьюнити рекомендует решать проблему разработкой своих localrules или переопределением родительских правил (при условии твердого и четкого понимания того, что вы делаете).
Но как определить источники шума? Лучше всего использовать API-запросы
Как работать с API?
Есть два способа: через CLI на сервере, либо через Wazuh Dashboard. В первом случае вам понадобится api-token, api-user и api-password (о том, где это найти можно прочитать здесь). Во втором случае: переходим в контекстное меню -> вкладка "Indexer management -> "Dev Tools"

Что делать дальше?
Я не буду останавливаться на подробном рассмотрении синтаксиса (ссылка на документацию в конце статьи). Вместо этого предлагаю вам попробовать мои API-запросы, которые я разработал для себя и использую в повседневной работе. Их основная задача - поиск и диагностика шума на сервере и на стороне агентов.
Общая логика запроса следующая:
POST /wazuh-alerts*/_search { "size": 0, "query": { "bool": { "must": [ {"term": {"агент_поле": "значение"}}, {"term": {"правило_поле": "значение"}}, {"range": { "timestamp": { "gte": "now-1h" } }} ], "must_not": [ {"term": {"data.win.eventdata.поле": "исключение"}} ] } }, "aggs": { "top_field": { "terms": { "field": "data.win.eventdata.поле_для_агрегации", "size": 20, "order": { "_count": "desc" } } } } }
Примечание: некоторые запросы могут возвращать 500-ю ошибку. Обычно это связано с версией SIEM. В этой ситуации рекомендуется обновиться или их скорректировать, обратившись к документации
Топ самых шумных правил (глобально)
POST /wazuh-alerts*/_search { "size": 0, "aggs": { "noisy_rules": { "terms": { "field": "rule.id", "size": 20, "order": { "_count": "desc" } } } } }

2. Топ шумных правил для конкретного агента
POST /wazuh-alerts*/_search { "size": 0, "query": { "term": { "agent.name": "BC-DC-01" } }, "aggs": { "noisy_rules": { "terms": { "field": "rule.id", "size": 20, "order": { "_count": "desc" } } } } }

3. Топ шумных пользователей
POST /wazuh-alerts*/_search { "size": 0, "aggs": { "noisy_users": { "terms": { "field": "data.win.eventdata.targetUserName", "size": 20, "order": { "_count": "desc" } } } } }

4. Топ шумных IP-адресов
POST /wazuh-alerts*/_search { "size": 0, "aggs": { "noisy_ips": { "terms": { "field": "data.win.eventdata.ipAddress", "size": 20, "order": { "_count": "desc" } } } } }

5. Анализ конкретного правила (на примере rule.id = "60229" (изменения AD))
POST /wazuh-alerts*/_search { "size": 0, "query": { "bool": { "must": [ {"term": {"rule.id": 60229}}, {"term": {"agent.name": "BC-DC-01"}} ] } }, "aggs": { "top_objects": { "terms": { "field": "data.win.eventdata.objectDN", "size": 10 } }, "top_attributes": { "terms": { "field": "data.win.eventdata.attributeLDAPDisplayName", "size": 10 } }, "top_users": { "terms": { "field": "data.win.eventdata.subjectUserName", "size": 10 } } } }

6. Анализ неудачных входов
POST /wazuh-alerts*/_search { "size": 0, "query": { "term": { "rule.id": 60122 } }, "aggs": { "top_users": { "terms": { "field": "data.win.eventdata.targetUserName", "size": 10 } }, "top_ips": { "terms": { "field": "data.win.eventdata.ipAddress", "size": 10 } }, "by_status": { "terms": { "field": "data.win.eventdata.status", "size": 10 } } } }

7. Топ шумных правил с уровнем >= 5
POST /wazuh-alerts*/_search { "size": 0, "query": { "range": { "rule.level": { "gte": 5 } } }, "aggs": { "noisy_rules": { "terms": { "field": "rule.id", "size": 20, "order": { "_count": "desc" } } } } }

Это только самые ходовые запросы. Изучив синтаксис API, вы можете кастомизировать их под конкретную задачу. Надеюсь, статья будет дял вас полезной и позволит сэкономить время на этапах работы с SIEM
Источники: Ф
Официальный сайт вендора - https://wazuh.com/
Документация по Syntax Rule - https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/rules.html
Документация по API - https://documentation.wazuh.com/current/user-manual/api/reference.html