3. Elastic stack: analýza bezpečnostních logů. Dashboardy

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

V předchozích článcích jsme se trochu seznámili se stakem ELK a nastavením konfiguračního souboru Logstash pro parsování logů, v tomto článku se posuneme k tomu nejdůležitějšímu z pohledu analýzy, co chcete od systému vidět a proč bylo vše vytvořeno — jsou to grafy a tabulky spojené v dashboardy. Dnes se blíže seznámíme se systémem vizualizace Kibana, podíváme se, jak vytvářet grafy, tabulky a výsledkem bude jednoduchý dashboard založený na logech z firewallu Check Point.

Prvním krokem při práci s Kibana je vytvoření index pattern, logicky, to je soubor indexů sdružených podle určitého principu. Samozřejmě, je to čistě nastavení, které usnadňuje Kibana hledání informací ve všech indexech najednou. Je definováno podle shody řetězce, například „checkpoint-*“ a názvu indexu. Například „checkpoint-2019.12.05“ vyhovuje vzoru, ale prostě „checkpoint“ už ne. Zvlášť stojí za zmínku, že nelze současně vyhledávat informace podle různých vzorů indexů, později v následujících článcích uvidíme, že API dotazy se provádějí buď podle názvu indexu, nebo právě podle jednoho řetězce vzoru, obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Po tom zkontrolujeme v menu Discover, že všechny logy jsou indexovány a správně nastavený parser. Pokud se objeví jakékoli nesrovnalosti, například změnit typ dat z řetězce na celé číslo, je třeba upravit konfigurační soubor Logstash, v důsledku čehož budou nové logy zapisovány správně. Aby staré logy před změnou přijaly požadovaný formát, pomáhá pouze proces reindexace, který bude podrobněji probrán v následujících článcích. Ujistíme se, že je vše v pořádku, obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Logy se nacházejí na místě, takže můžeme přistoupit k vytváření dashboardů. Na základě analýzy dashboardů od produktů zabezpečení lze pochopit stav bezpečnosti v organizaci, náležitě vidět zranitelná místa v aktuální politice a následně navrhnout způsoby jejich odstranění. Vytvoříme malý dashboard, který bude sestávat z 5 komponentů:

  1. tabulku pro počítání celkového počtu logů podle blade
  2. tabulku s kritickými signaturami IPS
  3. koláčový diagram událostí Threat Prevention
  4. diagram nejnavštěvovanějších webových stránek
  5. diagram využití nejnebezpečnějších aplikací

Pro vytvoření vizualizačních figur zkuste přejít do menu Vizualizovat, a vybrat požadovanou figuru, kterou chceme postavit! Pojďme to vzít postupně.

Tabulka pro výpočet celkového počtu logů podle bledů

K tomu vybereme figuru Data Table, přejdeme do nástroje pro vytváření grafů, vlevo se nastavují parametry figury a vpravo je zobrazení v aktuálním nastavení. Nejprve ukážu, jak bude hotová tabulka vypadat, poté projdeme nastavením, obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Podrobnější nastavení figury, obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Projdeme nastavení.

Nejprve se nastavuje metrika, což je hodnota, podle které budou agregována všechna pole. Metriky se počítají na základě hodnot, které byly získány různými způsoby z dokumentů. Hodnoty se obvykle získávají z polí dokumentu, ale také mohou být generovány pomocí skriptů. V tomto případě nastavíme Agregace: Počet celkový počet logů).

Poté rozdělíme tabulku podle segmentů (polí), podle kterých se bude počítat metrika. Tuto funkci vykonává nastavení Buckets, které se skládá ze 2 variant nastavení:

  1. split rows — přidání sloupců a následné rozdělení tabulky na řádky
  2. split table — rozdělení na několik tabulek podle hodnot určitého pole.

V buckets můžete přidat několik dělení pro vytvoření několika sloupců nebo tabulek, omezení zde jsou spíše logická. V agregaci si můžete vybrat, jakým způsobem dojde k dělení na segmenty: ipv4 range, date range, Terms atd. Nejpoutavějším výběrem je právě Terms a Significant Terms, dělení na segmenty se provádí podle hodnot určitého pole indexu, rozdíl mezi nimi spočívá v počtu vrácených hodnot a jejich zobrazení. Protože chceme rozdělit tabulku podle názvu bledů, vybereme pole — product.keyword a nastavíme velikost na 25 vracených hodnot.

Místo řádků se v elasticsearch používají 2 typy dat — text a keyword. Pokud chcete provádět fulltextové vyhledávání, musíte použít typ text, což je velmi praktická funkce při vytváření vlastního vyhledávacího servisu, například hledáte zmínku slova v konkrétní hodnotě pole (textu). Pokud chcete pouze přesnou shodu, musíte použít typ keyword. Tento datový typ byste měli také použít pro pole, která vyžadují řazení nebo agregaci, tedy v našem případě.

Výsledkem Elasticsearch je počet logů za určité období s agregací podle hodnoty v poli product. V Custom Label nastavujeme název sloupce, který se zobrazí v tabulce, určujeme čas, za který sbíráme logy, spouštíme vykreslení — Kibana posílá dotaz do elasticsearch, čeká na odpověď a poté vizualizuje získaná data. Tabulka je hotová!

Koláčový graf událostí Threat Prevention

Zvláštní zájem vzbuzují informace, kolik vlastně v procentuálním poměru reakcí detect a prevent na incidenty IT bezpečnosti v aktuální bezpečnostní politice. V takovém případě je vhodné použít koláčový graf. Vyberte v Visualize — Pie chart. V metrice také nastavujeme agregaci podle počtu logů. V buckets nastavíme Terms => action.

Vypadá to správně, ale výsledkem se zobrazují hodnoty ze všech bladeů, je třeba filtrovat pouze podle těch bladeů, které pracují v rámci Threat Prevention. Proto je nutné nastavit filtr , aby se informace hledaly pouze podle bladeů odpovídajících za incidenty IT bezpečnosti — product: („Anti-Bot“ NEBO „Nový Anti-Virus“ NEBO „DDoS Protector“ NEBO „SmartDefense“ NEBO „Threat Emulation“). Obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

A podrobnější nastavení, obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Tabulka událostí IPS

Dalším velmi důležitým z hlediska IT bezpečnosti je přehled a kontrola událostí podle bladeu IPS a Threat Emulation, které nejsou blokovány aktuální politikou, abychom toto následně buď převedli signaturu na prevent, nebo pokud je provoz platný — signaturu nekontrolovali. Tabulku vytváříme stejně jako v prvním příkladu, pouze s tím rozdílem, že vytváříme několik sloupců: protections.keyword, severity.keyword, product.keyword, originsicname.keyword. Určitě nastavíme filtr, abychom hledali informace pouze podle bladeů odpovídajících za incidenty IT bezpečnosti — product: ( „SmartDefense“ NEBO „Threat Emulation“). Obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Podrobnější nastavení, obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Grafy nejpopulárnějších navštěvovaných webových stránek

K tomu vytvoříme objekt — Vertikální sloupec. Pro metriku také použijeme count (osa Y) a na ose X jako hodnoty použijeme názvy navštívených webů — “appi_name”. Je zde malý trik, pokud spustíme nastavení v aktuální variantě, všechny weby budou na grafu označeny jednou barvou, abychom je udělali různobarevnými, použijeme další nastavení — “split series”, které umožňuje rozdělit již hotový sloupec na další hodnoty, v závislosti na zvoleném poli, samozřejmě! Toto rozdělení lze buď použít jako jeden různobarevný sloupec podle hodnot v režimu stacked, nebo v normálním režimu pro vytvoření několika sloupců podle určité hodnoty na ose X. V tomto případě zde používáme stejnou hodnotu, jakou máme na ose X, což umožňuje udělat všechny sloupce různobarevné, zprava nahoře budou vyznačeny barvami. Ve filtru nastavujeme — product:„URL Filtering“, abychom viděli informace pouze o navštěvovaných webech, obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Nastavení:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Graf o používání nejnebezpečnějších aplikací

K tomu vytvoříme objekt — Vertikální sloupec. Pro metriku také použijeme count (osa Y) a na ose X jako hodnoty použijeme názvy používaných aplikací — “appi_name”. Nejpodstatnější je zadání filtru — product: „Application Control“ AND app_risk: (4 OR 5 OR 3) AND action:„accept“. Filtrujeme logy podle Blade Application Control, bereme pouze ty weby, které jsou kategorizovány jako weby s rizikem Critical, High, Medium a pouze v případě, že je na tyto weby povolený přístup. Obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Nastavení, klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Dashboard

Zobrazení a vytváření dashboardů se nachází v samostatné položce menu — Dashboard. Zde je to jednoduché, vytvoří se nový dashboard, přidá se vizualizace, usadí se na místa a hotovo!

Vytvoříme dashboard, podle kterého bude možné pochopit základní situaci v oblasti IT bezpečnosti v organizaci, samozřejmě pouze na úrovni Check Point, obrázek je klikací:

3. Elastic stack: analýza bezpečnostních logů. Dashboardy

Na základě těchto grafů můžeme pochopit, které kritické signatury nejsou blokovány na firewallu, kam uživatelé chodí a které nejnebezpečnější aplikace používají.

Závěr

Prozkoumali jsme možnosti základní vizualizace v Kibana a vytvořili dashboard, ale to je pouze malá část. Dále v kurzu se podrobněji zaměříme na nastavení map, práci se systémem Elasticsearch, seznámíme se s API dotazy, automatizací a mnoha dalšími tématy!

Tak sledujte aktualizace (Telegram, Facebook, VK, TS Solution Blog), Yandex.Zen.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster