Filtry Beat agentů
Tato podsekce obsahuje informace o používání filtrů k agentům.
Každý systém generuje velké množství logů, které kolikrát ani není potřeba sbírat. Proto zde existuje možnost filtrování, kdy si můžete nepotřebné logy jednoduše odfiltrovat, pomocí nativní funkce samotného Beast agenta. Filtrované logy jsou zahazovány lokálně na konkrétním endpointu/serveru, ještě před tím, než jsou odeslány na Logmanager – tím můžete ušetřit výpočetní výkon a místo v databázi.
Existují dvě možnosti, jak s filtry pracovat:
- Whitelist: Přeposlat zvolené zprávy a ostatní zahodit.
- Blacklist: Zahodit vybrané zprávy a přeposlat všechny ostatní.
Oba způsoby jsou platné a lze je používat zaměnitelně v závislosti na vašich potřebách.
Nový filtr vytvoříte pomocí zeleného tlačítka se symbolem plus. Po kliknutí se otevře nové okno, kde můžete definovat svá pravidla.
V první řadě musíte svůj filtr pojmenovat. Dále je k nastavení filtrování použito prostředí Blockly, kde si definujete podmínky vyhovující vašim potřebám.
Pokud nastavíte tento i globální filtr, použijí se oba.
Zde je pár užitečných příkladů:
- Zahazujete všechny Windows události, kde se event ID rovná 5158.
- Zahazujete všechny Windows události, kde není event ID rovno 5158. Další možností, jak se nad tím zamyslet: Přeposlat pouze události, kde se event ID rovná 5158.
- Zahazujete všechny Windows události, kde se event ID rovná 4624 a zároveň pole TargetUserName obsahuje na konci znak „$“ (to znamená, že se jedná o účet počítače).
- TargetUserName odpovídá regulárnímu výrazu „mail[1-5]{1}“, což znamená, že logy, kde se pole TargetUserName rovná mail1, mail2, mail3, mail4 nebo mail5, budou zahozeny. Všechny ostatní, které neodpovídají pravidlu regulárnímu výrazu, například mail10 nebo exchangemail2, budou poslány na Logmanager.
- Zahazujete všechny Windows události, kde pole Channel obsahuje Microsoft-Windows-WMI NEBO(OR) Microsoft-Windows-Push.
Při používání funkce „discard if“ u filtrování dejte pozor, abyste tyto příkazy nedávali za sebe, je důležité podmínky kombinovat pomocí logických operátorů. Například pokud budete přidávat samostatné podmínky, logika je „AND“.
Pokud budete používat sdružené podmínky, logika je „OR“ - o tom nejlépe hovoří příklad zmíněný níže. V něm se používá logické „=“, proto je použito OR.
Další příklad správně zapsaného filtru.
Naopak u tohoto příkladu využíváme negované hodnoty ≠, a pro kombinaci kanálů událostí logických operátorů „AND“. V tomto filtru jsou zahozeny všechny události, kromě těch, které jsou generované z níže zmíněných kanálů. Jinými slovy, při aplikaci tohoto filtru budete přijímat ze zařízení pouze tyto logy: Application, Security, System, Microsoft-Windows-Sysmon/Operational.
Podobné příklady můžete nalézt i přímo v nástroji Blockly na záložce Examples:
Je možné filtrovat jakákoliv pole, která jsou v dekódovaném formátu JSON z raw zprávy.
Můžete také zkontrolovat, jak bude logika Blockly vypadat přeložená do XML nebo YAML.
XML nebo Extensible Markup Language je značkovací jazyk, který definuje sadu pravidel pro kódování dokumentů ve formátu, který je čitelný jak pro člověka, tak pro stroj. Logmanager jej používá k překladu grafických bloků Blockly do strojově čitelného kódu.
YAML je lidsky čitelný jazyk pro serializaci dat. Běžně se používá pro konfigurační soubory a v aplikacích, kde se ukládají nebo přenášejí data. Veškerá konfigurace Beats agentů je napsána právě pomocí jazyka YAML. Z tohoto důvodu musí být na tento formát Blockly přeložené.
Pro editování filtru klikněte na modrou ikonu pera, vedle filtru.
Pro permanentní odstranění filtru klikněte na ikonu červeného symbolu X. Následně se otevře okno, kde je smazání potřeba potvrdit, nebo zrušit.
Filtr nelze smazat, dokud je použit u jakéhokoliv agenta.