суббота, 24 октября 2015 г.

Splunk. HTTP collector

Приветствую тебя, уважаемый читатель!

Хочу поведать тебе хорошую новость, в версии Splunk 6.3 появился новый Data Input HTTP Collector. В принципе уже имеющихся вариантов подключения источников событий более чем достаточно, файлы, TCP/UDP-сокеты, скрипты, СУБД, выводы команд ОС, агенты для сбора (Splunk Forwarder), дополнительный софт который работает под управлением агентов и т.д.

Теперь можно научить SPlunk понимать специально сформированные HTTP POST запросы. Суть сводится к добавлению ещё одного заголовка. Кому интересно ниже объяснение J



Создание нового Data Input


Во-первых Вам необходимо обновить Splunk до версии 6.3. Делается это очень просто, качаем новый дистрибутив с сайта производителя, запускаем процесс установки и на вопрос о миграции и обновлению сервера отвечаемyes.


Теперь выберите в разделе Data Inputs HTTP Event Collector, поидее Splunk заботливо предупредит Вас, что поддержка токенов не включена


Поэтому нажимаем на кнопку Global Settings и включаем поддержку токенов. Также, тут можно увидеть на какой порт слать запросы и отключить поддержку SSL.



Если всё удачно, то нажимаем создать новый токенНеобходимо заполнить имя нового токена и source name. Советую написать что-нибудь человекопонятное или несущее проектный смысл.



Далее необходимо выбрать индекс для поступающих событий. Если вы счастливый обладатель лицензии на Splunk, то можно создать новый, если лицензии нет, то оставляем main, т.к. после окончания пробного периода выбора не будет J



Если нигде не напутали, то любуемся созданным для нас токеном.




Получение событий


Для отправки событий в Splunk я воспользуюсь curl и Burp Suite. Для данного источника событий по-умолчанию включено применении HTTPS

В тело POST-запроса необходимо добавить заголовок с токеном в запрос в формате:

Authorization: Splunk <значение токена>

Событие необходимо указывать в формате JSON, так что всё просто и логично. Ниже пара примеров:

root@bas:/var/tmp# curl -k https://localhost:8088/services/collector -H 'Authorization: Splunk F317E0E1-ECD1-45A0-B295-F200C5CE4XXX' -d '{"event":"Hello splunk :)"}'

В burp suite перейдите на вкладку Repeater и вбейте запрос из примера ниже.

POST /services/collector HTTP/1.1
Host: XXX.120.244.XX:8088
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0
Authorization: Splunk F317E0E1-ECD1-45A0-B295-F200C5CE4XXX

{"event":{"message":"Hello splunk", "bas":"Hello bas"}} 


Если, всё прошло удачно, то в выдаче Splunk вы увидите следующее;



Удачного использования :)



Комментариев нет:

Отправить комментарий