1.Elastingas kaminas: saugos žurnalų analizė. Įvadas

1.Elastingas kaminas: saugos žurnalų analizė. Įvadas

Pasibaigus medienos ruošos ir analizės sistemos „Splunk“ pardavimui Rusijoje, iškilo klausimas: kuo šis sprendimas gali būti pakeistas? Praleidęs laiko susipažindamas su įvairiais sprendimais, apsisprendžiau tikram vyrui skirto sprendimo - "ELK krūva". Šios sistemos įdiegimas užtrunka, tačiau dėl to galite gauti labai galingą būsenos analizės sistemą ir operatyviai reaguoti į informacijos saugumo incidentus organizacijoje. Šioje straipsnių serijoje apžvelgsime pagrindines (o gal ir ne) ELK krūvos galimybes, apsvarstysime, kaip galima analizuoti žurnalus, kaip sudaryti grafikus ir prietaisų skydelius ir kokias įdomias funkcijas galima atlikti naudojant žurnalų pavyzdį iš „Check Point“ užkarda arba „OpenVas“ saugos skaitytuvas. Pirmiausia pažiūrėkime, kas tai yra - ELK kaminas ir iš kokių komponentų jis susideda.

"ELK krūva" yra trijų atvirojo kodo projektų akronimas: Elasticearch, „Logstash“ и kibana. Sukūrė Elastic kartu su visais susijusiais projektais. Elasticsearch yra visos sistemos branduolys, jungiantis duomenų bazės, paieškos ir analitinės sistemos funkcijas. „Logstash“ yra serverio duomenų apdorojimo dujotiekis, kuris vienu metu gauna duomenis iš kelių šaltinių, analizuoja žurnalą ir siunčia jį į „Elasticsearch“ duomenų bazę. „Kibana“ leidžia vartotojams vizualizuoti duomenis naudojant Elasticsearch diagramas ir grafikus. Taip pat galite administruoti duomenų bazę per Kibana. Toliau mes išsamiau apsvarstysime kiekvieną sistemą atskirai.

1.Elastingas kaminas: saugos žurnalų analizė. Įvadas

„Logstash“

„Logstash“ yra žurnalo įvykių iš įvairių šaltinių apdorojimo įrankis, su kuriuo galite pasirinkti laukus ir jų reikšmes pranešime, taip pat galite konfigūruoti duomenų filtravimą ir redagavimą. Po visų manipuliacijų „Logstash“ peradresuoja įvykius į galutinę duomenų saugyklą. Naudingumas sukonfigūruojamas tik naudojant konfigūracijos failus.
Įprasta logstash konfigūracija yra failas (-iai), susidedantis iš kelių įeinančių informacijos srautų (įvesties), kelių šios informacijos filtrų (filtro) ir kelių išeinančių srautų (išvesties). Tai atrodo kaip vienas ar keli konfigūracijos failai, kurie paprasčiausioje versijoje (kurie visiškai nieko nedaro) atrodo taip:

input {
}

filter {
}

output {
}

Įvesties lange sukonfigūruojame, į kurį prievadą ir per kokį protokolą bus siunčiami žurnalai, arba iš kurio aplanko skaityti naujus ar nuolat atnaujinamus failus. FILTERyje konfigūruojame žurnalo analizatorių: analizuojame laukus, redaguojame reikšmes, pridedame naujų parametrų arba juos ištriname. FILTRAS yra laukas, skirtas tvarkyti pranešimą, kuris ateina į „Logstash“, su daugybe redagavimo parinkčių. Išvestyje sukonfigūruojame, kur siunčiame jau išanalizuoti žurnalą, jei tai elasticsearch, siunčiama JSON užklausa, kurioje siunčiami laukai su reikšmėmis, arba kaip derinimo dalis gali būti išvesta į stdout arba įrašyta į failą.

1.Elastingas kaminas: saugos žurnalų analizė. Įvadas

ElasticSearch

Iš pradžių Elasticsearch yra viso teksto paieškos sprendimas, tačiau su tokiais papildomais patogumais, kaip lengvas mastelio keitimas, replikacija ir kiti dalykai, dėl kurių produktas buvo labai patogus ir geras sprendimas didelės apkrovos projektams su dideliu duomenų kiekiu. Elasticsearch yra nesusijusių (NoSQL) JSON dokumentų saugykla ir paieškos variklis, pagrįstas Lucene viso teksto paieška. Techninės įrangos platforma yra „Java Virtual Machine“, todėl sistemai veikti reikia daug procesoriaus ir RAM išteklių.
Kiekvienas gaunamas pranešimas, naudojant „Logstash“, arba naudojant užklausos API, yra indeksuojamas kaip „dokumentas“ – analogiškai reliacinio SQL lentelei. Visi dokumentai saugomi indekse – duomenų bazės analoge SQL.

Dokumento pavyzdys duomenų bazėje:

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

Visas darbas su duomenų baze yra pagrįstas JSON užklausomis naudojant REST API, kurios sukuria dokumentus pagal indeksą arba tam tikrą statistiką tokiu formatu: klausimas – atsakymas. Siekiant vizualizuoti visus atsakymus į užklausas, buvo parašyta Kibana, kuri yra žiniatinklio paslauga.

kibana

„Kibana“ leidžia ieškoti, gauti duomenis ir pateikti užklausų statistiką iš elasticsearch duomenų bazės, tačiau remiantis atsakymais sukuriama daug gražių grafikų ir prietaisų skydelių. Sistema taip pat turi elasticsearch duomenų bazės administravimo funkciją, kituose straipsniuose šią paslaugą apžvelgsime plačiau. Dabar parodykime „Check Point“ užkardos ir „OpenVas“ pažeidžiamumo skaitytuvo, kurį galima sukurti, prietaisų skydelių pavyzdį.

„Check Point“ prietaisų skydelio pavyzdys, paveikslėlį galima spustelėti:

1.Elastingas kaminas: saugos žurnalų analizė. Įvadas

„OpenVas“ prietaisų skydelio pavyzdys, paveikslėlį galima spustelėti:

1.Elastingas kaminas: saugos žurnalų analizė. Įvadas

išvada

Pažiūrėjome, iš ko jis susideda ELK rietuvė, šiek tiek susipažinome su pagrindiniais produktais, vėliau kurso metu atskirai svarstysime apie Logstash konfigūracijos failo rašymą, prietaisų skydelių nustatymą Kibanoje, susipažinimą su API užklausomis, automatizavimu ir daug daugiau!

Taigi sekite naujienas (Telegram, Facebook, VK, TS sprendimų tinklaraštis), „Yandex Zen“.

Šaltinis: www.habr.com

Добавить комментарий