Konfigurace WEC¶
Specifikace vstupu: input:WEC:
listen: # Kde zveřejnit server, "5985" pro HTTP s autentizací Kerberos nebo "5986 ssl" pro HTTPS s autentizací pomocí certifikátu
output: # Kam se mají posílat příchozí události
queries: # Dotazy na události Windows oddělené novými řádky, které určují, které události Windows by měly být načteny do odběrů
read_existing_events: # (nepovinné) Upozorní stroje s Windows, zda mají poslat stávající události (true/false, výchozí: false)
last_value_storage: # Trvalé úložiště pro aktuální poslední hodnotu (výchozí: ./var/last_value_storage)
connection_retries: # (nepovinné) Kolik pokusů lze akceptovat od strojů s Windows v řadě (výchozí: 60)
connection_retries_wait: # (nepovinné) Jak dlouho v sekundách čekat na opakování pokusu o připojení (výchozí: 10.0)
heartbeat: # (nepovinné) Jak často v sekundách by měla být volána kontrola spojení při odběrech (výchozí: 60)
backlog: # (nepovinné) Určete počet nevyřízených připojení, která fronta udrží (výchozí: 128)
servertokens: # (nepovinné) Ovládá, zda bude zahrnuto pole hlavičky odpovědi 'Server' ('full') nebo bude falešné 'prod' (výchozí: full)
cors: # (nepovinné) Určete atributy CORS (výchozí: žádné)
cert: # Určete cestu k certifikátu WEC serveru
key: # Určete cestu k soukromému klíči WEC serveru
issuer_thumbprints: # Určete SHA1 otisky palce certifikátu vydavatele (CA) oddělené mezerami (např. d6986fef2104f21ab0c7ccb279217abe29c0808a)
password: # (nepovinné) Zadejte heslo k souboru s privátním klíčem (výchozí: žádné)
cafile: # (nepovinné) Určete soubor pro ověření peeru (výchozí: žádné)
capath: # (nepovinné) Určete cestu pro ověření peeru (výchozí: žádné)
ciphers: # (nepovinné) Určete vlastní SSL šifry (výchozí: žádné)
dh_params: # (nepovinné) Parametry Diffie–Hellman (D-H) pro výměnu klíčů (TLS) (výchozí: žádné)
verify_mode: # (nepovinné) Prázdné nebo jedna z CERT_NONE, CERT_OPTIONAL nebo CERT_REQUIRED
Dotazy¶
Nastavení queries s dotazy na události Windows může vypadat následovně (název dotazu následovaný jeho definicí):
input:WEC:WECInput:
...
queries:
Application: "*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
System: "*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Security: "*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Setup: "*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Microsoft-Windows-Sysmon/Operational: "*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Microsoft-Windows-Windows Defender/Operational: "*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Microsoft-Windows-GroupPolicy/Operational: "*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Microsoft-Windows-TaskScheduler/Operational: "*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Microsoft-Windows-Windows Firewall With Advanced Security/Firewall: "*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Dotazy mohou být specifikovány pro každý typ logu událostí Windows, včetně:
Applicationpro aplikaceSystempro systémové logySecuritypro bezpečnostní logySetuppro logy týkající se instalací nebo aktualizací
Úrovně logů¶
V protokolování událostí Windows pole Level označuje závažnost události, od kritických chyb po podrobné informační zprávy.
Úroveň 0 (Vždy) je vyhrazena a obvykle se nepoužívá.
Úroveň 1 (Kritická) signalizuje vážný problém, jako je selhání systémové komponenty, které vyžaduje okamžitou pozornost.
Úroveň 2 (Chyba) označuje významné problémy, jako jsou selhání služeb nebo ovladačů, které mohou ovlivnit funkčnost.
Úroveň 3 (Varování) zdůrazňuje potenciální problémy, které nejsou okamžitě škodlivé, ale mohly by vést k budoucím problémům, pokud nebudou řešeny.
Úroveň 4 (Informace) zaznamenává úspěšné operace nebo rutinní události, jako je spuštění služeb nebo přihlášení uživatelů, což je užitečné pro sledování aktivity.
Úroveň 5 (Podrobné) poskytuje podrobné ladicí nebo diagnostické informace, které se používají hlavně během vývoje nebo pokročilého odstraňování problémů. Filtrování událostí podle těchto úrovní umožňuje cílené sledování chování systému na základě závažnosti.
Zahrnutí a vyloučení¶
Dotazy mohou být omezeny na určité IP adresy zdrojů nebo ID strojů pomocí YAML seznamu identifikátorů na konci dotazu. ID stroje je unikátní pro každý stroj s Windows a je založeno na doménovém hostname.
queries:
System:
"*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Security:
"*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
...
Application:
"*[System[(Level=1 or Level=2 or Level=3 or Level=4 or Level=0 or Level=5)]]":
- 192.168.111.128
- 192.168.111.128
- "APP.example.com"
...
Tímto způsobem budou logy aplikací odesílány pouze z Windows strojů s IP adresami 192.168.111.128, 192.168.111.128 a s ID stroje APP.example.com (jejich odběr bude obsahovat dotaz na aplikace).
Tato notace je analogická k určení sekce include:
queries:
System:
"*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Security:
"*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
...
Application:
"*[System[(Level=1 or Level=2 or Level=3 or Level=4 or Level=0 or Level=5)]]":
include:
- 192.168.111.128
- 192.168.111.128
- "APP.example.com"
...
Aby bylo možné vyloučit určité IP adresy / servery, měla by být specifikována sekce exclude:
queries:
System:
"*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
Security:
"*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]"
...
Application:
"*[System[(Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]":
exclude:
- 192.168.111.129
...
Takže všechny stroje kromě 192.168.111.129 budou dotazovány na logy aplikací.
Filtrování¶
Filtrování vám umožňuje jemně doladit, které události jsou předávány z Windows strojů do kolektoru. Toho je dosaženo úpravou syntaxe dotazu XPath v sekci queries.
Můžete filtrovat události na základě:
- EventID
- Úroveň (Závažnost)
- Název poskytovatele
- Čas vytvoření
- Kombinace výše uvedeného
Filtrovat podle EventID (Vyloučit konkrétní události)¶
Chcete-li vyloučit konkrétní ID událostí (např. událost 5156 z bezpečnostních logů), použijte negovaný filtr:
queries:
Security:
"*[System[(EventID!=5156)]]"
Filtrovat podle více EventID (Vyloučit nebo zahrnout)¶
Můžete vyloučit více ID událostí pomocí logických operátorů and, or a not:
queries:
Security:
"*[System[not(EventID=5156 or EventID=4688 or EventID=4624)]]"
Chcete-li zahrnout pouze konkrétní ID událostí:
queries:
Security:
"*[System[(EventID=4624 or EventID=4625)]]"
Filtrovat podle úrovně (závažnost)¶
Úrovně závažnosti událostí jsou definovány jako:
| Úroveň | Název |
|---|---|
| 0 | LogAlways |
| 1 | Kritická |
| 2 | Chyba |
| 3 | Varování |
| 4 | Informace |
| 5 | Podrobné |
Příklad: zahrnout pouze kritické a chybové události:
queries:
Application:
"*[System[(Level=1 or Level=2)]]"
Filtrovat podle názvu poskytovatele¶
Chcete-li filtrovat pouze události generované konkrétním poskytovatelem, použijte:
queries:
Security:
"*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=4624]]"
Filtrovat podle TimeCreated (časový rozsah)¶
Můžete omezit události pouze na ty, které byly vytvořeny po určitém čase. Časové razítko musí být ve formátu ISO 8601 UTC:
queries:
System:
"*[System[TimeCreated[@SystemTime>'2025-07-10T00:00:00.000Z']]]"
Note
Filtrování na základě času se vztahuje pouze na existující události (read_existing_events: true) a může být ignorováno pro živé streamy.
Kombinované filtry¶
Můžete kombinovat více podmínek pro přesné filtrování:
queries:
Security:
"*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Level=0 and not(EventID=5156 or EventID=4688)]]"
Tento příklad zahrnuje pouze LogAlways události od specifikovaného poskytovatele, vylučující události 5156 a 4688.