3. Elastic stack: security logide analüüs. Armatuurlaud

3. Elastic stack: security logide analüüs. Armatuurlaud

Eelnevates artiklites tutvusime veidi ELK-riistakiga ja Logstashi konfiguratsioonifaili seadistamisega logide analüüsiks. Käesolevas artiklis liikume edasi kõige olulisema poole, mida analüütika seisukohalt soovite süsteemist näha ja mille jaoks kõike loodi — graafikud ja tabelid, mis on ühendatud dashboordides. Täna vaatame lähemalt visualiseerimissüsteemi Kibana, uurime, kuidas luua graafikuid ja tabeleid ning lõpuks koostame lihtsa dashboordi Check Pointi tulemüüriga seotud logide põhjal.

Kibana-ga töötamise esimene samm on indeksimuster, логически, это база индексов единых по определенному принципу. Разумеется, это исключительно настройка для того, чтобы Kibana более удобно искала информацию по всем индексам одновременно. Задается она по сопоставлению строки, допустим “checkpoint-*” и названия индекса. Например, «checkpoint-2019.12.05 » подойдет под паттерн, а просто «checkpoint» уже нет. Отдельно стоит упоминания, что в поиске искать информацию по разным паттернам индексов одновременно нельзя, чуть позже в последующих статьях мы увидим что API запросы делаются либо по названию индекса, либо как раз по одной строчке паттерну, картинка кликабельна:

3. Elastic stack: security logide analüüs. Armatuurlaud

Pärast seda kontrollime menüüs Discover, et kõik logid indekseeritakse ja õige parser on seadistatud. Kui ilmnevad mingid lahknevused, näiteks andmetüübi muutmine stringilt täisarvuks, tuleb redigeerida Logstashi konfiguratsioonifaili, et uued logid salvestataks õigesti. Et vanad logid muudatuse eest sobivasse vormingusse viia, aitab ainult reindekseerimise protsess, mida käsitletakse tulevastes artiklites üksikasjalikumalt. Veendume, et kõik on korras, pilt on klikitav:

3. Elastic stack: security logide analüüs. Armatuurlaud

Logid on kohal, seega saame alustada juhtpaneelide koostamist. Analüütika põhjal, mis on saadud turvatooteid käsitlevatelt juhtpaneelidelt, on võimalik aru saada organisatsiooni Infotehnoloogia seisundist, visuaalselt näha hetkelisi nõrkusi poliitikas ja tulevikus välja töötada viise nende kõrvaldamiseks. Loome väikese juhtpaneeli, kasutades mitmeid visualiseerimisvahendeid. Juhtpaneel koosneb viiest komponendist:

  1. tabel logide koguarvu loendamiseks blade'ide kaupa
  2. tabel kriitiliste IPS signatuuride jaoks
  3. ringdiagramm Threat Preventioni sündmustest
  4. diagram populaarseimate külastatud veebisaitide kohta
  5. diagram ohtlike rakenduste kasutamise kohta

Visuaalide kujundamiseks tuleb minna menüüsse Visualiseerida, ja valida soovitud kujund, mida soovime luua! Alustame järjestikku.

Tabel logide koguarvu arvestamiseks bleepide põhjal

Selleks valime kujundi Andmete tabel, sukeldume graafikute loomise tööriista, vasakul on kujundi seaded, paremal see, kuidas see praegustes seadetes välja näeb. Kõigepealt näitan, kuidas valminud tabel välja näeb, seejärel läheme seadete juurde, pilt on klikatav:

3. Elastic stack: security logide analüüs. Armatuurlaud

Kuna tahame muuta kujundi seadeid, on pilt klikatav:

3. Elastic stack: security logide analüüs. Armatuurlaud

Vaatame seadmeid.

Esmalt seadistatakse metrika, see on väärtus, mille alusel kõiki valasid kokku kogutakse. Näidud arvutatakse dokumentidest mingil viisil välja toodud väärtuste põhjal. Väärtused eraldatakse tavaliselt väljadest dokument, kuid need võidakse ka skriptide abil genereerida. Antud juhul seab Kogumine: Arv (logide koguarvu).

Seejärel jagame tabeli segmentideks (väljadeks), mille alusel mõõdikut arvutatakse. Seda funktsiooni täidab seadistus Buckets, mis omakorda koosneb kahest seadistuse variandist:

  1. split rows — veergude lisamine ja hilisem tabeli jagamine ridadeks
  2. split table — jagamine mitmeks tabeliks teatud välja väärtuste alusel.

V buckets Saame lisada mitu jagamist, et luua mitmeid veerge või tabeleid, piire on pigem loogilised. Aggregeerimise korral saab valida, millise meetodi alusel jagamine toimub: ipv4 vahemik, kuupäeva vahemik, Terms jne. Huvi pakkuv valik on just Terms ja Significant Terms, jagamine toimub teatud indeksivälja väärtuste alusel, nende vahel on erinevus tagastatavate väärtuste arvus ja nende kuvamises. Kuna soovime jagada tabelit bleytide nimede alusel, valime välja — product.keyword ja määrame suuruse 25 tagastatava väärtuse arvu kaupa.

Elasticsearchis kasutatakse ridade asemel 2 andmetüüpi — text ja keyword. Kui soovite teha täisteksti otsingut, peate kasutama tüüpi text, mis on väga mugav oma otsinguteenuse kirjutamisel, näiteks otsides sõna mainimist konkreetse välja (teksti) tähenduses. Kui soovite ainult täpset vastet, peate kasutama tüüpi keyword. Samuti tuleb andmetüüpi keyword kasutada väljadele, mis vajavad sorteerimist või agregatsiooni, st meie puhul.

