Splunk Enterprise через Fluentd¶
В этой инструкции описан пример интеграции Вебмониторэкс со Splunk Enterprise через промежуточный коллектор логов Fluentd.
Схема логирования событий в комплексных системах может состоять из нескольких компонентов, например:
-
Коллектор логов: принимает логи от нескольких источников и выгружает логи в SIEM-систему.
-
SIEM-система или другая система управления логами: используется для анализа логов и мониторинга состояния системы.
Чтобы логировать события Вебмониторэкс во Fluentd → Splunk Enterprise таким образом, ознакомьтесь с приведенным примером интеграции.
Используемые ресурсы¶
-
Splunk Enterprise с веб‑интерфейсом на URL
https://109.111.35.11:8000
и с API на URLhttps://109.111.35.11:8088
-
Fluentd, установленный на Debian 11.x (bullseye) и доступный по адресу
https://fluentd-example-domain.com
-
Доступ администратора к Консоли управления Вебмониторэкс для настройки интеграции с Fluentd
IP-адреса Вычислительного кластера Вебмониторэкс
Для предоставления Вычислительному кластеру Вебмониторэкс доступа к вашей системе, вам может понадобиться список публичных IP-адресов Вычислительного кластера:
- https://my.wallarm.ru/:
158.160.45.107
- https://my.webmonitorx.ru/:
51.250.73.199
Ссылки на сервисы Splunk Enterprise и Fluentd приведены в документации в качестве примера и недоступны для внешнего использования.
Настройка Splunk Enterprise¶
Логи Fluentd отправляются в Splunk HTTP Event Collector с названием Вебмониторэкс Fluentd logs
и остальными настройками по умолчанию:
Для доступа к HTTP Event Collector сгенерирован токен: f44b3179-91aa-44f5-a6f7-202265e10475
.
Более подробная информация о настройке HTTPS Event Collector в Splunk доступна в официальной документации Splunk.
Настройка Fluentd¶
Вебмониторэкс отправляет логи в промежуточный коллектор логов через вебхуки. Поэтому для корректной интеграции конфигурация Fluentd должна соответствовать следующим требованиям:
-
Принимать POST- или PUT-запросы
-
Принимать запросы по протоколу HTTPS
-
Иметь публичный URL
-
Выводить логи в Splunk Enterprise, в примере для этого используется плагин
splunk_hec
Пример настройки Fluentd описан в конфигурационном файле td-agent.conf
:
-
Обработка входящих вебхуков настроена в директиве
source
:- Трафик поступает на порт 9880
- Fluentd обрабатывает только HTTPS‑соединения
- TLS-сертификат для Fluentd расположен в файле
/etc/ssl/certs/fluentd.crt
- Приватный ключ сертификата расположен в файле
/etc/ssl/private/fluentd.key
-
Отправка логов в Splunk и вывод логов настроены в директиве
match
:- Логи всех событий копируются из Fluentd и отправляются в Splunk HTTP Event Controller через output‑плагин fluent-plugin-splunk-hec
- Логи Fluentd дополнительно выводятся в командную строку в формате JSON (19-22 строки кода). Настройка используется для проверки, что события записываются в логи Fluentd
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Более подробное описание конфигурационного файла доступно в официальной документации Fluentd.
Тестирование настроек Fluentd
Чтобы протестировать запись логов во Fluentd и выгрузку данных в Splunk, можно отправить POST или PUT‑запрос во Fluentd.
Пример запроса:
curl -X POST 'https://fluentd-example-domain.com' -H "Content-Type: application/json" -H "Authorization: Splunk f44b3179-91aa-44f5-a6f7-202265e10475" -d '{"key1":"value1", "key2":"value2"}'
Логи Fluentd:
Событие в Splunk:
Настройка интеграции с Fluentd¶
-
Вебхуки отправляются на
https://fluentd-example-domain.com
-
Для отправки вебхуков используются запросы типа POST
-
В расширенных настройках интеграции заданы значения по умолчанию
-
Вебхуки отправляют на Webhook URL все доступные события: хиты, системные события, уязвимости, изменения сетевого периметра
Подробнее о настройке интеграции с Fluentd
Тестирование примера¶
Для тестирования настроек в Консоли управления Вебмониторэкс добавляется новый пользователь:
В логах Fluentd появится запись:
В событиях Splunk появится запись:
Построение дашборда Splunk с событиями Вебмониторэкс¶
События, отправленные Вебмониторэкс в Splunk, можно представить в виде наглядного дашборда. Приложение Вебмониторэкс для Splunk 9.0 и выше содержит готовый дашборд, в котором все события Вебмониторэкс отображаются автоматически.
Дашборд кликабельный, вы можете переходить из него к подробным логам о событиях. Также, данные с дашборда можно экспортировать.
Чтобы установить приложение Вебмониторэкс для Splunk:
-
В интерфейсе Splunk ➝ Apps найдите приложение
Вебмониторэкс WAF
. -
Нажмите Install и введите учетные данные Splunkbase.
На дашборде будут отображаться как уже зарегистрированные события Вебмониторэкс, так и все следующие.
Вы можете полностью кастомизировать готовый дашборд, например: внешний вид или поисковые запросы, которые извлекают записи Вебмониторэкс из всех записей Splunk.