- PVSM.RU - https://www.pvsm.ru -
В настоящее время решения по сбору и анализу событий информационной безопасности, системы класса SIEM находятся на пике своей популярности, современные компании ставят перед собой задачу подключить как можно больше своих ключевых систем к SIEM для консолидации данных из этих систем, анализа событий и разбора инцидентов информационной безопасности на основе полученных и проанализированных данных. SIEM осуществляет сбор событий с практически любых источников: сетевые устройства, базы данных, различные бизнес-приложения, системы информационной безопасности и информационных технологий, приводя их к единообразному виду, пригодному для дальнейшего анализа и работы с полученной информацией.
Принимая во внимание, о каком количестве разных информационных систем может идти речь, невольно задумываешься о возможных вариантах и подходах подключения возможных информационных систем к SIEM и моим желанием поделиться этими знаниями с коллегами, кто тесно связан и работает с системами данного класса. В качестве примера возьмём наиболее популярную систему Arcsight и рассмотрим возможные варианты подключения к информационным системам компании с помощью FlexConnector.
В данной статье хочу представить пошаговую инструкцию взаимодействия FlexСonnector по варианту подключения LOG-FILE тремя возможными способами.
В начале, давайте представим, что есть внутреннее приложение, которое пишет все события в отдельный файл под названием «mytest_log.txt». Эти события необходимо отправить в Arcsight ESM для дальнейшей корреляции, но проблема состоит в том, что необходимого коннектора типа SmartConnector «из коробки» нет. В данном вопросе всегда может выручить коннектор типа FlexConnector, который позволяет корректно передавать события в Arcsight ESM/Logger.
Приведем наглядный пример поступаемых событий от источника в наш файл «mytest_log.txt»:
2017-08-01 01:18:00.579 INFO AUTH: LOGIN SUCCESS. USER: Ivanov. IP: 192.168.0.1
2017-08-01 01:19:13.246 INFO AUTH: LOGIN FAILED. USER: Petrov. IP: 192.168.3.13
2017-08-01 01:20:17.589 INFO AUTH: LOGIN FAILED. USER: Petrov. IP: 192.168.3.13
2017-08-01 01:21:14.646 INFO AUTH: LOGIN FAILED. USER: Petrov. IP: 192.168.3.13
2017-08-01 01:22:09.179 INFO AUTH: LOGIN SUCCESS. USER: Ivanov. IP: 192.168.0.1
2017-08-01 01:23:02.116 INFO AUTH: LOGIN SUCCESS. USER: Petrov. IP: 192.168.3.13
Следующим шагом необходимо установить Arcsight SmartConnector и написать FlexConnector к текущему log-файлу.
Убедимся что наш коннектор успешно добавлен в Arcsight ESM.
После написания FlexConnector, необходимо указать путь к конфигурационному файлу.
C:$ARCSIGHT_HOMEcurrentbin> .runagentsetup.bat
Написать FlexConnector под LOG File можно 3 способами:
В каталоге $ARCSIGHT_HOMEcurrentuseragentflexagent
создаем конфигурационный файл MyTest_MyParser_1.sdkrfilereader.properties
.
Образец готового файла:
#MyTest MyParser Configuration File
replace.defaults=true
trim.tokens=true
comments.start.with=#
#2017-08-01 01:18:00.579 INFO AUTH: LOGIN SUCCESS. USER: Ivanov. IP: 192.168.0.1
regex=(.*)\sINFO\sAUTH\D\s(.*)\D\sUSER\D\s(.*)\D\sIP\D\s(.*)
token.count=4
token[0].name=Date
token[0].type=TimeStamp
token[0].format=yyyy-MM-dd HH:mm:ss.SSS
token[1].name=Name1
token[1].type=String
token[2].name=Username
token[2].type=String
token[3].name=UserAddress
token[3].type=IPAddress
additionaldata.enabled=false
event.deviceVendor=__stringConstant(MyTest)
event.deviceProduct=__stringConstant(MyParser)
event.endTime=Date
event.name=Name1
event.sourceUserName=Username
event.sourceAddress=UserAddress
Структура файла очень проста.
#MyTest MyParser Configuration File
replace.defaults=true
trim.tokens=true
comments.start.with=#
#2017-08-01 01:18:00.579 INFO AUTH: LOGIN SUCCESS. USER: Ivanov. IP: 192.168.0.1
regex=(.*)\sINFO\sAUTH\D\s(.*)\D\sUSER\D\s(.*)\D\sIP\D\s(.*)
token.count=4
token[0].name=Date
token[0].type=TimeStamp
token[0].format=yyyy-MM-dd HH:mm:ss.SSS
token[1].name=Name1
token[1].type=String
token[2].name=Username
token[2].type=String
token[3].name=UserAddress
token[3].type=IPAddress
event.deviceVendor=__stringConstant(MyTest)
event.deviceProduct=__stringConstant(MyParser)
event.endTime=Date
event.name=Name1
event.sourceUserName=Username
event.sourceAddress=UserAddress
Данный способ является простым в написании и самым популярным по использованию среди специалистов Arcsight.
Из минусов могу отметить только поиск ошибок, но данная проблема решается запуском коннектора в состоянии “Leave as a standalone application” где мы увидем всю техническую информацию.
C:$ARCSIGHT_HOMEcurrentbin> .arcsight.bat regex
Данная утилита позволяет создать конфигурационный файл для нашего коннектора.
$ARCSIGHT_HOMEcurrentuseragentflexagent
с расширением файла FILE_NAME.sdkrfilereader.properties. (.*)sINFOsAUTHDs(.*)DsUSERDs(.*)DsIPDs(.*)
Утилита regex не позволяет выбрать для формата IPAddress поле event.sourceAddress, поэтому его необходимо дописать руками:
event.sourceAddress=UserAddress
Так же обязательными полями являются Device Product и Device Vendor. Добавим в конфигурационный файл следующие строки:
event.deviceVendor=__stringConstant(MyTest)
event.deviceProduct=__stringConstant(MyParser)
Запускаем коннектор, генерируем новые события в log-файл и проверяем поступление событий в Arcsight ESM.
Можно проверить корректность регулярного выражения нажав кнопку “Matching details”.
Далее для каждого ключа указываем тип, формат, описание и поле для мапинга
$ARCSIGHT_HOMEcurrentuseragentflexagent
Запускаем коннектор, генерируем новые события в log-file и проверяем поступление событий в Arcsight ESM.
Итог: В статье были указаны базовые навыки для написания FlexConnector, но если вам интересны такие фишки как категоризация, submessage, mapping и т.д., то буду готов описать их в следующих статьях.
Автор: Viktor Gordeev
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/266000
Ссылки в тексте:
[1] Источник: https://habrahabr.ru/post/340396/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox
Нажмите здесь для печати.