Entity Correlator
Příklad
define:
name: Detekce chování uživatelské entity
description: Detekce chování uživatelské entity
type: correlator/entity
rozpětí: 5
zpoždění: 5m # doba analýzy = zpoždění + rozlišení
predikát:
!AND
- !EQ
- !ITEM EVENT zpráva
- "FAIL"
- !EQ
- !ITEM EVENT device.vendor
- "Microsoft"
- !EQ
- !ITEM EVENT device.product
- "Exchange Server"
vyhodnotit:
dimenze: [tenant, source.user]
by: # Název pole události s časem události
resolution: # jednotka je sekunda
lookup_seen: active_users
lookup_lost: inactive_users
spouštěče:
ztracené:
- událost:
!DICT
typ: "{str:any}"
with:
name: "User lost detected on periodic analysis"
type: "Correlation"
severity: "Low"
seen:
- událost:
!DICT
typ: "{str:any}"
with:
name: "User seen detected on periodic analysis"
type: "Correlation"
severity: "Low"
Sekce define
Tato sekce obsahuje společnou definici a metadata.
Položka name
Kratší lidsky čitelný název této deklarace.
Item type
Typ této deklarace, musí být correlator/entity
.
Položka span
Určuje šířku okna.
Jednotkou je rozlišení
.
Položka delay
(nepovinné)
Analýza proběhne po zadané době v sekundách a tato doba je založena na rozlišení
.
Pokud je potřeba tuto dobu prodloužit, a tedy analýzu zpozdit, lze zadat možnost delay
, například 300
(300 sekund), 1h
(3600 sekund / jedna hodina) atd.
Položka field_alias
Název vyhledávače aliasů polí, který se má načíst, aby bylo možné v deklaraci použít aliasové názvy atributů událostí vedle jejich kanonických názvů.
Položka aggregation_count_field
Název atributu, který určuje počet událostí v rámci jedné agregované události, a tím ovlivňuje součet událostí v analýze. Výchozí hodnota je 1.
Položka disabled
Logická hodnota, která určuje, zda je deklarace zakázána/povolena pro korelaci. Výchozí hodnota je false.
Položka description
(nepovinné)
Dlouhý, případně víceřádkový, lidsky čitelný popis deklarace.
Sekce predicate
(nepovinné)
Predikát
filtruje příchozí události pomocí výrazu.
Pokud výraz vrátí hodnotu True
, vstoupí událost do sekce evaluate
.
Pokud výraz vrátí False
, událost se přeskočí.
Ostatní vrácené hodnoty jsou nedefinované.
Včetně vnořených predikátových filtrů
Predikátové filtry jsou výrazy umístěné ve vyhrazeném souboru, které lze zahrnout do mnoha různých predikátů jako jejich části.
Pokud chcete zahrnout externí filtr predikátu, který se nachází buď ve složce include
, nebo ve složce filters
.
(jedná se o globální složku umístěnou v nejvyšší hierarchii knihovny LogMan.io),
použijte příkaz !INCLUDE
:
!INCLUDE predicate_filter
kde predicate_filter
je název souboru s příponou .yaml
.
Obsahem souboru predicate_filter.yaml
je výraz, který má být zahrnut, jako např:
---
!EQ
- !ITEM EVENT category
- "MyEventCategory"
Sekce vyhodnotit
Sekce evaluate
určuje primární klíč, rozlišení a další atributy, které se použijí na příchozí událost.
Funkce evaluate
má za úkol přidat událost do dvourozměrné struktury definované časem a prvotním klíčem.
Položka dimension
Určuje jednoduchý nebo složený primární klíč (nebo dimenzi) pro událost.
Rozměr dimension
je definován názvy vstupních polí události.
Příklad jednoduchého primárního klíče:
vyhodnotit:
dimenze: Název zákazníka
Příklad složeného primárního klíče:
vyhodnotit:
dimenze: [CustomerName, DestinationAddress, DestinationHostname]: ```: [CustomerName, DestinationAddress, DestinationHostname]
Pokud je přesně jedna dimenze jako DestinationHostname
v původní události seznamem
a korelace by měla proběhnout pro každou z hodnot dimenze, měla by být dimenze zabalena do [``
]`:
vyhodnotit:
dimenze: [CustomerName, DestinationAddress, [DestinationHostname]]: ```: [CustomerName, DestinationAddress, [DestinationHostname]].
Položka by
Určuje název pole vstupní události, které obsahuje informaci o datu/času, jež bude použita pro vyhodnocení.
Položka resolution
(nepovinné)
Určuje rozlišení časové agregace korelátoru. Jednotkou je sekunda.
vyhodnotit:
rozlišení: # 1 hodina
Výchozí hodnota: 3600
Položka lookup_seen
lookup_seen
určuje ID vyhledávání, kam se zapisují viděné entity s časem posledního vidění.
Položka lookup_lost
lookup_lost
určuje ID vyhledávání, kam se mají zapisovat ztracené entity s časem poslední analýzy
Sekce triggers
Sekce triggers
určuje druhy akcí, které mají být provedeny při periodické analýze.
Podporovány jsou akce ztratil
a viděl
.
Podrobnosti viz kapitola correlator triggers.
Spouštěče seen
Spouštěče Seen se spustí, když analýza najde události, které vstoupily do okna v analyzovaném čase.
Dimenzi (název entity) lze získat pomocí !ITEM EVENT dimension
.
Časové razítko poslední události, která vstoupila do okna v zadané dimenzi, lze získat prostřednictvím !ITEM EVENT last_event_timestamp
(entita aktualizována).
Příklad:
viděno:
- vyhledávání: user_inventory
klíč: !ITEM EVENT dimenze
set:
last_seen: !ITEM EVENT last_event_timestamp
lost
spouští
Ztracené spouštěče se provedou, když analýza zjistí, že v analyzovaném čase nepřišla do zadané dimenze žádná událost (odpadnutí entity).
Dimenzi (název entity) lze získat prostřednictvím !ITEM EVENT dimension
.
Příklad:
ztraceno:
- událost:
!DICT
typ: "{str:any}"
with:
name: "User drop detected on periodic analysis"
type: "Correlation"
severity: "Low"