Splunk Enterprise через Logstash¶
В этой инструкции описан пример интеграции Вебмониторэкс со Splunk Enterprise через промежуточный коллектор логов Logstash.
Схема логирования событий в комплексных системах может состоять из нескольких компонентов, например:
-
Коллектор логов: принимает логи от нескольких источников и выгружает логи в SIEM-систему.
-
SIEM-система или другая система управления логами: используется для анализа логов и мониторинга состояния системы.
Чтобы логировать события Вебмониторэкс в Logstash → Splunk Enterprise таким образом, ознакомьтесь с приведенным примером интеграции.
Используемые ресурсы¶
-
Splunk Enterprise с веб‑интерфейсом на URL
https://109.111.35.11:8000
и с API на URLhttps://109.111.35.11:8088
-
Logstash 7.7.0, установленный на Debian 11.x (bullseye) и доступный по адресу
https://logstash.example.domain.com
-
Доступ администратора к Консоли управления Вебмониторэкс для настройки интеграции с Logstash
IP-адреса Вычислительного кластера Вебмониторэкс
Для предоставления Вычислительному кластеру Вебмониторэкс доступа к вашей системе, вам может понадобиться список публичных IP-адресов Вычислительного кластера:
- https://my.wallarm.ru/:
158.160.45.107
- https://my.webmonitorx.ru/:
51.250.73.199
Ссылки на сервисы Splunk Enterprise и Logstash приведены в документации в качестве примера и недоступны для внешнего использования.
Настройка Splunk Enterprise¶
Логи Logstash отправляются в Splunk HTTP Event Collector с названием Вебмониторэкс Logstash logs
и остальными настройками по умолчанию:
Для доступа к HTTP Event Collector сгенерирован токен: 93eaeba4-97a9-46c7-abf3-4e0c545fa5cb
.
Более подробная информация о настройке HTTPS Event Collector в Splunk доступна в официальной документации Splunk.
Настройка Logstash¶
Вебмониторэкс отправляет логи в промежуточный коллектор логов через вебхуки. Поэтому для корректной интеграции конфигурация Logstash должна соответствовать следующим требованиям:
-
Принимать POST- или PUT-запросы
-
Принимать запросы по протоколу HTTPS
-
Иметь публичный URL
-
Выводить логи в Splunk Enterprise, в примере для этого используется плагин
http
Пример настройки Logstash описан в конфигурационном файле logstash-sample.conf
:
-
Обработка входящих вебхуков настроена в секции
input
:- Трафик поступает на порт 5044
- Logstash обрабатывает только HTTPS‑соединения
- TLS-сертификат для Logstash расположен в файле
/etc/server.crt
- Приватный ключ сертификата расположен в файле
/etc/server.key
-
Отправка логов в Splunk и вывод логов настроены в секции
output
:- Логи из Logstash в Splunk отправляются в формате JSON
- Логи всех событий из Logstash отправляются через POST‑запрос к Splunk API на эндпоинт
https://109.111.35.11:8088/services/collector/raw
. Для авторизации запросов используется токен HTTPS Event Collector - Логи Logstash дополнительно выводятся в командную строку (15 строка кода). Настройка используется для проверки, что события записываются в логи Logstash
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Более подробное описание конфигурационного файла доступно в официальной документации Logstash.
Тестирование настроек Logstash
Чтобы протестировать запись логов в Logstash и выгрузку данных в Splunk, можно отправить POST‑запрос в Logstash.
Пример запроса:
curl -X POST 'https://logstash.example.domain.com' -H "Content-Type: application/json" -H "Authorization: Splunk 93eaeba4-97a9-46c7-abf3-4e0c545fa5cb" -d '{"key1":"value1", "key2":"value2"}'
Логи Logstash:
Событие Splunk:
Настройка интеграции с Logstash¶
-
Вебхуки отправляются на
https://logstash.example.domain.com
-
Для отправки вебхуков используются запросы типа POST
-
В расширенных настройках интеграции заданы значения по умолчанию
-
Вебхуки отправляют на Webhook URL все доступные события: хиты, системные события, уязвимости, изменения сетевого периметра
Подробнее о настройке интеграции с Logstash
Тестирование примера¶
Для тестирования настроек в Консоли управления Вебмониторэкс добавляется новый пользователь:
В логах Logstash появится запись:
В событиях Splunk появится запись:
Построение дашборда Splunk с событиями Вебмониторэкс¶
События, отправленные Вебмониторэкс в Splunk, можно представить в виде наглядного дашборда. Приложение Вебмониторэкс для Splunk 9.0 и выше содержит готовый дашборд, в котором все события Вебмониторэкс отображаются автоматически.
Дашборд кликабельный, вы можете переходить из него к подробным логам о событиях. Также, данные с дашборда можно экспортировать.
Чтобы установить приложение Вебмониторэкс для Splunk:
-
В интерфейсе Splunk ➝ Apps найдите приложение
Вебмониторэкс WAF
. -
Нажмите Install и введите учетные данные Splunkbase.
На дашборде будут отображаться как уже зарегистрированные события Вебмониторэкс, так и все следующие.
Вы можете полностью кастомизировать готовый дашборд, например: внешний вид или поисковые запросы, которые извлекают записи Вебмониторэкс из всех записей Splunk.