
Me gjithsej pĂ«rfundimin e shitjeve nĂ« Rusi tĂ« sistemit tĂ« logimit dhe analizĂ«s Splunk, u shfaq pyetja se me çfarĂ« mund tĂ« zĂ«vendĂ«sohet ky zgjidhje? Pasi kalova kohĂ« duke u njohur me zgjidhje tĂ« ndryshme, u ndala te zgjidhja pĂ«r burrat e vĂ«rtetĂ« â «ELK stack». Ky sistem kĂ«rkon kohĂ« pĂ«r t'u konfiguruar, por nĂ« fund mund tĂ« marrĂ«sh njĂ« sistem shumĂ« tĂ« fuqishĂ«m pĂ«r analizimin e situatĂ«s dhe reagimin operativ ndaj incidenteve tĂ« sigurisĂ« informacionit nĂ« organizatĂ«. NĂ« kĂ«tĂ« cikĂ«l artikujsh do tĂ« shqyrtojmĂ« mundĂ«sitĂ« themelore (ndoshta jo vetĂ«m) tĂ« stack-ut ELK, do tĂ« shohim se si mund tĂ« analizojmĂ« logĂ«t, si tĂ« ndĂ«rtojmĂ« grafika dhe tabela dĂ«shtimesh, dhe cilat funksione interesante mund tĂ« realizojmĂ« me shembuj logĂ«sh nga firewalle Check Point ose skaneri i sigurisĂ« OpenVas. SĂ« pari, le tĂ« shohim se çfarĂ« Ă«shtĂ« stack-u ELK dhe nga cilat komponente pĂ«rbĂ«het.
«ELK stack» â Ă«shtĂ« njĂ« shkurtesĂ« pĂ«r tre projekte me kod tĂ« hapur: Elasticsearch, Logstash dhe Kibana. Zhvillohet nga kompania Elastic sĂ« bashku me tĂ« gjitha projektet e lidhura. Elasticsearch Ă«shtĂ« thelbi i tĂ« gjithĂ« sistemit, qĂ« kombinon funksionet e njĂ« baze tĂ« dhĂ«nash, sistemit tĂ« kĂ«rkimit dhe analizĂ«s. Logstash Ă«shtĂ« njĂ« tubacion pĂ«r pĂ«rpunimin e tĂ« dhĂ«nave nĂ« server, i cili merr tĂ« dhĂ«na nga disa burime nĂ« tĂ« njĂ«jtĂ«n kohĂ«, analizon log-un dhe pastaj dĂ«rgon nĂ« bazĂ«n e tĂ« dhĂ«nave Elasticsearch. Kibana u lejon pĂ«rdoruesve tĂ« vizualizojnĂ« tĂ« dhĂ«nat pĂ«rmes grafikĂ«ve dhe diagrameve nĂ« Elasticsearch. Gjithashtu, pĂ«rmes Kibana mund tĂ« administrohet baza e tĂ« dhĂ«nave. MĂ« pas, do tĂ« shqyrtojmĂ« çdo sistem mĂ« nĂ« detaj.

Logstash
Logstash është një utilitar për përpunimin e log-eve të ngjarjeve nga burime të ndryshme, me të cilin mund të nxjerrim fushat dhe vlerat e tyre në mesazh, gjithashtu mund të konfigurojmë filtrimin dhe redaktimin e të dhënave. Pas të gjitha manovrave, Logstash drejton ngjarjet në depozitat përfundimtare të të dhënave. Utilitari konfigurohet vetëm përmes skedarëve të konfigurimit.
Një konfigurim tipik i logstash përbëhet nga një ose më shumë skedarë që përmbajnë disa burime informacioni (input), disa filtra për atë informacion (filter) dhe disa dalje (output). Kjo duket si një ose më shumë skedarë konfigurimi, të cilët në variantin më të thjeshtë (që nuk bën asgjë) duken kështu:
input {
}
filter {
}
output {
}
Në INPUT ne konfigurojmë se në cilin port do të vijnë logët dhe për cilin protokoll, ose nga cila dosje të lexojmë skedarët e rinj ose ata që vazhdojnë të shkruhen. Në FILTER ne konfigurojmë parser-in e logëve: analizimin e fushave, redaktimin e vlerave, shtimin e parametra të rinj ose fshirjen e tyre. FILTER është një hapësirë për menaxhimin e mesazhit që vjen në Logstash me një sërë mundësish redaktimi. Në output ne konfigurojmë se ku e dërgojmë logun e analizuar, në rast se përdoret elasticsearch dërgohet një kërkesë JSON, ku dërgohen fushat me vlerat, ose për qëllime debagimi mund të printojmë në stdout ose të regjistrojmë në skedar.

ElasticSearch
Në fillim, Elasticsearch është një zgjidhje për kërkimin e plotë, por me komoditete të tjera, si shtrirja e lehtë, replikimi dhe shumëçka tjetër që e bën produktin shumë funksional dhe një zgjidhje të shkëlqyer për projekte me ngarkesë të lartë dhe me sasi të mëdha të dhënash. Elasticsearch është një depo dokumentesh jo-releacionale (NoSQL) në formatin JSON, dhe një motor kërkimi mbi bazën e kërkimit të plotë Lucene. Platforma harduerike është Java Virtual Machine, prandaj sistemi kërkon një sasi të madhe burimesh procesori dhe memorjeje për të funksionuar.
Ădo mesazh qĂ« vjen, qoftĂ« nga Logstash ose pĂ«rmes njĂ« kĂ«rkese API, indeksohet si "dokument" â njĂ« analogji me tabelĂ«n nĂ« SQL-nĂ« relacional. TĂ« gjithĂ« dokumentet ruhen nĂ« njĂ« indeks â njĂ« analogji me databazĂ«n nĂ« SQL.
Shembulli i një dokumenti në bazë:
{
"_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",
]
}
TĂ« gjitha funksionet qĂ« lidhen me bazĂ«n e tĂ« dhĂ«nave ndodhin pĂ«rmes kĂ«rkesave JSON pĂ«rmes REST API, tĂ« cilat ose japin dokumente sipas indeksit, ose ndonjĂ« statistikĂ« nĂ« formatin: pyetje â pĂ«rgjigje. PĂ«r ta vizualizuar tĂ« gjithĂ« pĂ«rgjigjet e kĂ«rkesave, Ă«shtĂ« shkruar Kibana, e cila Ă«shtĂ« njĂ« shĂ«rbim web.
Kibana
Kibana lejon të kërkosh dhe të kërkosh të dhëna dhe statistikë nga baza e të dhënave ElasticSearch, mbi të cilat ndërtohen shumë grafikë të bukur dhe tabela të rezultatave. Gjithashtu, sistemi ka funksionalitetin për administrimin e bazës së të dhënave ElasticSearch, në artikujt e ardhshëm do të shqyrtojmë më në detaje këtë shërbim. Tani do të paraqesim një shembull të tabelave të rezultateve për firewalin Check Point dhe skanerin e dobësive OpenVas, të cilat mund të ndërtohen.
Shembulli i tabelës së rezultateve për Check Point, imazhi është klikues:
Shembulli i tabelës së rezultateve për OpenVas, imazhi është klikues:
Përfundimi
Ne shqyrtuam se çfarë përbën ELK stack, pak u njoftuam me produktet kryesore, më pas në kurs do të shqyrtojmë veçmas shkruarjen e skedarit të konfigurimit Logstash, konfigurimin e tabelave të rezultateve në Kibana, do të njoftohemi me kërkesat API, automatizimin dhe shumë më tepër!
Pra, ndiqni përditësimet (, , , ), .
Burimi: habr.com