Tulemuseks on, et Elasticsearch loendab logisid teatud aja jooksul, gruppeerides neid väljaväärtuse järgi. Custom Label'is määrame veeru nime, mis kuvatakse tabelis, määrame aja, mille jooksul kogume logisid, käivitame visualiseerimise — Kibana saadab päringu Elasticsearchile, ootab vastust ja visualizeerib saadud andmed. Tabel on valmis!

Sisekaitse sündmuste ringdiagramm

Teave selle kohta, kui palju on reaktsioonide protsentuaalne suhe, on kindlasti huvitav. detect ja prevent turbeintsidentide suhtes praeguses turvapoliitikas. Selliste juhtumite jaoks sobib hästi ringdiagramm. Valime Visualize — Ringdiagramm. Samuti määrame mõõdikus logide arvu põhjal agregatsiooni. Buckets'is seadistame Terms => action.

Tundub, et kõik on õigesti, kuid tulemuseks on väärtused kõigi blade'ide kohta, tuleb filtreerida ainult neid blade'e, mis töötavad Threat Prevention raames. Seega seame kindlasti filtri et otsida teavet ainult nende blade'ide kohta, mis vastutavad IT intsidentide eest — product: ("Anti-Bot" OR "New Anti-Virus" OR "DDoS Protector" OR "SmartDefense" OR "Threat Emulation"). Pilt on klikatav:

3. Elastic stack: security logide analüüs. Armatuurlaud

Ja täiendavad seaded, pilt on klikatav:

3. Elastic stack: security logide analüüs. Armatuurlaud

IPS sündmuste tabel

Edasi on väga oluline vaadata ja kontrollida sündmusi blade'i järgi IPS ja Ohuteemaline emulatsioon, kes ei blokeerita praeguse poliitikaga, et hiljem kas muuta signatuur prevent-ks või kui liiklus on valideeritud — mitte kontrollida signatuuri. Tabeli loome sama moodi nagu esimeses näites, ainult erinevusega, et loome mitu veergu: protections.keyword, severity.keyword, product.keyword, originsicname.keyword. Kindlasti seadistame filtri, et otsida teavet ainult nende blade'ide kohta, mis vastutavad IT intsidentide eest — product: ("SmartDefense" OR "Threat Emulation"). Pilt on klikatav:

3. Elastic stack: security logide analüüs. Armatuurlaud

Üksikasjalikud seadistused, pilt on klikkitav:

3. Elastic stack: security logide analüüs. Armatuurlaud

Diagrammid kõige populaarsemate külastatavate saadete jaoks

Selleks loome kujundi — Vertikaalne baar. Me kasutame ka mõõdikut count (Y-telg) ja X-teljel väärtustena külastatud saitide nimesid — “appi_name”. Siin on väike nipp: kui käivitada seadistused praeguses variandis, siis kuvatakse kõik saidid graafikul ühe värviga. Selleks, et need oleksid mitmevärvilised, kasutame täiendavat seadistust — “split series”, mis võimaldab jagada juba olemasolevat veergu veel mitmeks väärtuseks, sõltuvalt valitud valdkonnast! Selle jagamist saab kasutada kas ühe mitmevärvilise veeru loomiseks väärtuste järgi kokkusurutud režiimis (stacked) või normaalses režiimis, et luua mitu veergu vastavalt X-telje teatud väärtusele. Antud juhul kasutame sama väärtust, mis on X-teljel, see võimaldab kõik veerud muuta mitmevärviliseks, paremal ülal nendega tähistatakse värvidega. Filtris määrame — product: «URL Filtering», et näha teavet ainult külastatud saitide kohta, pilt on klikkitav:

3. Elastic stack: security logide analüüs. Armatuurlaud

Seadistused:

3. Elastic stack: security logide analüüs. Armatuurlaud

Diagram o kõige ohtlikumate rakenduste kasutamisest

Selle jaoks loome kuju — Vertikaalne tulp. Kasutame mõõtikut count (Y-teljel) ning X-telje väärtustena rakenduste nimetust — "appi_name". Kõige olulisem on filter määrata — product: "Application Control" AND app_risk: (4 OR 5 OR 3) AND action: "accept". Filtreerime logid Application Control'i bladi järgi, valime ainult need saidid, mis on kategoriseeritud kui kriitilise, kõrge või keskmise riskiga saidid ning ainult juhul, kui juurdepääs nendele saitidele on lubatud. Pilt on klikatav:

3. Elastic stack: security logide analüüs. Armatuurlaud

Seaded, klikatav:

3. Elastic stack: security logide analüüs. Armatuurlaud

Armatuurlaud

Armatuurlaudade vaatamine ja loomine toimub eraldi menüüs — Armatuurlauale. Siin on kõik lihtne, luuakse uus armatuurlaud, lisatakse visualiseerimine, paigutatakse kohale ja kõik!

Loome armatuurlauda, mille kaudu saab mõista, mis on organisatsiooni IS olukord, selgelt, ainult Check Pointi tasemel, pilt on klikatav:

3. Elastic stack: security logide analüüs. Armatuurlaud

Toetudes nendele graafikutele, saame mõista, millised kriitilised allkirjad ei blokeeru tulemüüris, kuhu kasutajad välja pääsevad, milliseid kõige ohtlikumaid rakendusi nad kasutavad.

Kokkuvõte

Oleme uurinud Kibana põhivisualiseerimise võimalusi ning loonud armatuurlaua, kuid see on vaid väike osa. Edasi kursusel vaatame eraldi kaardiseadet, töötamist Elasticsearchi süsteemiga, tutvume API päringutega, automatiseerimisega ja paljuga muuga!

Nii et jälgige uuendusi (Telegram, Facebook, VK, TS Solution Blog), Yandex.Dzen.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster