ArcSight Forwarder Connector. Пошлём куда захотим

Добрый день, хабрасообщество!

В данной статье я поделюсь своим практическим опытом по выгрузке событий из ArcSight ESM. Детально рассмотрю функциональность и предоставлю пошаговую инструкцию по настройке ArcSight Forwarder Connector, а так же опишу интересные лайфхаки.

hbakcjrchgvgnjl3jhmfl8habey.jpeg

Для начала давайте разберёмся зачем события вообще отправлять из Arcsight ESM (ведь им и в БД неплохо живется).

  • Ваша компания имеет несколько ESM серверов и стоит задача оправлять события в центральный ArcSight ESM для глобальной корреляции

    1eoczjn45nghi8k3xpmddq09txq.png

  • У вас имеется сторонняя система (например ELK) в которую необходимо отправлять события от ArcSight

    cqshbjlaproxj8a58j17y_y5ily.jpeg

  • Отправка событий по syslog в CEF-формате
  • Выгрузка событий в CSV-файл для дальнейшей работы


Все эти пункты мы можем реализовать при помощи ArcSight Forwarder Connector, но первичная настройка начинается на самом ArcSight ESM:

Первичная настройка на Arcsight ESM
Все работы производятся на последней версии Arcsight ESM 6.11 (но к предыдущим версиям это тоже применимо).
Для начала создадим учётную запись, которая будет использоваться для выгрузки событий из ESM.
В навигационной панели переходим в раздел «Users» и в каталоге «Customer User Groups» создадим свой каталог «Forwarder Events»

6_xt1gv4irjj0-tv9qdx-sjwznm.png

Нажимаем на вновь созданную группу «Forwarder Event» и создаем пользователя, например «fwd»

ucw2deioxzck86fafjlcsv6e2b0.png

Для нового пользователя необходимо задать тип учётной записи и пароль.
User Type = Forwarding Connector

eq492b1tvqgsh7dfxribx1dig9u.png

Теперь необходимо создать фильтр для тех событий, которые мы хотим выгружать из Arcsight ESM. Для этого в навигационной панели выбираем раздел «Filters» и создаем фильтр с необходимыми нам условиями.
Например, я планирую выгружать все корреляционные события из ESM, поэтому мой фильтр будет выглядеть следующим образом

d9tutdi9pneqfczwr-aq-2jcc9w.png

После того как создан фильтр, его необходимо наложить на группу «Forwarder Events», в которую входит пользователь «fwd».
Переходим в навигационную панель в раздел «Users» и для группы «Forwarder Events» выбираем «Edit Access Control»

397euijaf66e7ltlossmgtr0zes.png

Далее в «ACL Editor» переходим во вкладку «Events» и нажимаем «Add» для добавления нашего, созданного ранее, фильтра

rpavdzw_zgqd2zk37gqm8ytrxvm.png

На этом все настройки со стороны Arcsight ESM закончены


После создания учётной записи и фильтрации на Arcsight ESM, мы можем приступить к установке и настройке Arcsight Forwarder Connector

Установка и настройка ArcSight Forwarder Connector
Для установки Arcsight Forwarder Connector нам понадобится любой сервер с Linux и последняя версия (ArcSight-7.5.0.7986.0-SuperConnector-Linux64.bin) коннектора.
Первым делом нам необходимо сделать наш файл исполняемым:
chmod +x ArcSight-7.5.0.7986.0-SuperConnector-Linux64.bin
Теперь приступим к установке самого коннектора:
./ArcSight-7.5.0.7986.0-SuperConnector-Linux64.bin
Ознакомимся с информацией, нажимаем «Enter» и указываем каталог установки:
/opt/arcsight/forwarder

d_auvf8e03a99yuyfdwbd9ln5vw.png

Далее отказываемся от создания ссылок выбрав пункт »4» и подтверждаем установку

p_kjngjzhjtrz0utsgkzse5mjbu.png

