# Обогащение произвольного поля с утилитой Tracer

<p class="callout info">Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и **НЕ** является официальной рекомендацией вендора.</p>

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-02/scaled-1680-/y3dimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-02/y3dimage.png)

Утилита (скрипт) была написана для получения возможности обогощать событие по значению поля со сторонних систем с использованием языка программирования Python3. Tracer.py мимикрирует под механизм обогащения аналогично CyberTrace, с обогащенными данными можно работать подобно обогащению Threat Intelligence. Утилита может работать как на Linux (рекомендуется), так и Windows платформах (ОС).

<p class="callout warning">**Для продвинутых пользователей!** Для работы с Tracer.py требуются навыки программирования Python3</p>

Скрипт можно загрузить по [ссылке](https://kas.pr/kuma-ppack) в Пресейл-Паке контенте.

Необходимые библиотеки для работы Tracer.py:

<div id="bkmrk-import-socket-from-s"><div>- import socket
- from select import select
- from signal import signal
- from sys import platform
- from re import match
- from datetime import datetime
- from dateutil.relativedelta import relativedelta

</div></div>Для использования TCP\_FASTOPEN (рекомендуется) на ОС Linux выполните команду ниже:

```bash
echo 3 > /proc/sys/net/ipv4/tcp_fastopen
```

Предварительные правки для Tracer.py:

<div id="bkmrk-server-%3D-%22127.0.0.1%22">- SERVER = "127.0.0.1" (строка кода 14) - укажите IP-адрес для прослушивания
- PORT = 16666 (строка кода 15) - укажите порт для прослушивания
- Обогащение данными производится в строках 72-74, в переменную somedata можно добавить произвольные данные полученные любым способом (из файла, БД, GET запросом и т.д.), таже можно использовать и другие поля (см строку 74 кода - extraInfo=KUMA\_THE\_BEST\_SIEM) с разделитетем "|"

</div>На стороне KUMA нужно прописать следующее обогащение:

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-01/scaled-1680-/Umzimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-01/Umzimage.png)

По картинке выше, обогащается значение поля Code и сопоставляется с полем Tracer - url. Производительность скрипта состовляет ~ 50 EPS, при рекомендуемой настройке Enrichment: 50 connections и 100 RPS.

<p class="callout warning">Возможно использовать только поле url в сопоставлении, но туда можно поместить произвольные данные</p>

При обогащении события получаем следующие обогащенные данные:

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-01/scaled-1680-/Bczimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-01/Bczimage.png)

Так как используется "нелегальный" механизм обогащения в логах коллектора копятся (периодически очищайте) ошибки следующего вида:

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-01/scaled-1680-/sxmimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-01/sxmimage.png)