derive
Процессор derive
Процессор derive создаёт новые события на основе данных из обрабатываемого события. В отличие от процессора enrich, который добавляет поля к существующему событию, derive порождает дополнительные события, которые обрабатываются далее по конвейеру независимо от исходного.
Конфигурация
processors:
- module: derive
type: "<тип деривера>"
timeout: 2s
cache-ttl: 5m
disable-cache: false
deriver-config:
# параметры конкретного типа
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
type | string | — | Тип деривера (например, ioc) |
timeout | duration | — | Таймаут запроса к внешнему сервису |
cache-ttl | duration | — | Время жизни записей в кеше |
disable-cache | bool | false | Отключить кеширование |
deriver-config | object | — | Конфигурация конкретного типа деривера |
Тип ioc
Деривер ioc проверяет значения указанных полей события по базе индикаторов компрометации. При обнаружении совпадения создаёт отдельное событие-индикатор угрозы. Исходное событие сохраняется без изменений.
processors:
- module: derive
type: ioc
timeout: 3s
cache-ttl: 10m
deriver-config:
provider: "amtip"
lookup-fields:
- "ECS.Source.IP"
- "ECS.Destination.IP"
- "ECS.DNS.Question.Name"
| Параметр | Тип | Описание |
|---|---|---|
provider | string | Провайдер IoC-данных (например, amtip) |
lookup-fields | string[] | Поля события для проверки по базе IoC |
format | string | Формат данных провайдера (например, stix) |
Конфигурация провайдера зависит от выбранного источника. Параметры указываются на уровне deriver-config.
Конфигурация провайдера amtip:
| Параметр | Тип | Описание |
|---|---|---|
token | string | Токен аутентификации для API AMTIP. Имеет приоритет выше, чем token-secret |
token-secret | string | Название секрета KOMRAD с токеном. Игнорируется, если указан token |
base-url | string | URL ресурса AMTIP |
tls | object | Параметры TLS для запросов |
custom-fields | map[string]string | Дополнительные поля для извлечения из ответа IoC-провайдера (ключ — имя целевого поля, значение — GJSON-путь в ответе) |
Пример полной конфигурации с провайдером AMTIP:
processors:
- module: derive
timeout: 500s
cache-ttl: 5s
type: ioc
deriver-config:
format: "stix"
provider: "amtip"
lookup-fields: ["ECS.Source.IP", "ECS.Destination.IP", "ECS.DNS.Question.Name"]
token-secret: "AMTIP_API_TOKEN"
base-url: "https://amtip.example.com/api/v1/ioc/"
tls:
disable: false
custom-fields:
blacklists: 'objects.#(name%Blacklists).result'
Подробнее об API AMTIP см. Получение IoC из внешних источников (AMTIP).
Отличие от enrich ioc
enrich с типом ioc | derive с типом ioc | |
|---|---|---|
| Результат | Добавляет поля IoC в исходное событие | Создаёт отдельное событие-индикатор |
| Исходное событие | Модифицируется | Сохраняется без изменений |
| Применение | Пометка события как связанного с угрозой | Генерация отдельных событий для обработки в корреляции |