
S ukončením predaja systému logovania a analýzy Splunk v Rusku sa objavil otázka, čím možno toto riešenie nahradiť? Po strávení času oboznámením sa s rôznymi riešeniami som sa rozhodol pre riešenie pre pravého muža — „ELK stack“. Tento systém si vyžaduje čas na nastavenie, no na výsledku môžete získať veľmi silný systém na analýzu stavu a operatívne reagovanie na inci-denty informačnej bezpečnosti vo vašej organizácii. V tejto sérii článkov preskúmame základné (a možno aj nie) možnosti staku ELK, pozrieme sa na to, ako je možné parsovať logy, ako budovať grafy a dashboards a aké zaujímavé funkcie je možné vytvoriť na príklade logov z firewallu Check Point alebo skenera bezpečnosti OpenVas. Na začiatok si priblížime, čo to vlastne je — stack ELK a aké komponenty obsahuje.
„ELK stack“ — je skratka pre tri projekty s otvoreným zdrojovým kódom: Elasticsearch, Logstash a Kibana. Vyvíja ju spoločnosť Elastic spolu so všetkými súvisiacimi projektmi. Elasticsearch je jadrom celého systému, ktorý spája funkcie databázy, vyhľadávacej a analytickej sústavy. Logstash je kon-vejner na spracovanie dát na strane servera, ktorý prijíma dáta z viacerých zdrojov súčasne, parsuje logy a následne ich posiela do databázy Elasticsearch. Kibana umožňuje používateľom vizualizovať dáta pomocou diagramov a grafov v Elasticsearch. Taktiež prostredníctvom Kibany je možné spravovať databázu. Ďalej podrobnejšie preskúmame každý systém samostatne.

Logstash
Logstash – je nástroj na spracovanie logov udalostí z rôznych zdrojov, s pomocou ktorého môžete vybrať polia a ich hodnoty v správe, nastavíte aj filtrovanie a úpravu dát. Po všetkých manipuláciách Logstash presmerováva udalosti do konečného úložiska dát. Nástroj je nastavovaný iba prostredníctvom konfiguračných súborov.
Typická konfigurácia logstash predstavuje súbor(y) pozostávajúce z niekoľkých prichádzajúcich tokov informácií (input), niekoľkých filtrov pre tieto informácie (filter) a niekoľkých odchádzajúcich tokov (output). Vyzerá to ako jeden alebo niekoľko konfiguračných súborov, ktoré v najjednoduchšej podobe (ktorá nerobí vôbec nič) vyzerajú takto:
input {
}
filter {
}
output {
}
V INPUT nastavujeme, na ktorý port budú prichádzať logy a akým protokolom, alebo z ktorej zložky čítať nové alebo neustále zapisované súbory. V FILTER nastavujeme analyzátor logov: rozbor polí, úprava hodnôt, pridávanie nových parametrov alebo odstraňovanie. FILTER je pole na správu správy, ktorá prichádza na Logstash s množstvom možností úprav. V OUTPUT nastavujeme, kam posielame už spracovaný log; ak je to Elasticsearch, odosiela sa JSON požiadavka, v ktorej sa odosielajú polia s hodnotami, prípadne v rámci ladenia môžeme výstup zobraziť na stdout alebo zapísať do súboru.

ElasticSearch
Elasticsearch je pôvodne riešenie pre fulltextové vyhľadávanie, ale s ďalšími výhodami, ako je jednoduché škálovanie, replikácia a ďalšie, čo robí produkt veľmi užitočným a dobrým riešením pre vysokozaťažené projekty s veľkými objemami údajov. Elasticsearch je nerelational storage (NoSQL) dokumentov vo formáte JSON a vyhľadávacím systémom založeným na fulltextovom vyhľadávaní Lucene. Hardvérová platforma je Java Virtual Machine, preto systém vyžaduje veľké množstvo procesorových a pamäťových zdrojov pre svoju činnosť.
Každá prichádzajúca správa, či už z Logstash alebo pomocou API požiadavky, je indexovaná ako „dokument“ – analóg tabuľky v relačnom SQL. Všetky dokumenty sú uložené v indexe – analóg databázy v SQL.
Príklad dokumentu v databáze:
{
"_index": "checkpoint-2019.10.10",
"_type": "_doc",
"_id": "yvNZcWwBygXz5W1aycBy",
"_version": 1,
"_score": null,
"_source": {
"layer_uuid": [
"dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0",
"dbee3718-cf2f-4de0-8681-529cb75be9a6"
],
"outzone": "External",
"layer_name": [
"TSS-Standard Security",
"TSS-Standard Application"
],
"time": "1565269565",
"dst": "103.5.198.210",
"parent_rule": "0",
"host": "10.10.10.250",
"ifname": "eth6",
]
}
Všetka práca s databázou je založená na JSON požiadavkách pomocou REST API, ktoré buď vracajú dokumenty podľa indexu, alebo akúsi štatistiku vo formáte: otázka — odpoveď. Pre vizualizáciu všetkých odpovedí na požiadavky bola vyvinutá Kibana, ktorá predstavuje webový servis.
Kibana
Kibana umožňuje vyhľadávať a získavať dáta a štatistiky z databázy Elasticsearch, na základe ktorých sa vytvára množstvo krásnych grafov a dashboardov. Systém má tiež funkciu správy databázy Elasticsearch, ktorú podrobnejšie preskúmame v nasledujúcich článkoch. Teraz ukážeme príklad dashboardov pre firewall Check Point a skener zraniteľností OpenVas, ktoré bude možné vytvoriť.
Príklad dashboardu pre Check Point, obrázok je klikateľný:
Príklad dashboardu pre OpenVas, obrázok je klikateľný:
Záver
Preskúmali sme, z čoho sa skladá ELK stack, trochu sme sa oboznámili so základnými produktami, ďalej budeme v kurze samostatne skúmať písanie konfiguračných súborov Logstash, nastavenie dashboardov na Kibane, oboznámime sa s API požiadavkami, automatizáciou a mnohým ďalším!
Tak sa držte aktualizácií (, , , ), .
Zdroj: habr.com
