ArcSight Forwarder Connector. Пошлём куда захотим
Добрый день, хабрасообщество!
В данной статье я поделюсь своим практическим опытом по выгрузке событий из ArcSight ESM. Детально рассмотрю функциональность и предоставлю пошаговую инструкцию по настройке ArcSight Forwarder Connector, а так же опишу интересные лайфхаки.
Для начала давайте разберёмся зачем события вообще отправлять из Arcsight ESM (ведь им и в БД неплохо живется).
- Ваша компания имеет несколько ESM серверов и стоит задача оправлять события в центральный ArcSight ESM для глобальной корреляции
- У вас имеется сторонняя система (например ELK) в которую необходимо отправлять события от ArcSight
- Отправка событий по syslog в CEF-формате
- Выгрузка событий в CSV-файл для дальнейшей работы
Все эти пункты мы можем реализовать при помощи ArcSight Forwarder Connector, но первичная настройка начинается на самом ArcSight ESM:
Для начала создадим учётную запись, которая будет использоваться для выгрузки событий из ESM.
В навигационной панели переходим в раздел «Users» и в каталоге «Customer User Groups» создадим свой каталог «Forwarder Events»
Нажимаем на вновь созданную группу «Forwarder Event» и создаем пользователя, например «fwd»
Для нового пользователя необходимо задать тип учётной записи и пароль.
User Type = Forwarding Connector
Теперь необходимо создать фильтр для тех событий, которые мы хотим выгружать из Arcsight ESM. Для этого в навигационной панели выбираем раздел «Filters» и создаем фильтр с необходимыми нам условиями.
Например, я планирую выгружать все корреляционные события из ESM, поэтому мой фильтр будет выглядеть следующим образом
После того как создан фильтр, его необходимо наложить на группу «Forwarder Events», в которую входит пользователь «fwd».
Переходим в навигационную панель в раздел «Users» и для группы «Forwarder Events» выбираем «Edit Access Control»
Далее в «ACL Editor» переходим во вкладку «Events» и нажимаем «Add» для добавления нашего, созданного ранее, фильтра
На этом все настройки со стороны Arcsight ESM закончены
После создания учётной записи и фильтрации на Arcsight ESM, мы можем приступить к установке и настройке Arcsight Forwarder Connector
Первым делом нам необходимо сделать наш файл исполняемым:
chmod +x ArcSight-7.5.0.7986.0-SuperConnector-Linux64.bin
Теперь приступим к установке самого коннектора:
./ArcSight-7.5.0.7986.0-SuperConnector-Linux64.bin
Ознакомимся с информацией, нажимаем «Enter» и указываем каталог установки:
/opt/arcsight/forwarder
Далее отказываемся от создания ссылок выбрав пункт »4» и подтверждаем установку
В конце мы получим информацию об успешной установке и дальнейшие указания по запуску настройщика коннектора
Теперь сделаем предварительную настройку
Запускаем ./runagentsetup.sh/opt/arcsight/forwarder/current/bin/runagentsetup.sh
Выбираем пункт «Add a Connector» и тип «ArcSight Forwarding Connector (Enhanced)»
Далее коннектор предложит вам скрыть ввод параметров (логин/пароль)
Теперь задаём параметры ESM-сервера с которого мы будем забирать события и указываем параметры ранее созданной учётной записи «fwd»
Теперь необходимо импортировать сертификат ArcSight ESM на наш коннектор
Когда интеграция с ESM прошла успешно, коннектор предложит вам несколько вариантов передачи событий
Далее я опишу настройку под каждый из вариантов
Настройка типов назначения:
Теперь указываем название коннектора, который появится на сервере назначения ESM
Импортируем сертификат на коннектор
На этом настройка закончена. Осталось определиться только с параметром запуска коннектора. Мы можем установить коннектора как службу с автоматическим запуском, либо как приложение, которое необходимо запускать вручную /opt/arcsight/forwarder/current/bin/arcsight agents
Я обычно выбираю создание службы с автоматическим запуском
На сервере назначения проверяем регистрацию коннектора и поступление событий на него
Даём название нашему получателю и выбираем тип получаемых событий
Теперь переходим к настройке на коннекторе
Задаём параметры для подключения к Logger и указываем наш созданный Receiver — FWD_ESM
Импортируем сертификат для коннектора
Проверяем поступление событий на ArcSight Logger
Проверяем поступление событий, например в ELK
Маленькие хитрости при работе с Arcsight Forwarder Connector
Для этого нам необходимо указать ID-коннектора и ID-пользователя в качестве параметра, а так же прописать всё это в конфигурационный файл ESM.
ID-коннектора можно узнать командой
cat /opt/arcsight/forwarder/current/user/agent/agent.properties | grep entityid
ID-пользователя «fwd» можно посмотреть в его профиле на ESM
Далее нам необходимо на самом сервере 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)
Запускаем сервер ESM/etc/init.d/arcsight_services start all
Теперь корреляционные события будут выгружаться вместе с базовыми
/opt/arcsight/forwarder/current/bin/runagentsetup.sh
Выбираем «Modify Connector»
Далее «Add, modify, or remove destinations»
Далее выбираем для какого источника назначения будет производится фильтрация
Выбираем «Modify destination settings»
В этом меню задаются все настройки коннектора. В нашем случае необходим пункт 10 — Filters
Назначаем фильтрацию: в моём случае отбрасывать все события, которые НЕ РАВНЫ значению в поле deviceVendor.
Таким образом мы можем отправлять разнообразный поток событий на Forwarder Connector и раскидывать события в нужный нам источник назначения
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
В итоге мы можем наблюдать что ArcSight имеет массу возможностей по интеграции, как со своими системами, так и с внешними источниками. Но правды ради, стоит сказать, что поток событий постепенно увеличивается, одни и те же события необходимо отправлять в несколько источников, должно быть постоянное взаимодействие различных систем… и тут возможности обычного коннектора заканчиваются.
Поэтому инженерами Micro Focus была разработана новая архитектура, которая получила название ArcSight Data Platform. Отличительной особенностью данной архитектуры является продукт ArcSight Event Broker, который служит для маршрутизации огромного потока событий в различные системы (ESM, Logger, UEBA, Investigate, Hadoop и т.д.) и способен обрабатывать более 500 000 EPS!!!