В конце мы получим информацию об успешной установке и дальнейшие указания по запуску настройщика коннектора

x8_eykazcal0-9mjcwrhdi2tz0k.png

Теперь сделаем предварительную настройку
Запускаем ./runagentsetup.sh
/opt/arcsight/forwarder/current/bin/runagentsetup.sh
Выбираем пункт «Add a Connector» и тип «ArcSight Forwarding Connector (Enhanced)»

6qag4wtxrtijnaobhk231zjhqto.png

Далее коннектор предложит вам скрыть ввод параметров (логин/пароль)

vhj5gfa9e-opxbmncgbtlua1_4a.png

Теперь задаём параметры ESM-сервера с которого мы будем забирать события и указываем параметры ранее созданной учётной записи «fwd»

ozgy4yq0r-jh0tatkkmcbe9eyvg.png

Теперь необходимо импортировать сертификат ArcSight ESM на наш коннектор

kb7qelzsuhwfibjdi1341aw1euw.png

Когда интеграция с ESM прошла успешно, коннектор предложит вам несколько вариантов передачи событий

qrx40eyeryg9w9bmjmvkz3_ddvs.png

Далее я опишу настройку под каждый из вариантов


Настройка типов назначения:

Отправка событий в ArcSight ESM
Вводим данные сервера ESM, на который мы будем отправлять события. Тут уже необходимо будет указать логин и пароль стандартной учётной записи

ot6okhfc4nipl52ujuoh42buhoc.png

Теперь указываем название коннектора, который появится на сервере назначения ESM

utaq3unn1zjjhm-nrx7lnznjqxe.png

Импортируем сертификат на коннектор

yswu3nhvdzgflohjxqfufvbh7vc.png

На этом настройка закончена. Осталось определиться только с параметром запуска коннектора. Мы можем установить коннектора как службу с автоматическим запуском, либо как приложение, которое необходимо запускать вручную
/opt/arcsight/forwarder/current/bin/arcsight agents

9eqpqzoyy6qc_thsbu2tk5tngfw.png

Я обычно выбираю создание службы с автоматическим запуском

cbjpdmo729-msc-x0dt3vp_n3v0.png

На сервере назначения проверяем регистрацию коннектора и поступление событий на него

x7qfhfbb-qek4qkuntzayjcrdcy.png

5i021qp7zlbgrbzkbnlxg73loyq.png


Отправка событий в ArcSight Logger
Первым делом необходимо создать «Receiver» на самом Arcsight Logger. Для этого в Logger выбираем раздел «Configuration», далее «Receivers» и нажимаем Add.
Даём название нашему получателю и выбираем тип получаемых событий

3vkpgbucbwqi-qgqdihogaiwdqi.png

Теперь переходим к настройке на коннекторе

s8xkbr4khosjhy7ocwhlmci7cvs.png

Задаём параметры для подключения к Logger и указываем наш созданный Receiver — FWD_ESM

zdd7mixe2ac28oc4fvwkxfey5ca.png

Импортируем сертификат для коннектора

4wpbemrnw4fg-y_iyotyknim0jg.png

Проверяем поступление событий на ArcSight Logger

w9pho9vvoze6dy3ddlggfkwjt88.png


Отправка событий по Syslog в CEF-формате
Тут всё элементарно. Вводим только адрес назначения, по какому порту будем отправлять и указываем протокол передачи данных

imvcu2bh9vzd0f3kch2gppmv04g.png

Проверяем поступление событий, например в ELK

ixg3ro2lftppc2vke-w6a4khyum.jpeg


Отправка событий путём выгрузки в CSV-файл
В данном случае нам необходимо указать только каталог где будет создаваться csv-файл, какие поля выгружать и время ротации файла

9f7yer3gekdqq4l1ea3nptvpac4.png


Отправка событий в HPE Operations Manager
Передача событий происходит через SNMP-протокол с дальнейшим отображением событий в IT Operations Management

