1. Elasztikus köteg: biztonsági naplók elemzése. Bevezetés

1. Elasztikus köteg: biztonsági naplók elemzése. Bevezetés

A Splunk naplózó és elemző rendszer oroszországi értékesítésének megszűnésével kapcsolatban felmerült a kérdés: mivel helyettesíthető ez a megoldás? Miután sok időt töltöttem azzal, hogy megismerkedtem a különböző megoldásokkal, egy igazi férfinak való megoldás mellett döntöttem - "ELK verem". Ennek a rendszernek a beállítása időbe telik, de ennek eredményeként egy nagyon hatékony rendszert kaphat a szervezet állapotának elemzésére és a szervezet információbiztonsági incidenseire való azonnali reagálásra. Ebben a cikksorozatban megvizsgáljuk az ELK verem alapvető (vagy talán nem) képességeit, megvizsgáljuk, hogyan lehet naplókat elemezni, hogyan lehet grafikonokat és műszerfalakat felépíteni, és milyen érdekes funkciókat lehet végrehajtani a naplók példáján keresztül. a Check Point tűzfal vagy az OpenVas biztonsági szkenner. Először is nézzük meg, mi ez - az ELK verem, és milyen összetevőkből áll.

"ELK verem" három nyílt forráskódú projekt rövidítése: Elasticsearch, Logstash и kibana. Az Elastic fejlesztette az összes kapcsolódó projekttel együtt. Az Elasticsearch a teljes rendszer magja, amely egyesíti az adatbázis, a kereső és az elemző rendszer funkcióit. A Logstash egy szerveroldali adatfeldolgozási folyamat, amely egyszerre több forrásból fogad adatokat, elemzi a naplót, majd elküldi egy Elasticsearch adatbázisba. A Kibana lehetővé teszi a felhasználók számára az adatok megjelenítését diagramok és grafikonok segítségével az Elasticsearch alkalmazásban. Az adatbázist a Kibanán keresztül is felügyelheti. Ezután az egyes rendszereket külön-külön, részletesebben megvizsgáljuk.

1. Elasztikus köteg: biztonsági naplók elemzése. Bevezetés

Logstash

A Logstash a különféle forrásokból származó naplóesemények feldolgozására szolgáló segédprogram, amellyel üzenetben kiválaszthatja a mezőket és azok értékeit, valamint konfigurálhatja az adatszűrést és -szerkesztést. Minden manipuláció után a Logstash átirányítja az eseményeket a végső adattárba. A segédprogram csak konfigurációs fájlokon keresztül konfigurálható.
Egy tipikus logstash-konfiguráció több bejövő információfolyamból (input), több szűrőből (szűrő) és több kimenő adatfolyamból (output) álló fájl(ok). Úgy néz ki, mint egy vagy több konfigurációs fájl, amely a legegyszerűbb verzióban (ami egyáltalán nem csinál semmit) így néz ki:

input {
}

filter {
}

output {
}

Az INPUT-ban beállítjuk, hogy a naplók melyik portra és melyik protokollon keresztül legyenek elküldve, vagy melyik mappából olvassa be az új vagy folyamatosan frissített fájlokat. A FILTER-ben konfiguráljuk a naplóelemzőt: mezők elemzése, értékek szerkesztése, új paraméterek hozzáadása vagy törlése. A SZŰRŐ egy mező a Logstashhoz érkező üzenetek kezelésére, számos szerkesztési lehetőséggel. A kimenetben beállítjuk, hogy hova küldjük a már elemzett naplót, rugalmas keresés esetén JSON kérés kerül kiküldésre, melyben értéket tartalmazó mezők kerülnek elküldésre, vagy a debug részeként kiadható stdoutba, vagy fájlba írható.

1. Elasztikus köteg: biztonsági naplók elemzése. Bevezetés

Elasticsearch

Kezdetben az Elasticsearch megoldás a teljes szöveges keresésre, de olyan további szolgáltatásokkal, mint az egyszerű méretezés, replikáció és egyebek, amelyek nagyon kényelmessé és jó megoldássá tették a terméket nagy mennyiségű adatot tartalmazó, nagy terhelésű projektekhez. Az Elasticsearch egy nem relációs (NoSQL) JSON-dokumentumtároló és keresőmotor, amely a Lucene teljes szöveges keresésén alapul. A hardverplatform Java Virtual Machine, így a rendszer működéséhez nagy mennyiségű processzor és RAM erőforrás szükséges.
Minden bejövő üzenet, akár a Logstash segítségével, akár a lekérdezési API-t használva, „dokumentumként” indexelve van – a relációs SQL-táblázathoz hasonlóan. Minden dokumentum egy indexben van tárolva - az SQL adatbázis analógja.

Példa egy dokumentumra az adatbázisban:

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

Az adatbázissal végzett minden munka a REST API-t használó JSON-kéréseken alapul, amelyek vagy index szerint állítanak elő dokumentumokat, vagy néhány statisztikai adatot a következő formátumban: kérdés - válasz. A kérésekre adott válaszok megjelenítése érdekében a Kibana egy webszolgáltatás.

kibana

A Kibana lehetővé teszi az elaszticsearch adatbázisból való keresést, adatok lekérését és statisztikák lekérdezését, de sok gyönyörű grafikon és műszerfal készül a válaszok alapján. A rendszer elaszticsearch adatbázis-adminisztrációs funkcióval is rendelkezik, a következő cikkekben részletesebben is foglalkozunk ezzel a szolgáltatással. Most mutassunk egy példát a Check Point tűzfal és az OpenVas sebezhetőség-ellenőrző irányítópultjaira.

Példa a Check Point irányítópultjára, a kép kattintható:

1. Elasztikus köteg: biztonsági naplók elemzése. Bevezetés

Példa az OpenVas irányítópultjára, a kép kattintható:

1. Elasztikus köteg: biztonsági naplók elemzése. Bevezetés

Következtetés

Megnéztük, miből áll ELK verem, kicsit megismerkedtünk a főbb termékekkel, a későbbiekben a tanfolyamon külön megfontoljuk a Logstash konfigurációs fájl írását, a dashboardok beállítását a Kibanán, az API kérésekkel való ismerkedést, az automatizálást és még sok minden mást!

Szóval maradj velünkTelegram, Facebook, VK, TS Solution Blog), Yandex Zen.

Forrás: will.com

Hozzászólás