Обогащение событий
В качестве источников обогащения событий в Платформе используются следующие типы обогащений:
-
GeoIP
-
DNS
-
Threat Intelligence
-
RVS
-
Lookups
Настройка GeoIP обогащения
GeoIP обогащение работает на основе базы IP-адресов GeoLite от MaxMind’s.
-
Для работы необходимо получить базу GeoLite2-City.mmdb и положить ее на экземпляр модуля обработки событий.(https://dev.maxmind.com/geoip/geolite2-free-geolocation-data?lang=en)
-
Далее в конфигурационном файле модуля обработки событий
/opt/pangeoradar/configs/termite/conf.yaml
необходимо добавить следующие записи:geoip: enabled: true db-path: /etc/termite/GeoLite2-City.mmdb # путь до файла с базой ip-адресов
-
Далее необходимо перезапустить сервис pangeoradar-termite.
В результате, события должны обогащаться GeoIP информацией, как изображено на рисунке 1.
Рисунок 1 -- Обогащенное GeoIP событие
Настройка DNS обогащения
DNS обогащение может работать как от .csv файла с базой FQDN и IP-адресов, так и получая информацию от DNS сервера. Можно использовать оба способа единовременно.
DNS обогащение по сети
Для организации работы DNS обогащения по сети необходимо произвести настройку в конфигурационном файле модуля обработки событий /opt/pangeoradar/configs/termite/conf.yaml
добавив туда следующие записи:
dns:
enabled: true
domains:
- demo.local # Домены для dns обогащения
nets: [192.168.0.0/16] # Сети для dns обогащения
servers: [192.168.150.15] # Сервера для dns обогащения
port: 53 # Порт для dns обогащения
local: false # вкл/выкл только локальное dns обогащение
in_memory: # dns-кэш
enabled: true # вкл/выкл dns-кэш
expire: 10800 # время (сек) через которое записи удаляются из кеша
Локальное DNS обогащение
Для организации работы DNS обогащения из файла необходимо произвести настройку в конфигурационном файле модуля обработки событий /opt/pangeoradar/configs/termite/conf.yaml
добавив туда следующие записи:
dns:
enabled: true
domains:
- demo.local # Домены для dns обогащения
nets: [192.168.0.0/16] # Сети для dns обогащения
local: true # вкл/выкл только локальное dns обогащение
in_memory: # dns-кэш
enabled: true # вкл/выкл dns-кэш
expire: 10800 # время (сек) через которое записи удаляются из кеша
preload_from_file: /opt/pangeoradar/configs/termite/demo.local-output.csv # Путь до файла csv
Пример представления CSV файла с перечнем FQDN и IP-адресов:
'test1.demo.local','192.168.1.1'
'192.168.1.100','test3.demo.local'
В результате, события должны обогащаться DNS информацией, как изображено на рисунке 2.
Рисунок 2 -- Обогащенное DNS событие
Настройка Threat Intelligence обогащения
Threat Intelligence обогащение работает на основе баз угроз безопасности, получаемых Платформой различных поставщиков.
Для просмотра базы Threat Intelligence необходимо в интерфейсе Платформы перейти в раздел “Репутационные списки”. Раздел изображен на рисунке 3.
Рисунок 3 -- Репутационные списки
TI обогащение позволяет наполнять дополнительной информацией события, содержащие:
Домен-URL, IP - адрес, SSL хэш, Хэш файлов из базы угроз.
Для работы TI - обогащения необходимо в конфигурационном файле модуля обработки событий /opt/pangeoradar/configs/termite/conf.yaml
добавить следующие записи:
# Пример настройки при Standalone инсталляции:
threatintel: # threat intelligence обогащение
enabled: true
service-url: http://localhost:8082/
db-path: ./threat.db
В результате, события должны обогащаться TI информацией, как изображено на рисунке 4.
Рисунок 4 -- Обогащенное TI событие
Настройка RVS обогащения
RVS обогащение работает на основе табличных списков.
-
Для настройки RVS обогащения необходимо в табличном списке создать коллекцию (вручную или специальными средствами для обогащения).
Работа с интерфейсом табличных списков представлена в руководстве по работе с RVS (табличные списки) ;
-
Далее, в созданной коллекции, необходимо добавить документ, пример которого изображен на рисунке 5.
Рисунок 5 -- Табличные списки
Созданный документ в json формате:
{ "name": "192.168.200.3", "ip": [ "192.168.200.3" ], "fqdn": [], "mac": [ "00:0c:29:b9:7a:11" ], "groups": [ "Рабочие станции" ] }
-
В конфигурационном файле модуля обработки событий
/opt/pangeoradar/configs/termite/conf.yaml
необходимо добавить следующие записи:rvs: enabled: false # включение rvs обогащения host: <IP-адрес-Платформы> # адрес MongoDB (роль: Мастер) inmemory_collection_size: 60 # размер коллекции, хранящийся в памяти mapping: # настройка сопоставления для обогащений 2162-Cisco-NetFlow: # название источника (event.logsource.input) asset_info: # название коллекции - enrich_from: # настройка проверки совпадения полей коллекции и нормализованного события collection_field: ip # поле в коллекции, сопоставляемое с полем в нормализованном событии normalized_field: initiator.host.ip # поле в нормализованном событии, сопоставляемое с полем коллекции - enrich_to: # настройка обогащения полей из коллекции в поля нормализации collection_field: mac # содержимое поля в коллекции normalized_field: initiator.interface.mac # целевое поле в нормализованном событии no_verify: true # не проверять сертификат port: 27017 # порт MongoDB secure: true # использование SSL update_interval: 60 # частота обновлений
Таким образом, обогащение производится по следующему принципу:
Если приходит событие, в котором значение поля нормализованного события initiator.host.ip равно значению поля ip одного из документов коллекции в RVS - заменять/добавлять в поле initiator.interface.mac нормализованного события, значение поля mac документа в RVS.
Пример:
В Платформу приходит событие:
"Version":9,"SysUpTimeMilisec":2549185408,"EventReceivedTime":"2022-02-17T17:31:42+03:00","MessageSourceAddress":"192.168.200.1","SourceIPv4Address":"192.168.200.3","DestIPv4Address":"172.30.254.128","inputSNMPIface":3,"outputSNMPIface":2,"InPackets":1,"InBytes":226,"postPacketDeltaCount":2,"postOctetDeltaCount":78,"FlowStart":1645108153,"FlowEnd":1645108153,"SourcePort":53,"DestPort":34420,"postNATSourceIPv4Address":"185.120.22.23","postNATDestinationIPv4Address":"192.168.150.15","postNAPTSourceTransportPort":53,"postNAPTDestinationTransportPort":61962,"privateEnterpriseNumber":2620,"natInstanceID":0,"natThresholdEvent":0,"ProtocolIdentifier":17,"TCPFlags":0
В поле initiator.host.ip значение ['192.168.200.3'], что совпадает с полем ip в одной из записей в коллекции. В результате в поле initiator.interface.mac должно записаться значение поля mac из записи в коллекции, то есть значение '00:0c:29:b9:7a:11'.
Результат обогащенного табличным списком события представлен на рисунке 6.
Рисунок 6 -- Обогащенное RVS событие
Lookup обогащение
Lookup обогащение происходит на этапе нормализации событий.
Описание Lookup представлено в разделе Специальные функции для работы с полями нормализации.