
Mewn cysylltiad â diwedd gwerthiant system logio a dadansoddeg Splunk yn Rwsia, cododd y cwestiwn: beth all ddisodli'r datrysiad hwn? Ar ôl treulio amser yn ymgyfarwyddo â gwahanol atebion, penderfynais ar ateb i ddyn go iawn - "ELK stack". Mae'r system hon yn cymryd amser i'w sefydlu, ond o ganlyniad gallwch gael system bwerus iawn ar gyfer dadansoddi statws ac ymateb yn brydlon i ddigwyddiadau diogelwch gwybodaeth yn y sefydliad. Yn y gyfres hon o erthyglau, byddwn yn edrych ar alluoedd sylfaenol (neu efallai ddim) y pentwr ELK, yn ystyried sut y gallwch ddosrannu logiau, sut i adeiladu graffiau a dangosfyrddau, a pha swyddogaethau diddorol y gellir eu gwneud gan ddefnyddio'r enghraifft o logiau o wal dân Check Point neu'r sganiwr diogelwch OpenVas. I ddechrau, gadewch i ni edrych ar beth ydyw - y pentwr ELK, a pha gydrannau sydd ynddo.
"ELK stack" yn acronym ar gyfer tri phrosiect ffynhonnell agored: Elastig, Logstash и Kibana. Wedi'i ddatblygu gan Elastic ynghyd â'r holl brosiectau cysylltiedig. Elasticsearch yw craidd y system gyfan, sy'n cyfuno swyddogaethau cronfa ddata, system chwilio a dadansoddi. Piblinell prosesu data ochr y gweinydd yw Logstash sy'n derbyn data o ffynonellau lluosog ar yr un pryd, yn dosrannu'r log, ac yna'n ei anfon i gronfa ddata Elasticsearch. Mae Kibana yn galluogi defnyddwyr i ddelweddu data gan ddefnyddio siartiau a graffiau yn Elasticsearch. Gallwch hefyd weinyddu'r gronfa ddata trwy Kibana. Nesaf, byddwn yn ystyried pob system ar wahân yn fwy manwl.

Logstash
Mae Logstash yn gyfleustodau ar gyfer prosesu digwyddiadau log o wahanol ffynonellau, lle gallwch ddewis meysydd a'u gwerthoedd mewn neges, a gallwch hefyd ffurfweddu hidlo a golygu data. Ar ôl pob triniaeth, mae Logstash yn ailgyfeirio digwyddiadau i'r storfa ddata derfynol. Mae'r cyfleustodau wedi'i ffurfweddu trwy ffeiliau ffurfweddu yn unig.
Mae ffurfweddiad logstash nodweddiadol yn ffeil(iau) sy'n cynnwys nifer o ffrydiau gwybodaeth sy'n dod i mewn (mewnbwn), sawl hidlydd ar gyfer y wybodaeth hon (hidlo) a sawl ffrwd sy'n mynd allan (allbwn). Mae'n edrych fel un neu fwy o ffeiliau cyfluniad, sydd yn y fersiwn symlaf (nad yw'n gwneud dim byd o gwbl) yn edrych fel hyn:
input {
}
filter {
}
output {
}
Yn INPUT rydym yn ffurfweddu i ba borth y bydd y logiau'n cael eu hanfon a thrwy ba brotocol, neu o ba ffolder i ddarllen ffeiliau newydd neu ffeiliau sy'n cael eu diweddaru'n gyson. Yn FILTER rydym yn ffurfweddu'r parser log: dosrannu meysydd, golygu gwerthoedd, ychwanegu paramedrau newydd neu eu dileu. Mae FILTER yn faes ar gyfer rheoli'r neges sy'n dod i Logstash gyda llawer o opsiynau golygu. Mewn allbwn rydym yn ffurfweddu lle rydym yn anfon y log sydd eisoes wedi'i ddosrannu, rhag ofn ei fod yn 'elasticsearch' anfonir cais JSON ym mha feysydd sydd â gwerthoedd yn cael eu hanfon, neu fel rhan o'r dadfygio gellir ei allbynnu i stdout neu ei ysgrifennu i ffeil.

ElasticSearch
I ddechrau, mae Elasticsearch yn ddatrysiad ar gyfer chwilio testun llawn, ond gyda mwynderau ychwanegol megis graddio hawdd, dyblygu a phethau eraill, a wnaeth y cynnyrch yn gyfleus iawn ac yn ateb da ar gyfer prosiectau llwyth uchel gyda llawer iawn o ddata. Mae Elasticsearch yn storfa ddogfennau a pheiriant chwilio JSON nad yw'n perthyn (NoSQL) sy'n seiliedig ar chwiliad testun llawn Lucene. Y platfform caledwedd yw Java Virtual Machine, felly mae angen llawer iawn o adnoddau prosesydd a RAM ar y system i weithredu.
Mae pob neges sy'n dod i mewn, naill ai gyda Logstash neu gan ddefnyddio'r API ymholiad, wedi'i mynegeio fel “dogfen” - sy'n cyfateb i dabl mewn SQL perthynol. Mae pob dogfen yn cael ei storio mewn mynegai - analog o gronfa ddata yn SQL.
Enghraifft o ddogfen yn y gronfa ddata:
{
"_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",
]
}
Mae'r holl waith gyda'r gronfa ddata yn seiliedig ar geisiadau JSON gan ddefnyddio'r API REST, sydd naill ai'n cynhyrchu dogfennau yn ôl mynegai neu rai ystadegau yn y fformat: cwestiwn - ateb. Er mwyn delweddu'r holl ymatebion i geisiadau, ysgrifennwyd Kibana, sy'n wasanaeth gwe.
Kibana
Mae Kibana yn caniatáu ichi chwilio, adalw data ac ymholi am ystadegau o'r gronfa ddata elasticsearch, ond mae llawer o graffiau a dangosfyrddau hardd yn cael eu hadeiladu yn seiliedig ar yr atebion. Mae gan y system swyddogaeth gweinyddu cronfa ddata elasticsearch hefyd; mewn erthyglau dilynol byddwn yn edrych ar y gwasanaeth hwn yn fanylach. Nawr, gadewch i ni ddangos enghraifft o ddangosfyrddau ar gyfer wal dân Check Point a'r sganiwr bregusrwydd OpenVas y gellir ei adeiladu.
Enghraifft o ddangosfwrdd ar gyfer Check Point, gellir clicio ar y llun:
Enghraifft o ddangosfwrdd ar gyfer OpenVas, gellir clicio ar y llun:
Casgliad
Edrychasom ar yr hyn y mae'n ei gynnwys pentwr ELK, cawsom ychydig yn gyfarwydd â'r prif gynhyrchion, yn ddiweddarach yn y cwrs byddwn yn ystyried ysgrifennu ffeil ffurfweddu Logstash ar wahân, sefydlu dangosfyrddau ar Kibana, dod yn gyfarwydd â cheisiadau API, awtomeiddio a llawer mwy!
Felly cadwch diwnio, , , ), .
Ffynhonnell: hab.com