dtufrlfppv9nifq5rgyzmlrolmk.png


Маленькие хитрости при работе с Arcsight Forwarder Connector

Выгрузка корреляционных событий вместе с базовыми
По умолчанию Arcsight Forwarder Connector выгружает только корреляционные события. Но что делать, если необходимы базовые события, например для детального расследования инцидента.
Для этого нам необходимо указать ID-коннектора и ID-пользователя в качестве параметра, а так же прописать всё это в конфигурационный файл ESM.
ID-коннектора можно узнать командой
cat /opt/arcsight/forwarder/current/user/agent/agent.properties | grep entityid

xhejavss5l7jqfmdoekfk1dety4.png

ID-пользователя «fwd» можно посмотреть в его профиле на ESM

ft6-xbo4iv8g3fjsmqb1wicmtyu.png

Далее нам необходимо на самом сервере Arcsight ESM внести дополнительный параметр в файл server.properties
Останавливаем сервер
/etc/init.d/arcsight_services stop all
Вносим параметры
vi /opt/arcsight/manager/config/server.properties
eventstream.cfc=(connectro ID).(forwarder user ID)

i6pwm50dkj1lpyzorc-mzzlfrms.png

Запускаем сервер ESM
/etc/init.d/arcsight_services start all
Теперь корреляционные события будут выгружаться вместе с базовыми


Дополнительная фильтрация событий на Forwarder Connector
После установки Arcsight Forwarder Connector и подключения всех необходимых узлов назначения, запускаем
/opt/arcsight/forwarder/current/bin/runagentsetup.sh
Выбираем «Modify Connector»

dpfuskdrazpdh_qxft_cbxdalfw.png

Далее «Add, modify, or remove destinations»

gcza_ukitw_xjpicvqemg6c_1rc.png

Далее выбираем для какого источника назначения будет производится фильтрация

wddx4vwp_aepw9vwqd0fep3b9km.png

Выбираем «Modify destination settings»

gnoybp9cgx1zhtth2aq3xzu6fgk.png

В этом меню задаются все настройки коннектора. В нашем случае необходим пункт 10 — Filters

biutaw8feynjagmlvyq1mzpfhqs.png

Назначаем фильтрацию: в моём случае отбрасывать все события, которые НЕ РАВНЫ значению в поле deviceVendor.

lg6bsq-vxouasx6uztw0aqk_ez0.png

Таким образом мы можем отправлять разнообразный поток событий на Forwarder Connector и раскидывать события в нужный нам источник назначения

sugltlbtxamh79zq4b89s18ncj4.png


Настройка кодировки выгружаемых событий
Для корректного отображения событий содержащих русскоязычные символы необходимо на Forwarder Connector прописать дополнительные параметры в файле agent.wrapper.conf.
vi /opt/arcsight/forwarder/current/user/agent/agent.wrapper.conf
Вносим следующие строки (не ошибитесь с порядковой нумерацией wrapper.java.additional)
wrapper.java.additional.10=-Dfile.encoding=UTF8
wrapper.java.additional.11=-Duser.language=ru
wrapper.java.additional.12=-Duser.region=RU

dqyywcsd7wojqsyh5jdajepafim.png


В итоге мы можем наблюдать что ArcSight имеет массу возможностей по интеграции, как со своими системами, так и с внешними источниками. Но правды ради, стоит сказать, что поток событий постепенно увеличивается, одни и те же события необходимо отправлять в несколько источников, должно быть постоянное взаимодействие различных систем… и тут возможности обычного коннектора заканчиваются.

Поэтому инженерами Micro Focus была разработана новая архитектура, которая получила название ArcSight Data Platform. Отличительной особенностью данной архитектуры является продукт ArcSight Event Broker, который служит для маршрутизации огромного потока событий в различные системы (ESM, Logger, UEBA, Investigate, Hadoop и т.д.) и способен обрабатывать более 500 000 EPS!!!

© Habrahabr.ru