LogMan.io Assets configuration¶
LogMan.io Assets vyžaduje následující závislosti:
- Apache ZooKeeper
- Apache Kafka
- MongoDB
- SeaCat Auth
- Knihovna LogMan.io s
/EventLanes/(aktivity a komplexní dráhy) a schématy nájemců v/Schemas/ - LogMan.io Watcher (volitelné, pro vyhledávání váhy rizikového skóre pro jednotlivé zdroje)
Model¶
Zahrňte službu do modelu stránky a klikněte na Použít:
define:
type: rc/model
services:
lmio-assets:
instances:
<tenant>-1:
node: <node>
asab:
config:
tenant:
name: <tenant>
Příklad¶
Minimální konfigurace ASAB:
[zookeeper]
servers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181
[library]
providers=zk:///library
[kafka]
bootstrap_servers=kafka-1:9092,kafka-2:9092,kafka-3:9092
[asab:storage]
type=mongodb
mongodb_uri=mongodb://mongodb1,mongodb2,mongodb3/?replicaSet=rs0
mongodb_database=assets
[auth]
multitenancy=yes
public_keys_url=http://seacat-auth.service_id.asab/.well-known/jwks.json
[pipeline:ActivityAssetsPipeline:KafkaSource]
group.id=lmio_assets
[pipeline:ComplexAssetsPipeline:KafkaSource]
group.id=lmio_assets
Témata nejsou v INI pevně zadána: po připravení knihovny služba objeví každý tenantův soubor activity.yaml a complex.yaml a přihlásí se k jejich tématům událostí v Kafka.
Zprávy o aktivitě jsou generovány LogMan.io Parsec IndicatorOfActivityProcessor (hlavní host.id / user.id, pomocné related.*, observer.name, observer.type). Název hlavních polí a vyhledávání identity pochází z /Schemas/Mappings/Asset_<schema>.yaml sloučeného s parsec.asset u každé Parsec události. Viz Správa aktiv Parsec.
sekce [assets]¶
| Klíč | Výchozí | Popis |
|---|---|---|
mongo_collection |
assets |
Mongo kolekce pro řádky aktiv |
mongo_tags_collection |
asset_tags |
Sbírka značkového přívěsku |
mongo_suppress_collection |
asset_suppress |
Sdílené slučování/mazání potlačit (víceinstanční) |
activity_mongo_batch_max |
100 |
Aktualizace aktivit před bulk_write |
activity_mongo_batch_max_age |
60 |
Maximální počet sekund před částečným vyprázdněním aktivity (0 = pouze velikost) |
complex_mongo_batch_max |
100 |
Vzorky skóre rizika před vyprázdněním Mongo |
complex_mongo_batch_max_age |
60 |
Maximální počet sekund před částečným vyprázdněním rizika |
default_alert_after_host |
3d |
alert_after on first host insert when Library does not override (0 = disabled) |
default_alert_after_user |
7d |
alert_after on first user insert when Library does not override (0 = disabled) |
default_alert_after_service |
3d |
alert_after on first service insert when Library does not override (0 = disabled) |
stale_alert_cooldown_sec |
1h |
Minimální interval mezi opakováním up, zatímco je stále zastaralé (v paměti) |
stale_alert_reopen_cooldown_sec |
1d |
Po zotavení down zablokujte další up, dokud neuplyne tato doba (stale_reopen_after u aktiva) |
risk_score_decay_half_life |
24h |
Poloviční doba rizika entity (viz Skóre rizika entity) |
risk_score_decay_clear_below |
0.5 |
Vymazat zkažené skóre pod tímto |
risk_score_cas_retries |
8 |
Optimistické opakování souběžného zpracování pro sloučení skóre rizika |
deleted_activity_suppress_ttl |
600 |
Ignorovat Kafka upsert po HTTP delete (0 = vypnuto); Mongo TTL |
bulk_asset_ids_max |
(žádný) | Maximální počet hodnot asset_id na požadavek hromadného mazání / hromadné úpravy (0 nebo prázdné = bez omezení) |
Výchozí nastavení knihovny (/Assets/Defaults/)¶
Přepište nastavení alert_after pro každý typ, které se uplatňuje při vytvoření nového aktiva (vložením aktivity nebo vytvořením přes HTTP bez explicitně zadaného alert_after). Složité / události s hodnotou rizika nevytvářejí aktiva. Existující řádky nejsou změněny.
Umístěte YAML do /Assets/Defaults/ (například settings.yaml) s define.type: assets/defaults:
define:
type: assets/defaults
alert_after:
host: 3d
user: 7d
service: 3d
| Klíč | Význam |
|---|---|
alert_after.host / .user / .service |
Doba trvání (3d, 7d, 2h) nebo sekundy; 0 zakáže výchozí hodnotu pro tento typ |
Priorita: Klíč typu knihovny (pokud je přítomen) → [assets] default_alert_after_<kind> → vestavěný (3d / 7d / 3d). Vynechte typ v YAML, aby se zachovala hodnota INI pro tento typ. Vrstva knihovny nájemce přepisuje soubor Common Library.
Knihovna Common Library dodává /Assets/Defaults/settings.yaml se stejnými hodnotami jako výchozí hodnoty INI.
Knihovna přeskočit (/Assets/Skip/)¶
Filtrovat hostitelské a uživatelské zdroje (aktivitu a komplexní). Porovnávání je bez rozlišování velikosti písmen (kromě min_hyphens, který počítá znaky -).
| Klíč | Zápas |
|---|---|
names / exact |
Celý řetězec |
prefixes |
Začíná s |
suffixes |
Končí (příponou) |
contains |
Podřetězec |
min_hyphens |
Název obsahuje alespoň tolik znaků - (0 = vypnuto) |
ip |
Titulek je čistá adresa IPv4 nebo IPv6 (true / false) |
define:
type: assets/skip
host:
names:
- localhost
prefixes:
- temp-
contains:
- "-dhcp-"
user:
names:
- SYSTEM
- LOCAL SERVICE
prefixes:
- "urn:"
- "NT AUTHORITY\\"
suffixes:
- "$"
contains:
- svc_
min_hyphens: 4
ip: true
Výchozí hodnoty Common Library zahrnují předponu uživatele urn:, min_hyphens: 4, Windows příponu účtu počítače $, zástupné znaky (n/a, -, unknown) a ip: true.
Chcete-li odfiltrovat stejné vzory dříve, než dosáhnou tématu aktivit Kafka, nakonfigurujte událostní linku Parsec parsec.asset.skip (viz Správa aktiv Parsec). Parsec skip nepodporuje min_hyphens; podporuje ip.
Když zdroj zapíše holou IP do host.hostname a vy nechcete, aby došlo k záloze a kopírování do host.id, nastavte parsec.asset.skip.host.ip: true na této událostní linii (Přeskočit IP adresy používané jako názvy hostitelů). To je platné pro jednotlivou linii a nenahrazuje /Assets/Skip/ host.ip.
Oznámení o nových aktivech (okamžité + naplánované)¶
Aktiva LogMan.io mohou vysílat oznámení asab-iris (stejná cesta JSON Kafka jako lmio-alerts) pro aktiva zjištěná ze streamu aktivit. Rutinní aktualizace last_seen nezasílají oznámení. Komplexní / risk-score cesta nevytváří aktiva.
- Okamžitě: když je dokument aktiva poprvé vložen (Mongo
upserted_ids); jakýkoli instance může odeslat, deduplikováno pro každé aktivum přes Mongonotification_sent. - Plánovaný přehled: pouze vedoucí ZooKeeper; pro
(tenant, channel)v okně sledovače. Po vypršeníperiod(Knihovna nebo INI) jeden souhrn uvádí aktiva sfirst_seenpo offsetu sledovače.
sekce [notifications]¶
| Klíč | Výchozí | Popis |
|---|---|---|
topic |
notifications |
Kafka téma pro JSON zprávy asab-iris |
enabled |
yes |
Hlavní vypínač; no zakáže všechna oznámení o nových aktivech |
tracker_collection |
notification_trackers |
Mongo kolekce pro naplánované posuny souhrnu |
sent_collection |
notification_sent |
Mongo dedup markery pro okamžitá oznámení (jeden řádek na asset _id) |
digest_max_assets |
50 |
Maximální počet řádků aktiv v šabloně digestu new_assets (celkový počet je vždy v new_assets_count) |
Doručení kanálu (INI volitelné, Knihovna na nájemníka)¶
Sekce INI [notification:*] poskytují globální výchozí hodnoty (náhradní řešení, když soubor Knihovny nájemce nenastaví doručení). Pro e-mail můžete nakonfigurovat from, to a period zcela v souboru /Assets/Notifications/settings.yaml nájemce bez jakékoli INI sekce kanálu.
Volitelné výchozí hodnoty INI:
[notification:email]
from=noreply@example.com
to=soc@example.com
period=1h
[notification:slack]
period=3600
[notification:sms]
phone=+420000000000
[notification:push]
topic=assets
Nastavení knihovny¶
Pro každého nájemce umístěte YAML do /Assets/Notifications/ (například settings.yaml) s define.type: assets/notifications:
instant:umožňuje jednorázové zprávy pro tento kanálscheduled:umožňuje periodické souhrny pro tento kanál- volitelné nastavení na úrovni kanálu
from,to,period(e-mail),phone(sms),topic(push) - volitelné nastavení na úrovni kanálu
schedule:tichá období (atcron,duration,action: delay|discard), stejné jako u lmio-alerts - volitelné
params/excludeuvnitřinstant/scheduled(attribute/op/value, operátoryeq/gt/gte/lt/lte)
define:
type: assets/notifications
email:
from: noreply@example.com
to:
- soc@example.com
period: 1h
instant:
params:
template: /Templates/Email/Asset Created.md
exclude:
- attribute: type
op: eq
value: user
scheduled:
params:
template: /Templates/Email/Asset Summary.md
exclude:
- attribute: type
op: eq
value: user
schedule:
- at: "0 16 * * *"
duration: 14h
action: delay
slack:
scheduled: {}
Výchozí cesty šablon (nasadit samostatně v Knihovně):
- Okamžité:
/Templates/{Email,Slack,SMS,Push}/Asset Created.md - Naplánované:
/Templates/{Email,Slack,SMS,Push}/Asset Summary.md
Okamžité parametry: tenant, asset_id, type, title, first_seen / last_seen (ISO UTC), name, description.
Plánované parametry: tenant, name, description, new_assets_count, new_assets (seznam {asset_id, type, title, first_seen}).
HTTP API¶
Služba standardně poslouchá na tcp/8965. Odpovědi obsahující seznam aktiv a detaily zahrnují zdecimované risk_score, first_seen, last_seen, a vypočítané active.
active není Mongo pole. Je true, když now − last_seen je v rozmezí alert_after sekund (pokud alert_after ≥ 1), jinak je to během 7 dní. Podrobnosti: Aktivní vs neaktivní a Manuál analytika.
Seřadit podle rizika entity s parametrem dotazu srisk_score.
Volitelné přepsání váhy skóre rizika pro jednotlivý majetek se spravuje z detailního rozhraní majetku (a prostřednictvím HTTP API pro automatizaci). Viz Skóre rizika entity.