1.Elastični stek: analiza sigurnosnih dnevnika. Uvod

1.Elastični stek: analiza sigurnosnih dnevnika. Uvod

U vezi s prestankom prodaje u Rusiji sistema za evidenciju i analizu Splunk, postavilo se pitanje: čime se može zamijeniti ovo rješenje? Nakon što sam proveo vrijeme upoznajući se sa različitim rješenjima, odlučio sam se za rješenje za pravog muškarca - "ELK stack". Ovom sistemu je potrebno vrijeme za postavljanje, ali kao rezultat možete dobiti vrlo moćan sistem za analizu statusa i pravovremeno reagiranje na incidente sigurnosti informacija u organizaciji. U ovoj seriji članaka pogledat ćemo osnovne (ili možda ne) mogućnosti ELK steka, razmotriti kako možete raščlaniti dnevnike, kako napraviti grafikone i nadzorne ploče i koje zanimljive funkcije se mogu raditi na primjeru dnevnika iz zaštitni zid Check Point ili sigurnosni skener OpenVas. Za početak, pogledajmo šta je to - ELK stek i od kojih se komponenti sastoji.

"ELK stack" je akronim za tri open source projekta: Elasticsearch, Logstash и Kibana. Razvio Elastic zajedno sa svim povezanim projektima. Elasticsearch je jezgro cijelog sistema, koji kombinuje funkcije baze podataka, pretraživanja i analitičkog sistema. Logstash je cevovod za obradu podataka na strani servera koji istovremeno prima podatke iz više izvora, analizira dnevnik, a zatim ga šalje u bazu podataka Elasticsearch. Kibana omogućava korisnicima da vizualiziraju podatke koristeći grafikone i grafikone u Elasticsearch-u. Također možete administrirati bazu podataka putem Kibane. Zatim ćemo detaljnije razmotriti svaki sistem zasebno.

1.Elastični stek: analiza sigurnosnih dnevnika. Uvod

Logstash

Logstash je uslužni program za obradu log događaja iz različitih izvora, pomoću kojeg možete odabrati polja i njihove vrijednosti u poruci, a također možete konfigurirati filtriranje i uređivanje podataka. Nakon svih manipulacija, Logstash preusmjerava događaje u konačno skladište podataka. Uslužni program se konfiguriše samo preko konfiguracionih datoteka.
Tipična logstash konfiguracija je datoteka(e) koja se sastoji od nekoliko dolaznih tokova informacija (unos), nekoliko filtera za ove informacije (filter) i nekoliko odlaznih tokova (izlaz). Izgleda kao jedan ili više konfiguracionih fajlova, koji u najjednostavnijoj verziji (koja ne radi baš ništa) izgleda ovako:

input {
}

filter {
}

output {
}

U INPUT konfigurišemo na koji port će se zapisnici slati i preko kojeg protokola, ili iz kojeg foldera za čitanje novih ili stalno ažuriranih datoteka. U FILTER-u konfiguriramo parser dnevnika: raščlanjivanje polja, uređivanje vrijednosti, dodavanje novih parametara ili njihovo brisanje. FILTER je polje za upravljanje porukom koja dolazi u Logstash sa puno opcija za uređivanje. U izlazu konfiguriramo gdje šaljemo već raščlanjeni dnevnik, u slučaju da je elastična pretraga šalje se JSON zahtjev u kojem se šalju polja sa vrijednostima, ili kao dio debug-a može se izvesti u stdout ili zapisati u datoteku.

1.Elastični stek: analiza sigurnosnih dnevnika. Uvod

Elasticsearch

U početku, Elasticsearch je rješenje za pretraživanje punog teksta, ali s dodatnim pogodnostima kao što su jednostavno skaliranje, replikacija i druge stvari, što je proizvod učinilo vrlo praktičnim i dobrim rješenjem za velike projekte sa velikim količinama podataka. Elasticsearch je nerelacijsko (NoSQL) JSON skladište dokumenata i tražilica zasnovana na Lucene pretraživanju punog teksta. Hardverska platforma je Java virtuelna mašina, tako da sistem zahteva veliku količinu procesora i RAM resursa za rad.
Svaka dolazna poruka, bilo s Logstash-om ili korištenjem API-ja upita, indeksira se kao “dokument” – analogno tablici u relacijskom SQL-u. Svi dokumenti su pohranjeni u indeksu - analognom bazi podataka u SQL-u.

Primjer dokumenta u bazi podataka:

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

Sav rad sa bazom podataka zasniva se na JSON zahtjevima koristeći REST API, koji ili proizvode dokumente po indeksu ili neke statistike u formatu: pitanje - odgovor. Kako bi se vizualizirali svi odgovori na zahtjeve, napisana je Kibana, koja je web servis.

Kibana

Kibana vam omogućava da pretražujete, dohvaćate podatke i statistiku upita iz baze podataka elasticsearch, ali mnogi prekrasni grafikoni i kontrolne table su napravljene na osnovu odgovora. Sistem takođe ima funkcionalnost administracije baze podataka elasticsearch; u narednim člancima ćemo detaljnije pogledati ovu uslugu. Sada ćemo pokazati primjer kontrolne ploče za Check Point firewall i OpenVas skener ranjivosti koji se mogu izgraditi.

Primjer kontrolne ploče za Check Point, na sliku se može kliknuti:

1.Elastični stek: analiza sigurnosnih dnevnika. Uvod

Primjer kontrolne ploče za OpenVas, na sliku se može kliknuti:

1.Elastični stek: analiza sigurnosnih dnevnika. Uvod

zaključak

Pogledali smo od čega se sastoji ELK stack, malo smo se upoznali sa glavnim proizvodima, kasnije u toku kursa ćemo posebno razmotriti pisanje logstash konfiguracionog fajla, postavljanje dashboarda na Kibani, upoznavanje sa API zahtevima, automatizaciju i još mnogo toga!

Zato ostanite sa nama (telegram, Facebook, VK, TS Solution Blog), Yandex Zen.

izvor: www.habr.com

Dodajte komentar