1.Elastický zásobník: analýza bezpečnostních protokolů. Úvod

1.Elastický zásobník: analýza bezpečnostních protokolů. Úvod

V souvislosti s ukončením prodeje logovacího a analytického systému Splunk v Rusku vyvstala otázka: čím lze toto řešení nahradit? Poté, co jsem strávil čas seznamováním se s různými řešeními, rozhodl jsem se pro řešení pro skutečného muže - "ELK stack". Nastavení tohoto systému vyžaduje čas, ale ve výsledku můžete získat velmi výkonný systém pro analýzu stavu a rychlou reakci na incidenty zabezpečení informací v organizaci. V této sérii článků se podíváme na základní (nebo možná ne) možnosti zásobníku ELK, zvážíme, jak můžete analyzovat protokoly, jak vytvářet grafy a dashboardy a jaké zajímavé funkce lze provádět na příkladu protokolů z firewall Check Point nebo bezpečnostní skener OpenVas. Pro začátek se podívejme, co to je – zásobník ELK a z jakých komponent se skládá.

"ELK stack" je zkratka pro tři open source projekty: Elastickýsearch, Logstash и Kibana. Vyvinutý společností Elastic spolu se všemi souvisejícími projekty. Elasticsearch je jádrem celého systému, který kombinuje funkce databázového, vyhledávacího a analytického systému. Logstash je kanál pro zpracování dat na straně serveru, který přijímá data z více zdrojů současně, analyzuje protokol a poté jej odesílá do databáze Elasticsearch. Kibana umožňuje uživatelům vizualizovat data pomocí tabulek a grafů v Elasticsearch. Databázi můžete také spravovat prostřednictvím Kibana. Dále se budeme podrobněji zabývat každým systémem zvlášť.

1.Elastický zásobník: analýza bezpečnostních protokolů. Úvod

Logstash

Logstash je nástroj pro zpracování událostí protokolu z různých zdrojů, pomocí kterého můžete ve zprávě vybírat pole a jejich hodnoty a také můžete konfigurovat filtrování a úpravy dat. Po všech manipulacích přesměruje Logstash události do konečného úložiště dat. Nástroj se konfiguruje pouze prostřednictvím konfiguračních souborů.
Typická konfigurace logstash je soubor(y) sestávající z několika příchozích toků informací (vstup), několika filtrů pro tyto informace (filtr) a několika odchozích toků (výstup). Vypadá to jako jeden nebo více konfiguračních souborů, které v nejjednodušší verzi (která nedělá vůbec nic) vypadá takto:

input {
}

filter {
}

output {
}

V INPUT konfigurujeme, na který port se budou protokoly zasílat a přes který protokol, případně ze které složky číst nové nebo neustále aktualizované soubory. Ve FILTERU konfigurujeme analyzátor protokolu: analýzu polí, úpravu hodnot, přidávání nových parametrů nebo jejich mazání. FILTER je pole pro správu zprávy, která přichází do Logstashe, se spoustou možností úprav. Ve výstupu nakonfigurujeme, kam posíláme již analyzovaný log, v případě, že se jedná o elasticsearch, je odeslán požadavek JSON, ve kterém se odesílají pole s hodnotami, nebo v rámci ladění může být výstup na stdout nebo zapsán do souboru.

1.Elastický zásobník: analýza bezpečnostních protokolů. Úvod

ElasticSearch

Zpočátku je Elasticsearch řešením pro fulltextové vyhledávání, ale s dalšími vymoženostmi, jako je snadné škálování, replikace a další věci, díky nimž je produkt velmi pohodlný a je dobrým řešením pro vysoce zatěžované projekty s velkými objemy dat. Elasticsearch je nerelační (NoSQL) úložiště dokumentů JSON a vyhledávač založený na fulltextovém vyhledávání Lucene. Hardwarovou platformou je Java Virtual Machine, takže systém vyžaduje ke svému provozu velké množství procesorových a RAM zdrojů.
Každá příchozí zpráva, buď pomocí Logstash, nebo pomocí dotazovacího API, je indexována jako „dokument“ – analogicky jako tabulka v relačním SQL. Všechny dokumenty jsou uloženy v indexu - obdobě databáze v SQL.

Příklad dokumentu v databázi:

{
  "_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",
    ]
}

Veškerá práce s databází je založena na JSON požadavcích pomocí REST API, které buď produkují dokumenty podle indexu nebo nějaké statistiky ve formátu: otázka - odpověď. Za účelem vizualizace všech odpovědí na požadavky byla napsána Kibana, což je webová služba.

Kibana

Kibana vám umožňuje vyhledávat, získávat data a statistiky dotazů z databáze elasticsearch, ale na základě odpovědí je vytvořeno mnoho krásných grafů a panelů. Systém má také funkcionalitu správy databáze elasticsearch, v dalších článcích se na tuto službu podíváme podrobněji. Nyní si ukažme příklad řídicích panelů pro firewall Check Point a skener zranitelnosti OpenVas, které lze sestavit.

Příklad řídicího panelu pro Check Point, na obrázek lze kliknout:

1.Elastický zásobník: analýza bezpečnostních protokolů. Úvod

Příklad řídicího panelu pro OpenVas, na obrázek lze kliknout:

1.Elastický zásobník: analýza bezpečnostních protokolů. Úvod

Závěr

Podívali jsme se, z čeho se skládá Stoh ELK, trochu jsme se seznámili s hlavními produkty, později v kurzu budeme samostatně zvažovat sepsání konfiguračního souboru Logstash, nastavení dashboardů na Kibana, seznámení s API požadavky, automatizací a mnoho dalšího!

Takže zůstaňte naladěni (Telegram, facebook, VK, Blog řešení TS), Yandex Zen.

Zdroj: www.habr.com

Přidat komentář