A logok gyűjtése és feldolgozása az informatikai biztonság egyik legfontosabb feladata, amely segít megérteni a rendszer viselkedését, azonosítani a potenciális fenyegetéseket és biztosítani a szükséges adatvédelmet. A modern infrastruktúrák számára elengedhetetlen, hogy hatékonyan és biztonságosan gyűjtsenek naplókat minden szintű eszközről és alkalmazásról. Ehhez a feladathoz többféle eszköz is rendelkezésre áll, melyek közül az egyik legismertebb és legnépszerűbb a Filebeat.
A Filebeat egy könnyű, nyílt forráskódú loggyűjtő eszköz, amely a Elastic Stack része. Képes különböző naplóformátumok feldolgozására, konvertálására JSON formátumba és az Elastic Common Schema (ECS) névkonvenció szerint történő átalakítására, így megkönnyíti a különböző forrásokból származó adatok integrálását. Használata különösen előnyös olyan környezetekben, ahol számos különböző alkalmazás és eszköz működik, például különféle tűzfalak vagy routerek, amelyek eltérő naplóformátumokat használnak.
A Filebeat előnyei közé tartozik, hogy képes automatikusan konvertálni a naplókat JSON formátumba, és képes alkalmazni az ECS szabványt anélkül, hogy komplex konfigurációkat igényelne. Ráadásul az eszköz képes több különböző célállomásra is naplókat küldeni, beleértve a Logstash-t, Kafka-t, Redis-t, vagy akár egyszerű szöveges fájlokat is. Az eszköz rendkívül könnyen beállítható és gyorsan integrálható a meglévő környezetekbe, de természetesen vannak korlátai is. Például a Filebeat csak egyetlen kimeneti célt képes kezelni egyszerre, míg a Logstash többféle kimeneti lehetőséget kínál, de nagyobb erőforrást igényel.
Fontos azonban kiemelni, hogy a Filebeat nem rendelkezik annyira fejlett szűrési képességekkel, mint a Logstash. Ha komplex adatreprezentációkat vagy több lépcsős adatfeldolgozást szeretnénk végrehajtani, akkor valószínűleg a Logstash a megfelelőbb választás. A Filebeat ezzel szemben egyszerűbb és gyorsabb megoldást kínál olyan környezetekben, ahol az alapvető naplógyűjtési igények elegendőek, és nem szükséges komplex feldolgozást végezni az adatokon.
A TLS (Transport Layer Security) konfigurációk szerepe szintén kulcsfontosságú lehet a naplók biztonságos kezelésében. Az SSL/TLS protokollok alkalmazása lehetővé teszi, hogy a naplók titkosított formában jussanak el a gyűjtő eszközökhöz, például a Filebeat-hez, így biztosítva azok integritását és védelmét a közvetítés során. Az SSL/TLS konfigurációk megfelelő beállítása elengedhetetlen, hogy elkerüljük a naplók illetéktelen hozzáférését és módosítását.
A naplók titkosítása különösen fontos a felhőalapú vagy több helyszínen működő környezetekben, ahol az adatok többféle csatornán keresztül utaznak, és a védelmükre különböző titkosítási szabványokat kell alkalmazni. Az SSL/TLS használata ezen kívül biztosítja a hitelesítést is, lehetővé téve, hogy a naplók csak a megfelelő eszközökhöz jussanak el, megelőzve a jogosulatlan hozzáférést.
A konfigurációk és naplók kezeléséhez elengedhetetlen a verziókezelő rendszerek, mint a Git használata, amelyek segítségével biztonságosan menthetjük el a naplókat, és nyomon követhetjük a változásokat. A Git lehetővé teszi, hogy könnyedén nyomon kövessük a naplókon végzett módosításokat, és visszaállítsuk a konfigurációkat szükség esetén.
Fontos, hogy a naplók megfelelő kezeléséhez a loggyűjtési eszközöket – mint a Filebeat – helyesen konfiguráljuk, és figyeljünk a rendszeres frissítésekre és karbantartásra. Ha nem kezeljük megfelelően a logokat, azok gyűjtése és elemzése nem lesz hatékony, és az esetleges incidensek és problémák gyors felismerése is lehetetlenné válik.
A Filebeat alkalmazásakor kiemelten fontos a naplók kimeneti irányait is figyelembe venni, mivel az eszköz egyszerre csak egy kimeneti célt képes kezelni. Az egyszerűsített beállítások és a kevesebb konfigurációs lépés ellenére a Filebeat kiválóan használható kisebb vagy közepes méretű környezetekben, ahol nincs szükség a naplók komplex feldolgozására vagy sokféle célállomásra történő küldésére. A TLS használata biztosítja, hogy az adatok titkosítva érkezzenek a célállomásokra, így megvédve azokat az illetéktelen hozzáféréstől.
Ahogy a könyvben előrehaladunk, a további fejezetekben különböző loggyűjtési módszereket és eszközöket ismerhetünk meg, mint a Winlogbeat, az Elastic Agent és a Rsyslog, amelyek mind segítenek a naplók hatékonyabb kezelésében és továbbításában. Az eszközök és technikák megfelelő kombinálása biztosítja, hogy a naplógyűjtés és a biztonsági infrastruktúra zökkenőmentesen működjön.
Hogyan lehet Redis-t népszerűsíteni és replikálni fenyegetési adatokhoz?
A Redis egy nyílt forráskódú in-memory adatbázis, amelyet széles körben használnak a gyors adatkezeléshez és a nagy teljesítményű alkalmazásokhoz. Különösen hasznos lehet, ha gyors keresést és adatfeldolgozást kell végezni a fenyegetési intelligencia (threat intelligence) területén, ahol az adatok gyors és hatékony kezelése kulcsfontosságú a támadások észlelésében és megelőzésében. A Redis nemcsak az adatokat tárolja, hanem lehetőséget ad azok gyors keresésére is, ami különösen fontos a fenyegetési indikátorok (Indicator of Compromise – IoC) kezelésénél. A Redis a kulcs-érték párosok tárolására és gyors hozzáférésére épít, és éppen ezért ideális választás a biztonsági alkalmazások számára, ahol az adatok gyorsan változhatnak, és a hozzáférés késlekedés nélküli kell legyen.
A Redis által biztosított funkcionalitás lehetővé teszi, hogy fenyegetési indikátorokat hatékonyan gyűjtsünk, tároljunk, és replikáljunk több szerver között. Ez a fajta adatbázis-kezelés különösen hasznos a kiberbiztonsági rendszerekben, ahol a fenyegetési adatok folyamatosan frissülnek, és a releváns információk gyors elérésére van szükség. A Redis segíthet a fenyegetési adatok központi tárolásában és a hozzájuk való gyors hozzáférés biztosításában.
A Redis népszerűsítésének és replikálásának folyamata a következő alapvető lépésekből áll: először be kell tölteni a fenyegetési adatokat, majd a Redis kulcs-érték párok segítségével strukturálni és tárolni kell őket, végül a replikáció révén biztosítani kell az adatok rendelkezésre állását több Redis szerver között.
A Redis replikáció biztosítja az adatok redundanciáját és elérhetőségét a hálózaton belül. Ez különösen fontos akkor, ha több geográfiai helyszínen dolgoznak, vagy ha a rendelkezésre állás kritikus fontosságú a rendszer működésében. A Redis folyamatosan szinkronizálja az adatokat a fő szerver és a replikált példányok között, így biztosítva a gyors adatlekérést és a fenyegetések hatékony azonosítását.
A Redis használata azonban nem korlátozódik csak a tárolásra. A Redis-képes alkalmazások integrálása lehetővé teszi az adatok gyors feldolgozását és szűrését, mielőtt azok egy végső adatbázisba, mint az Elasticsearch, kerülnek. Így az elemzők azonnali hozzáférést nyerhetnek a releváns fenyegetési indikátorokhoz, és gyorsan reagálhatnak a potenciális kockázatokra.
A Logstash egy másik kulcsfontosságú eszköz, amely segít a fenyegetési indikátorok gyűjtésében és feldolgozásában. A Logstash képes a különböző formátumú adatok átalakítására, előkészítésére és továbbítására a Redis adatbázisba. Az adatok áramlása a Logstash és a Redis között az automatizálás révén folyamatos és megbízható lesz. A fenyegetési indikátorokat, mint például az IP-címek, domainnevek és URL-ek, kulcs-érték párokként lehet tárolni, így azokat gyorsan előhívhatjuk és ellenőrizhetjük.
Fontos megérteni, hogy a fenyegetési adatok nemcsak statikus információk, hanem dinamikusan változó, folyamatosan frissülő adatok, amelyeket időről időre újra kell feldolgozni és frissíteni. Ehhez a rendszernek képesnek kell lennie arra, hogy kezelje az adatokat, amint azok változnak, és biztosítsa az adatok frissítését minden egyes replikált Redis példányban.
A saját API-k kulcsainak létrehozása elengedhetetlen ahhoz, hogy egyéni és testreszabott hozzáférést biztosítsunk a fenyegetési adatokhoz. A Redis biztosítja az API-hozzáférést, amely lehetővé teszi a fejlesztők és analitikusok számára, hogy a kívánt adatokat gyorsan és biztonságosan hozzáférhessék. Az API-k révén az alkalmazások egyszerűen integrálhatják a Redis-t a saját rendszereikbe, lehetővé téve a fenyegetési adatok valós idejű és dinamikus felhasználását.
A fenyegetési adatok kezelésében és feldolgozásában az is kulcsfontosságú, hogy ne csak a nyers adatokat tároljuk, hanem azok értékesítését is végezzük. A deduplikálás és az adatok gazdagítása elősegíti a pontosabb és megbízhatóbb fenyegetési elemzést, miközben csökkenti az adatduplikációt és a felesleges információkat. A gazdagítás során a Logstash segítségével extra metaadatokat adhatunk hozzá az IoC-khoz, például földrajzi helyekhez, típusokhoz és kapcsolódó kockázatokhoz, ami további értéket ad a feldolgozott adatokhoz.
Az adatok valós idejű és automatizált feldolgozása, valamint azok gyors hozzáférhetősége a Redis és Logstash használatával alapvető fontosságú a gyors és hatékony fenyegetési detektálásban. Az adatok replikálása és a megfelelő API-k biztosítása lehetővé teszi a fejlesztők és az analitikusok számára, hogy egyszerűen és gyorsan hozzáférjenek az információkhoz, miközben biztosítják azok integritását és elérhetőségét.
Hogyan konfiguráljuk a Redis és Memcached rendszereket a fenyegetettségi információk tárolására és kezelésére?
A biztonság és az adatfeldolgozás hatékonysága érdekében érdemes a különböző rendszereinket dedikált konfigurációs fájlok segítségével szétválasztani. Ez lehetővé teszi olyan eszközök, mint a Logstash, számára, hogy kezeljék az adatok bemenetét, átalakítását és kimenetét, míg a cache-k, mint például a Redis és a Memcached, memória alapú adatbázisként működhetnek. A következőkben bemutatjuk a Redis és Memcached telepítését és konfigurálását, különös figyelmet fordítva a TLS titkosításra, amely elengedhetetlen a biztonságos adatkommunikációhoz.
A Redis és Memcached telepítése
Először is győződjünk meg róla, hogy a hosztnevek helyesen feloldódnak, hogy a TLS kapcsolatokat biztosítani tudjuk. A projekt szervereinket két csoportra osztjuk: az első a kiberfenyegetettségi információs (CTI) node, míg a második csoport a data node-ok, amelyek Logstash-t használnak az adatfolyamok feldolgozására. A CTI node neve threatintel.local, míg a data node-ok nevei logstash01.local és logstash02.local. Az alábbiakban az IP címek bejegyzésével biztosítjuk, hogy a gépek egymás között kommunikálni tudjanak:
Ezután telepítsük a szükséges eszközöket a következő parancsokkal:
-
A kiberfenyegetettségi információs node-on:
-
A data node-okon:
A telepítést követően ne feledkezzünk meg a Redis gem telepítéséről:
A Redis és Memcached alapértelmezetten elindulhatnak a háttérben, mint szolgáltatások. Ha szükséges, leállíthatjuk őket a következő parancsokkal:
TLS engedélyezése
Ebben a projektben a különböző eszközök egymás közötti kommunikációját TLS (Transport Layer Security) védi. A Logstash például Unix socket-en keresztül kapcsolódik a Redis-hoz, és a kiberfenyegetettségi node a logstash01 és logstash02 szerverekre titkosított kapcsolaton keresztül továbbítja a cache kulcsokat.
A biztonságos kommunikáció érdekében szükség van egy wildcard tanúsítványra, amely biztosítja, hogy a különböző alkalmazások hozzáférjenek az SSL fájlokhoz. A tanúsítványt úgy kell konfigurálnunk, hogy a threatintel.local, logstash01.local és logstash02.local hostname-ek szerepeljenek benne, elkerülve a jövőbeli, wildcard tanúsítványokkal kapcsolatos problémákat.
A tanúsítványok kezelésére hozunk létre egy új csoportot, amely hozzáférést biztosít a szükséges fájlokhoz. Az alábbi parancsok létrehozzák a bookproject nevű csoportot és hozzáadják a felhasználókat:
Miután létrehoztuk a szükséges könyvtárakat és beállítottuk a megfelelő engedélyeket, letöltjük a wildcard SSL fájlokat a TLS szerverünkről. Ne felejtsük el a fájlokat a megfelelő csoport tulajdonába helyezni és megfelelő jogosultságokat adni nekik.
A Redis konfigurálása
A Redis konfigurálásához először egy 50 karakter hosszú jelszót kell generálnunk, amelyet később autentikációra használunk:
Ezután készítsünk biztonsági másolatot a Redis alapértelmezett konfigurációs fájljáról, majd módosítsuk azt a következő parancsokkal:
A Redis alapértelmezetten a localhost-ra figyel, de ha valamilyen okból a bind sor kommentálva van, akkor minden elérhető interfészen figyelni fog. Az alábbi sornak aktívnak kell lennie:
Ezután adjuk hozzá a generált jelszót a requirepass beállításhoz és engedélyezzük a Unix socket használatát, hogy a helyi alkalmazások közvetlenül kapcsolatba léphessenek a Redis-szal TCP használata nélkül:
A beállítások után a Redis szolgáltatást újra kell indítani, hogy a módosítások életbe lépjenek.
Fontos tudnivalók
A Redis és Memcached eszközök helyes konfigurálása elengedhetetlen a kiberfenyegetettségi információk hatékony és biztonságos tárolásához. A TLS titkosítás biztosítja, hogy az adatok védve legyenek, amikor az eszközök kommunikálnak egymással, akár ugyanazon a gépen, akár hálózaton keresztül. A memória alapú cache eszközök, mint a Redis és Memcached, jelentősen gyorsíthatják az adatkezelést, de fontos figyelmet fordítani azok biztonságos konfigurálására és karbantartására.
A fent említett konfigurációs lépések nemcsak a telepítéshez, hanem a napi működtetéshez is alapvetőek. Különösen ügyelni kell arra, hogy a rendszer hálózati beállításai, mint a tűzfal és az engedélyek, megfelelően korlátozzák a hozzáférést, hogy csak az arra jogosult eszközök férhessenek hozzá a fontos adatokhoz. Emellett érdemes az SSL tanúsítványok kezelésére, valamint a Redis és Memcached adatvédelmi beállításaira külön figyelmet fordítani, hogy elkerüljük az esetleges adatlopásokat vagy más biztonsági fenyegetéseket.
Hogyan alakította New Orleans a zenei örökségét?
Hogyan alakította át a média és a populáris kultúra a társadalmi valóságot?
Hogyan kezeljük a különböző sérüléseket és vészhelyzeteket?
Hogyan értelmezzük a hawaii szuverenitás kérdését a történelmi és társadalmi valóság tükrében?

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский