3. Elastic stack: analýza bezpečnostných logov. Dashboardy

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

V predchádzajúcich článkoch sme sa trocha oboznámili s ELK stackom a nastavením konfiguračného súboru Logstash pre parsovanie logov. V tomto článku prejdeme k najdôležitejšiemu z hľadiska analytiky, k tomu, čo chcete vidieť od systému a prečo to všetko bolo vytvorené — k grafom a tabuľkám zlúčeným v palubných doskách. Dnes sa podrobnejšie oboznámime so systémom vizualizácie Kibana, preskúmame, ako vytvárať grafy a tabuľky a na záver postavíme jednoduchú palubnú dosku na základe logov z firewalla Check Point.

Prvým krokom pri práci s Kibana je vytvorenie index pattern, logicky to je základňa indexov zjednotených podľa určitého princípu. Samozrejme, toto je len nastavenie, aby Kibana pohodlnejšie hľadala informácie vo všetkých indexoch naraz. Definuje sa podľa zhodovania reťazca, napríklad „checkpoint-*“ a názvu indexu. Napríklad „checkpoint-2019.12.05“ vyhovuje vzoru, ale jednoducho „checkpoint“ už nie. Osobitne stojí za zmienku, že v niektorých vyhľadávaniach nie je možné hľadať informácie podľa rôznych vzorov indexov naraz, neskôr v nasledujúcich článkoch uvidíme, že API požiadavky sa uskutočňujú buď podľa názvu indexu, alebo podľa jedného vzoru, obrázok je klikateľný:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Potom skontrolujeme v menu Discover, či sú všetky logy indexované a či je nastavený správny parser. Ak sa objavia akékoľvek nezrovnalosti, napríklad zmeniť typ dát z reťazca na celé číslo, je potrebné upraviť konfiguračný súbor Logstash, a tak nové logy budú zapisované správne. Pre to, aby staré logy pred zmenou prijali potrebný formát, pomáha len proces reindexácie, v nasledujúcich článkoch sa táto operácia podrobne preskúma. Uistíme sa, že všetko je v poriadku, obrázok je klikateľný:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Logy sa ocitli na správnom mieste, takže môžeme začať s vytváraním palubných dosiek. Na základe analytiky palubných dosiek od produktov security je možné pochopiť stav IKT v organizácii, jasne vidieť zraniteľné miesta v aktuálnej politike a následne vypracovať spôsoby ich odstránenia. Postavíme malú palubnú dosku pomocou niekoľkých vizualizačných nástrojov. Palubná doska bude pozostávať z 5 komponentov:

  1. tabuľka pre výpočet celkového počtu logov podľa bлейdov
  2. tabuľku pre kritické signatúry IPS
  3. koláčového grafu pre udalosti Threat Prevention
  4. diagram podľa najpopulárnejších navštevovaných stránok
  5. diagram použitia najnebezpečnejších aplikácií

Na vytvorenie figurácií vizualizácie, treba prejsť do menu Vizualizovať, a vybrať požadovanú figúru, ktorú chceme vytvoriť! Postupujme krok po kroku.

Tabuľka na výpočet celkového počtu logov podľa bleydov

Pre to vyberieme figúru Tabuľka údajov, ponoríme sa do nástroja na vytváranie grafov, vľavo sa upravujú nastavenia figúry, vpravo to, ako bude vyzerať pri aktuálnych nastaveniach. Najprv ukážem, ako bude vyzerať hotová tabuľka, po tom prejdeme nastaveniami, obrázok je klikateľný:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Podrobnejšie nastavenia figúry, obrázok je klikateľný:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Rozoberieme nastavenia.

Najprv sa nastavuje metrika, toto je hodnota, podľa ktorej sa budú agregovať všetky polia. Metódy sa počítajú na základe hodnôt, extrahovaných rôznymi spôsobmi z dokumentov. Hodnoty sa zvyčajne extrahujú z polí dokumentu, ale môžu byť aj generované pomocou skriptov. V tomto prípade nastavíme v Agregácia: Počet (celkový počet logov).

Potom rozdelíme tabuľku podľa segmentov (polí), na základe ktorých sa bude počítať metrika. Túto funkciu vykonáva nastavenie Buckets, ktoré sa skladajú z dvoch variantov nastavenia:

  1. split rows — pridanie stĺpcov a následné delenie tabuľky na riadky
  2. split table — delenie na niekoľko tabuliek podľa hodnôt určitého poľa.

V buckets môže sa pridať niekoľko delení na vytvorenie viacerých stĺpcov alebo tabuliek, obmedzenia sú skôr logické. V agregácii si môžete vybrať, akým spôsobom sa bude robiť delenie na segmenty: ipv4 range, date range, Terms atď. Najzaujímavejšou voľbou je práve Terms a Significant Terms, delenie na segmenty sa vykonáva podľa hodnôt určitého poľa indexu, rozdiel medzi nimi spočíva v počte vracaných hodnôt a ich zobrazení. Keďže chceme rozdeliť tabuľku podľa názvu bleydov, vyberáme pole — product.keyword a nastavíme veľkosť na 25 vracaných hodnôt.

Namiesto riadkov v elasticsearch sa používajú 2 typy údajov — text a keyword. Ak chcete vykonať fulltextové vyhľadávanie, musíte použiť typ text, čo je veľmi užitočné pri písaní vášho vyhľadávacieho servisu, napríklad hľadáte spomínanie slova v konkrétnom význame poľa (texte). Ak chcete iba presnú zhodu, musíte použiť typ keyword. Tento typ dát keyword by sa mal taktiež používať pre polia, ktoré vyžadujú triedenie alebo agregáciu, teda v našom prípade.

Výsledkom je, že Elasticsearch počíta počet logov za určený čas s agregovaním podľa hodnoty v poli product. V Custom Label zadáme názov stĺpca, ktorý sa zobrazí v tabuľke, zadáme čas, za ktorý zbierame logy, spustíme vykresľovanie — Kibana odošle požiadavku do Elasticsearch, čaká na odpoveď a potom vizualizuje získané dáta. Tabuľka je pripravená!

Koláčový graf udalostí Threat Prevention

Určitý záujem predstavuje informácia, aký je vlastne percentuálny pomer reakcií. detect a prevent na incidenty IB v aktuálnej bezpečnostnej politike. Pre takúto situáciu je dobre zvolený koláčový graf. Vyberáme v Visualize — Pie chart. Taktiež v metrike nastavujeme agregáciu podľa počtu logov. V buckets nastavujeme Terms => action.

Vyzerá to všetko správne, ale výsledkom sú hodnoty zo všetkých bleydov, je potrebné filtrovať iba tie bleydy, ktoré fungujú v rámci Threat Prevention. Preto nutne nastavíme filter na to, aby sme vyhľadávali informácie iba podľa bleydov zodpovedajúcich za incidenty IB — product: ("Anti-Bot" OR "New Anti-Virus" OR "DDoS Protector" OR "SmartDefense" OR "Threat Emulation"). Obrázok je klikateľný:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

A viac podrobných nastavení, obrázok je klikateľný:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Tabuľka podľa udalostí IPS

Ďalej je veľmi dôležité z pohľadu IB prehľadávať a kontrolovať udalosti podľa bleydov IPS a Emulácia hrozieb, ktoré nie sú blokované aktuálnou politikou, aby sme následne buď previedli signatúru do prevent alebo ak je traffic validný — nekontrolovať signatúru. Tabuľku vytvárame rovnako ako pri prvom príklade, len s tým rozdielom, že vytvárame niekoľko stĺpcov: protections.keyword, severity.keyword, product.keyword, originsicname.keyword. Nezabudnite nastaviť filter, aby sme inteligentne vyhľadávali informácie iba podľa bleydov zodpovedajúcich za incidenty IB — product: ("SmartDefense" OR "Threat Emulation"). Obrázok je klikateľný:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Viac podrobných nastavení, obrázok je klikateľný:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Grafy najpopulárnejších navštevovaných stránok

Na to vytvoríme tvar — Vertikálny stĺpec. Metiku tiež použijeme count (osa Y), a na osi X ako hodnoty použijeme názov navštívených stránok — “appi_name”. Je tu malý trik, ak spustíme nastavenia v aktuálnej forme, všetky stránky budú na grafe označené jednou farbou, preto aby sme ich spravili viacfarebnými, použijeme dodatočné nastavenie — “split series”, ktoré umožňuje rozdeliť už pripravený stĺpec na niekoľko ďalších hodnôt, v závislosti od vybraného poľa samozrejme! Toto delenie môžeme buď použiť ako jeden viacfarebný stĺpec podľa hodnôt v režime stacked, alebo v normálnom režime na vytvorenie niekoľkých stĺpcov podľa určenej hodnoty na osi X. V tomto prípade tu používame to isté hodnotenie, čo aj na osi X, to umožňuje urobiť všetky stĺpce viacfarebnými, vpravo hore budú označené farbami. Vo filtre nastavujeme — product:«URL Filtering», aby sme videli informácie iba o navštívených stránkach, obrázok je klikací:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Nastavenia:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Graf o využívaní najnebezpečnejších aplikácií

Na to vytvoríme tvar — Vertikálny stĺpec. Metiku tiež použijeme count (osa Y), a na osi X ako hodnoty použijeme názov používaných aplikácií - “appi_name”. Najdôležitejším je nastavenie filtra — product: «Application Control» AND app_risk: (4 OR 5 OR 3) AND action:«accept». Filtrovať logy podľa bládu Application control, berieme iba tie stránky, ktoré sú kategorizované ako stránky s rizikom Kritické, Vysoké, Stredné a iba v tom prípade, ak je na tieto stránky povolený prístup. Obrázok je klikací:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Nastavenia, klikateľné:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Dashboard

Prehľad a vytváranie dashboardov sa nachádza v samostatnej časti menu — Dashboard. Tu je všetko jednoduché, vytvorí sa nový dashboard, pridá sa vizualizácia, rozmiestni sa a hotovo!

Vytvárame dashboard, podľa ktorého budeme schopní pochopiť základnú situáciu stavu IB v organizácii, jasne, iba na úrovni Check Point, obrázok je klikací:

3. Elastic stack: analýza bezpečnostných logov. Dashboardy

Na základe týchto grafov môžeme pochopiť, ktoré kritické signatúry nie sú blokované na firewalle, kam chodia používatelia a ktoré najnebezpečnejšie aplikácie používajú.

Záver

Preskúmali sme možnosti základnej vizualizácie v Kibana a vytvorili sme dashboard, no to je len malá časť. Ďalej v kurze sa osobitne zameriame na nastavenie máp, prácu so systémom Elasticsearch, oboznámime sa s API požiadavkami, automatizáciou a mnohými ďalšími vecami!

Tak sa držte aktualizácií (Telegram, Facebook, VK, Blog TS Solution), Yandex.Zen.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster