1. Elastic stack: analýza bezpečnostních logů. Úvod

1. Elastic stack: analýza bezpečnostních logů. Úvod

S ohledem na ukončení prodeje systému pro logování a analýzu Splunk v Rusku se objevila otázka, čím lze toto řešení nahradit. Po věnování času zkoumání různých řešení jsem se rozhodl pro řešení pro opravdového muže — „ELK stack“. Tento systém vyžaduje čas na jeho nastavení, ale výsledkem může být velmi výkonný systém pro analýzu stavu a operační reakce na incidenty v oblasti informační bezpečnosti v organizaci. V této sérii článků se podíváme na základní (a možná i ne) možnosti ELK stacku, prozkoumáme, jak parsat logy, jak vytvářet grafy a dashboardy a jaké zajímavé funkce lze udělat na příkladu logů z firewallu Check Point nebo bezpečnostního skeneru OpenVas. Nejprve se podívejme, co to vlastně je — ELK stack a z jakých komponentů se skládá.

„ELK stack“ — je zkratka tří projektů s otevřeným zdrojovým kódem: Elasticsearch, Logstash a Kibana. Vyvíjí společnost Elastic spolu se všemi souvisejícími projekty. Elasticsearch je jádro celého systému, který kombinuje funkce databáze, vyhledávacího a analytického systému. Logstash je datový zpracovatelský kontejner na straně serveru, který získává data z několika zdrojů současně, parsuje logy a poté je posílá do databáze Elasticsearch. Kibana umožňuje uživatelům vizualizovat data pomocí diagramů a grafů v Elasticsearch. Také přes Kibanu lze spravovat databázi. Následně podrobněji prozkoumáme každý systém zvlášť.

1. Elastic stack: analýza bezpečnostních logů. Úvod

Logstash

Logstash – je utilita pro zpracování logů událostí z různých zdrojů, s jejíž pomocí lze extrahovat pole a jejich hodnoty ve zprávě, také je možné nastavit filtrování a úpravu dat. Po všech manipulacích Logstash přesměrovává události do konečného úložiště dat. Utilita se nastavuje pouze pomocí konfiguračních souborů.
Typická konfigurace Logstash se skládá ze souboru(s) skládajícího se z několika vstupních informačních kanálů (input), několika filtrů pro tyto informace (filter) a několika výstupních kanálů (output). Vypadá to jako jeden nebo více konfiguračních souborů, které v nejjednodušší variantě (která vlastně nedělá vůbec nic) vypadají takto:

input {
}

filter {
}

output {
}

V INPUT nastavujeme, na který port budou přicházet logy a podle jakého protokolu, nebo ze které složky číst nové nebo neustále zapisované soubory. V FILTER nastavujeme parser logů: rozbor polí, úprava hodnot, přidání nových parametrů nebo odstranění. FILTER je pole pro řízení zprávy, která přichází na Logstash s mnoha možnostmi úprav. V output nastavujeme, kam odesíláme již zpracovaný log. V případě, že se jedná o Elasticsearch, se odesílá JSON dotaz, ve kterém se posílají pole s hodnotami, nebo v rámci ladění lze vyvést do stdout nebo zapsat do souboru.

1. Elastic stack: analýza bezpečnostních logů. Úvod

ElasticSearch

Původně byl Elasticsearch řešení pro fulltextové vyhledávání, ale s dalšími výhodami, jako je snadná škálovatelnost, replikace a další, což učinilo produkt velmi praktickým a dobrým řešením pro vysoce zatížené projekty s velkými objemy dat. Elasticsearch je nerelationalní úložiště (NoSQL) dokumentů ve formátu JSON a vyhledávací systém založený na fulltextovém vyhledávání Lucene. Hardwarová platforma — Java Virtual Machine, proto systém vyžaduje velké množství procesorových a paměťových zdrojů pro svou činnost.
Každá přicházející zpráva, ať už z Logstash nebo prostřednictvím API dotazu, je indexována jako "dokument" — analog tabulky v relačním SQL. Všechny dokumenty jsou uloženy v indexu — analog 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í se provádí pomocí JSON dotazů pomocí REST API, které buď vracejí dokumenty podle indexu, nebo nějakou statistiku ve formátu: otázka — odpověď. Aby byly všechny odpovědi na dotazy vizualizovány, byla vytvořena Kibana, což je webový servis.

Kibana

Kibana umožňuje vyhledávat data a dotazovat statistiky z databáze Elasticsearch, na základě odpovědí se sestavuje celá řada krásných grafů a dashboardů. Systém také obsahuje funkce pro správu databáze Elasticsearch. V následujících článcích se podrobněji seznámíme s touto službou. A nyní ukážeme příklad dashboardů pro firewall Check Point a skener zranitelností OpenVas, které je možné vytvořit.

Příklad dashboardu pro Check Point, obrázek je klikací:

1. Elastic stack: analýza bezpečnostních logů. Úvod

Příklad dashboardu pro OpenVas, obrázek je klikací:

1. Elastic stack: analýza bezpečnostních logů. Úvod

Závěr

Podívali jsme se, z čeho se skládá ELK stack, trochu jsme se seznámili se základními produkty. Dále v kurzu se budeme samostatně zabývat psaním konfiguračního souboru Logstash, nastavením dashboardů v Kibana, 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