1.Elastne virn: turvalogide analüüs. Sissejuhatus

1.Elastne virn: turvalogide analüüs. Sissejuhatus

Seoses raie- ja analüütikasüsteemi Splunk müügi lõppemisega Venemaal tekkis küsimus: millega seda lahendust asendada? Olles veetnud aega erinevate lahendustega tutvudes, otsustasin päris mehele mõeldud lahenduse poole - "ELK virn". Selle süsteemi seadistamine võtab aega, kuid selle tulemusel saate väga võimsa süsteemi oleku analüüsimiseks ja kiireks reageerimiseks organisatsiooni infoturbeintsidentidele. Selles artiklite sarjas vaatleme ELK virna põhilisi (või võib-olla mitte) võimalusi, kaalume, kuidas saab logisid sõeluda, kuidas koostada graafikuid ja armatuurlaudu ning milliseid huvitavaid funktsioone saab teha logide näitel Check Pointi tulemüür või OpenVasi turvaskanner. Alustuseks vaatame, mis see on - ELK virn ja millistest komponentidest see koosneb.

"ELK virn" on kolme avatud lähtekoodiga projekti akronüüm: Elasticsearch, Logstash и Kibana. Arendanud Elastic koos kõigi sellega seotud projektidega. Elasticsearch on kogu süsteemi tuum, mis ühendab endas andmebaasi, otsingu ja analüütilise süsteemi funktsioonid. Logstash on serveripoolne andmetöötluskonveier, mis võtab andmeid vastu korraga mitmest allikast, analüüsib logi ja saadab need seejärel Elasticsearchi andmebaasi. Kibana võimaldab kasutajatel Elasticsearchi diagrammide ja graafikute abil andmeid visualiseerida. Andmebaasi saate hallata ka Kibana kaudu. Järgmisena käsitleme iga süsteemi eraldi üksikasjalikumalt.

1.Elastne virn: turvalogide analüüs. Sissejuhatus

Logstash

Logstash on erinevatest allikatest pärinevate logisündmuste töötlemise utiliit, mille abil saate valida sõnumis välju ja nende väärtusi, samuti saate seadistada andmete filtreerimist ja redigeerimist. Pärast kõiki manipuleerimisi suunab Logstash sündmused lõplikku andmesalve. Utiliiti konfigureeritakse ainult konfiguratsioonifailide kaudu.
Tüüpiline logstashi konfiguratsioon on fail(id), mis koosnevad mitmest sissetulevast teabevoost (sisend), mitmest selle teabe filtrist (filter) ja mitmest väljaminevast voost (väljund). See näeb välja nagu üks või mitu konfiguratsioonifaili, mis kõige lihtsamas versioonis (mis ei tee üldse midagi) näeb välja järgmine:

input {
}

filter {
}

output {
}

INPUTis konfigureerime, millisesse porti logid saadetakse ja millise protokolli kaudu või millisest kaustast uusi või pidevalt uuendatavaid faile lugeda. FILTERis konfigureerime logi parseri: väljade sõelumine, väärtuste redigeerimine, uute parameetrite lisamine või kustutamine. FILTER on väli Logstashi saabuvate sõnumite haldamiseks, kus on palju redigeerimisvõimalusi. Väljundis konfigureerime, kuhu saadame juba parsitud logi, elastsearchi korral saadetakse JSON-i päring, milles saadetakse väärtustega väljad, või silumise osana saab selle väljastada stdout-i või kirjutada faili.

1.Elastne virn: turvalogide analüüs. Sissejuhatus

Elasticsearch

Esialgu on Elasticsearch lahendus täistekstiotsinguks, kuid lisamugavustega nagu lihtne skaleerimine, replikatsioon ja muu, mis muutis toote väga mugavaks ja hea lahenduse suure andmemahuga suure koormusega projektidele. Elasticsearch on mitterelatsiooniline (NoSQL) JSON-i dokumendihoidla ja otsingumootor, mis põhineb Lucene'i täistekstiotsingul. Riistvaraplatvormiks on Java Virtual Machine, seega vajab süsteem töötamiseks palju protsessori- ja RAM-i ressursse.
Iga sissetulev kiri, kas Logstashiga või päringu API-ga, indekseeritakse "dokumendina" - analoogselt relatsioonilise SQL-i tabeliga. Kõik dokumendid on salvestatud indeksisse - SQL-i andmebaasi analoogi.

Andmebaasis oleva dokumendi näide:

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

Kogu töö andmebaasiga põhineb JSON-i päringutel, kasutades REST API-d, mis toodavad dokumente indeksi või mõne statistika vormingus: küsimus - vastus. Kõigi päringutele vastuste visualiseerimiseks kirjutati Kibana, mis on veebiteenus.

Kibana

Kibana võimaldab teil elasticsearch andmebaasist otsida, andmeid hankida ja statistikat teha, kuid vastuste põhjal koostatakse palju ilusaid graafikuid ja armatuurlaudu. Süsteemil on ka elasticsearch andmebaasi haldusfunktsioonid, järgmistes artiklites käsitleme seda teenust üksikasjalikumalt. Nüüd näitame Check Pointi tulemüüri ja OpenVasi haavatavuse skanneri armatuurlaudade näidet, mida saab ehitada.

Näide Check Pointi armatuurlauast, pilt on klõpsatav:

1.Elastne virn: turvalogide analüüs. Sissejuhatus

Näide OpenVasi armatuurlauast, pilt on klõpsatav:

1.Elastne virn: turvalogide analüüs. Sissejuhatus

Järeldus

Vaatasime, millest see koosneb ELK virn, tutvusime veidi põhitoodetega, hiljem kursusel käsitleme eraldi Logstashi konfiguratsioonifaili kirjutamist, Kibana armatuurlaudade seadistamist, API päringutega tutvumist, automatiseerimist ja palju muud!

Nii et jääge lainel (Telegramm, Facebook, VK, TS lahenduste ajaveeb), Yandex Zen.

Allikas: www.habr.com

Lisa kommentaar