A Filebeat és más Beats eszközök hatékonyan segítenek az adatok gyűjtésében és azok továbbításában különböző célállomásokra. A konfigurációjuk során rendkívül fontos figyelembe venni, hogy az adatokat hogyan és milyen feltételek mellett irányítjuk a kívánt kimeneti célra. A következő példákon keresztül vizsgáljuk meg, hogyan lehet egyszerűsített és rugalmas megoldásokat kialakítani a Filebeat használatával.
A Zeek SSH és Telnet eseményeit például egy Redis listára lehet irányítani, amelyet a következő beállításokkal konfigurálhatunk:
Ebben a példában a when kulcsszó azokat a feltételeket definiálja, amelyek alapján a logok a kívánt célra kerülnek. Az event.module mező értéke alapján, amely a Zeek adatokat tartalmazza, a kimeneti adatokat a "zeek" kulcs alá irányítjuk. Az olyan logok, amelyek nem felelnek meg a feltételeknek, a "filebeat" kulcs alá kerülnek. Ez a megközelítés leegyszerűsíti az adatirányítást, mivel a bonyolult logikai műveletek végrehajtása az alkalmazás szintjén történik, nem pedig a végpontoknál.
A fájlba történő írás szintén egy elterjedt módszer, amely során az adatok helyben kerülnek tárolásra. A következő konfigurációval például 10 fájl jön létre, mindegyik körülbelül 100 MB méretű:
A fájlok rotálása alapértelmezés szerint minden 10 MB után történik, és új fájlok jönnek létre minden új Filebeat indításakor. A fájlok kezelése és rotálása lehetővé teszi az adatok biztonságos tárolását, miközben minimalizálja a rendszer erőforrásainak túlzott igénybevételét.
A Logstash-ra való adatküldés is egy népszerű módszer. A Logstash segít abban, hogy a bejövő adatokat előfeldolgozza, feldolgozza és továbbítsa különböző céloknak. A Filebeat és a Logstash közötti kapcsolatot az alábbiak szerint állíthatjuk be:
Ez a beállítás a maximális kompressziót alkalmazza, hogy csökkentse a hálózati terhelést, de figyelembe kell venni, hogy ez magasabb CPU terhelést eredményezhet a Logstash számára. A Filebeat és Logstash közötti adatkommunikáció optimalizálása javítja az adatfolyamok stabilitását, és csökkenti a hálózaton jelentkező torlódásokat.
A feldolgozott adatok továbbításakor gyakran szükség van arra, hogy bizonyos adatokat eltávolítsunk vagy anonimizáljunk, különösen, ha az adatokat auditálásra használják. Az alábbi példában a drop_fields és script feldolgozók segítségével törölhetjük a nem kívánt mezőket, valamint anonimizálhatjuk a felhasználóneveket:
Ezzel a megoldással csak a releváns információk kerülnek továbbításra, miközben a többi adat (mint például a felhasználó neve) törlésre kerül. Az ilyen típusú adatkezelés különösen fontos akkor, ha jogszabályi előírások vagy vállalati politikák követelményeinek kell megfelelni.
Végül, a Windows környezetben a Filebeat lehetőséget biztosít a logok olvasására, ha nem a Windows Event Log-ról van szó. Az alábbi parancs segítségével letölthetjük és telepíthetjük a Filebeat legújabb verzióját Windows-ra:
Ez lehetővé teszi, hogy a Windows rendszeren is könnyedén beállíthassuk és futtassuk a Filebeat-ot, amely az operációs rendszer naplóit és egyéb adatokat összegyűjti.
Mindezek a módszerek és beállítások biztosítják, hogy a Filebeat és más Beats eszközök a lehető leghatékonyabban dolgozzanak a rendszerünkben. A legfontosabb dolog, hogy mindig figyelembe kell venni az adatokat, amiket kezelünk: biztosítani kell, hogy azok biztonságban legyenek, ugyanakkor a szükséges információk minden esetben elérhetőek legyenek az elemzéshez és az auditáláshoz. A megfelelő konfigurációval maximalizálhatjuk a Filebeat és más eszközök teljesítményét és biztonságát.
Hogyan használjuk a Filebeat és Winlogbeat eszközöket Windows környezetben?
A Filebeat és Winlogbeat olyan fontos eszközök a log-adatok gyűjtésére és továbbítására, amelyek képesek hatékonyan feldolgozni a Windows rendszerek eseménynaplóit. Mindkét eszközt az Elastic Stack részeként alkalmazhatjuk, és alapvető szerepük van a naplózott adatok folyamatos gyűjtésében, feldolgozásában és tárolásában. Az alábbiakban a telepítési és konfigurálási lépéseket, valamint a Windows rendszer logjainak gyűjtésére vonatkozó tudnivalókat tárgyaljuk.
A Filebeat telepítése és konfigurálása a Windows környezetekben az első lépés a rendszer naplóinak begyűjtése előtt. A telepítési folyamat során fontos figyelembe venni, hogy a Filebeat automatikusan létrehozza a szolgáltatásokat, és azokat késleltetett indítással konfigurálja, hogy az operációs rendszer indulásakor a szükséges Windows szolgáltatások először betöltődjenek. Az eszköz használatához a telepítéshez PowerShell script futtatása szükséges, amely előfordulhat, hogy hibát ad, ha a rendszeren le van tiltva a script végrehajtása. Ebben az esetben az alábbi parancsokat kell alkalmazni:
Ezek a parancsok ideiglenesen megváltoztatják a PowerShell végrehajtási szabályait, hogy lehetővé tegyék a script futtatását. Fontos, hogy a telepítés után az eredeti szabályozást visszaállítsuk, hogy megőrizzük a rendszer biztonságát.
Miután a Filebeat telepítve van, fontos, hogy a konfigurációs fájlokat helyesen állítsuk be. A filebeat.yml konfigurációs fájlban olyan naplók elérési útjait kell megadni, amelyek ideálisak a teszteléshez és a további feldolgozáshoz. Például a Microsoft Edge böngésző frissítési naplói különösen hasznosak, mivel minden frissítési ellenőrzésnél új bejegyzést adnak hozzá a naplóhoz:
Az Edge frissítési naplók ideálisak, mivel gyakori frissítési események rögzítésére szolgálnak, amelyek segíthetnek a Filebeat helyes működésének tesztelésében. Az ilyen típusú naplók begyűjtésével egyszerűen ellenőrizhetjük, hogy az eszköz megfelelően működik-e a Windows rendszeren.
A telepítés és tesztelés után fontos, hogy az összes konfigurációs fájlt biztonságos helyen tároljuk. Az ilyen fájlokat célszerű a projekt Git-tárolójába elhelyezni, hogy azok mindig elérhetők legyenek a későbbi használatra. Az adatok biztonságos tárolásához a titkosított fájlokat is töröljük a Git commit előtt, így elkerülhetjük a bizalmas információk kiszivárgását. A fájlok hozzáadása a tárolóhoz az alábbi módon történik:
Ezáltal biztosíthatjuk, hogy a konfigurációink és a titkosító fájlok biztonságosan mentésre kerüljenek, és bármikor visszakereshetők legyenek a projekt fejlesztése során.
A Filebeat egyszerű, de hatékony eszköz az adatok kinyerésére, azok hasznos formátumba történő átalakítására, majd egy másik rendszer felé történő továbbítására. Az eszköz képes az adatokat JSON formátumban elküldeni, miközben feldolgozhatja, formázhatja, törölheti vagy anonimálhatja őket a szükségleteknek megfelelően. A Filebeat továbbá támogatja a nagyvállalati szintű adatfeldolgozó eszközöket, mint például a Kafka, Redis és Logstash, amelyek az adatok további feldolgozására és tárolására szolgálnak.
A Winlogbeat, amely szintén a Filebeat-hez hasonlóan az Elastic Stack része, kifejezetten a Windows eseménynaplók gyűjtésére és továbbítására szolgál. A Winlogbeat alapvetően képes kezelni azokat az eseményeket, amelyek a Windows rendszer minden verziójában rögzítésre kerülnek, beleértve az alkalmazási, rendszer- és biztonsági eseményeket is. A Windows rendszerekben található naplók különböző típusú eseményeket tartalmaznak, amelyek segíthetnek a rendszerek biztonsági helyzetének megértésében és a potenciális problémák azonosításában.
A legfontosabb naplók közé tartozik az "Application" napló, amely a különböző alkalmazások hibáit, erőforrás-használatot és frissítési eseményeket tartalmaz. Bár ezek az adatok fontosak lehetnek a rendszer karbantartása során, a hosszú távú tárolásuk nem mindig indokolt. A "System" napló fontos információkat tartalmaz a rendszer működéséről, például a szolgáltatások állapotáról, rendszerösszeomlásokról és a hálózati problémákról. A "Security" napló különösen fontos, mivel tartalmazza a felhasználói bejelentkezési eseményeket, a jogosultságváltozásokat és a folyamatok futtatását.
A Windows rendszerekben található naplók gyorsan felhalmozódhatnak, ezért fontos, hogy azokat megfelelően szűrjük és rendszerezzük. A megfelelő konfigurációval és a loggyűjtő eszközök használatával az eseménynaplók feldolgozása könnyebbé válik, és lehetőséget ad a biztonsági események, a rendszer viselkedésének és a teljesítményproblémák azonosítására.
A Winlogbeat telepítése és konfigurálása során ügyeljünk arra, hogy csak a szükséges naplókat gyűjtsük be, és a túlzott mennyiségű adat gyűjtését elkerüljük. Az eszköz képes a logokat JSON formátumban küldeni a kívánt kimenetre, például egy Elasticsearch adatbázisba vagy Logstash rendszerbe, ahol további feldolgozást és elemzést végezhetünk.
Hogyan állítsuk be a branch távoli eredetét a Git-ben és végezzük el az alapvető műveleteket?
A Git, mint verziókezelő rendszer, lehetővé teszi a projektek hatékony kezelését és együttműködést a csapatok számára. A távoli eredet beállítása, a branch-ek összeolvasztása és a kód tisztítása csak néhány a legfontosabb lépések közül, amelyek segítenek a folyamatok optimalizálásában. Az alábbiakban bemutatom, hogyan kell ezeket a műveleteket végrehajtani a Git használatával, hogy biztosítsuk a tiszta és rendezett verziókezelést.
A branch távoli eredetének beállítása alapvető lépés, amelyet minden fejlesztőnek ismernie kell. A Git távoli eredete (remote origin) az a hely, ahol a központi verziótár található, amelyet a helyi másolatokkal szinkronizálunk. A távoli eredet beállításához használnunk kell a git remote add origin <repository-url> parancsot. Ezután bármilyen változtatást, amit a helyi gépen végzünk, a git push origin <branch-name> segítségével tudunk feltölteni a távoli repository-ba.
Ezután az új branch létrehozása következik. Ha már dolgozunk egy különálló branch-en, a következő lépés a branch összeolvasztása (merge) a main ággal, amely a projekt alapértelmezett, stabil ága. Az összeolvasztás során figyelnünk kell arra, hogy ne keletkezzenek konfliktusok. A git merge <branch-name> parancs segítségével elvégezhetjük az összeolvasztást. Ha vannak konfliktusok, a Git megkéri, hogy kézzel oldjuk meg őket. Ezt követően egy új commit-tal véglegesíthetjük a változtatásokat.
A Git-ben számos olyan művelet is létezik, amelyek segíthetnek a felesleges fájlok eltávolításában vagy a kód tisztításában. Ezt a git clean és git gc parancsokkal végezhetjük el, amelyek segítenek a projektben felhalmozódott felesleges fájlok eltávolításában és a repository optimalizálásában. Ez a lépés különösen fontos, ha hosszú távon dolgozunk a projekten, és a repository mérete folyamatosan nő.
A rebasing és a kód visszaállítása szintén hasznos műveletek, különösen akkor, ha az alapértelmezett branch és a fejlesztési branch közötti eltéréseket szeretnénk kezelni. A git rebase <branch-name> parancs segítségével az aktuális branch történetét újraírhatjuk, hogy az tisztább legyen, vagy hogy a változtatások jobban illeszkedjenek az alap branch-hez. Az alap branch (általában main) kódjával való szinkronizálás során előfordulhat, hogy szükség lesz az aktuális kód visszaállítására egy korábbi állapotra. Ezt a git reset --hard <commit-id> parancs használatával végezhetjük el, amely visszaállítja a projektet a megadott commit állapotára.
Egy új tesztbranch létrehozása és annak tesztelése szintén kulcsfontosságú a fejlesztés során. A git checkout -b <test-branch-name> parancs segítségével létrehozhatunk egy új ágat, amelyet kizárólag tesztelési célra használhatunk. Miután a teszt sikeresen befejeződött, és minden funkció megfelelően működik, az új branch-et összeolvashatjuk a fő ággal a git merge segítségével.
Egy másik fontos lépés a távoli main ágon végzett módosítások kezelése. A git pull parancs segítségével szinkronizálhatjuk a helyi repository-t a távoli tárolóval, ha más fejlesztők is dolgoztak a fő ágon. Ha olyan változtatásokat hajtottak végre, amelyek ütköznek a saját változtatásainkkal, akkor ezeket a konfliktusokat is meg kell oldani.
A változtatások ideiglenes elmentésére a Git lehetőséget biztosít. A git stash parancs segítségével elmenthetjük az aktuális munkát anélkül, hogy commitot készítenénk. Így ideiglenesen elmenthetjük a módosításokat, és más feladatokkal foglalkozhatunk. Később a git stash apply segítségével visszatérhetünk a korábban elmentett módosításokhoz.
A repository kezelésében kulcsszerepet játszik a tisztításon kívül a projekt kódjának tárolása és karbantartása is. Az új branch-ek létrehozása és a változtatások összeolvasztása mellett az is fontos, hogy a projekt rendszeres karbantartást kapjon, hogy biztosítsuk a megfelelő működést. Az optimális Git workflow érdekében érdemes naprakészen tartani a dokumentációt, hogy minden csapattag számára világos legyen a verziókezelési folyamat.
A Git használata segíti a fejlesztők közötti együttműködést és hatékonyabbá teszi a munkát. Az alapvető műveletek, mint a távoli origin beállítása, a branch-ek összeolvasztása és a kód tisztítása mind hozzájárulnak ahhoz, hogy a projekt könnyen kezelhető és átlátható maradjon.
Hogyan hozhatunk létre TLS tanúsítványokat és közvetlenül aláírt tanúsítványokat Ansible segítségével?
A TLS tanúsítványok generálása és kezelése alapvető fontosságú minden biztonságos rendszer számára. Az Ansible és a kapcsolódó modullal, mint az OpenSSL és X.509, gyorsan létrehozhatunk a tanúsítványokat, amelyeket titkosításhoz és hitelesítéshez használunk. A következőkben egy alapvető útmutatót találunk, amely segít a saját tanúsítványok és hitelesítő hatóságok (CA) létrehozásában, valamint a helyes konfigurációban, amely biztosítja a biztonságos kommunikációt.
A TLS és az OpenSSL alapú automatikus tanúsítványkezelésben az első lépés az, hogy létrehozzuk a szükséges fájlstruktúrát. Az Ansible fájlrendszer-kezelő modulja, a file, egyszerűsített parancsokat kínál a szükséges mappák létrehozásához, amelyeket a TLS és X.509 fájlok tárolására fogunk használni.
A szükséges mappák létrehozása a következő módon történhet:
Ez a kódrészlet a szükséges könyvtárakat hozza létre, amelyeket az Ansible végrehajtásakor az item változó alapján iterálunk át.
Ezután elérkezünk a tanúsítványok generálásának szívéhez. A következő lépés a root hitelesítő hatóság (Root CA) kulcsának létrehozása, amely egy 4096 bites RSA kulcs lesz. Az Ansible az openssl_privatekey modult használja ehhez a feladathoz, amely lehetővé teszi, hogy biztonságos kulcsot hozzunk létre egy jelszóval védve:
Miután létrehoztuk a root CA kulcsát, a következő lépés a tanúsítvány aláírási kérelmének (CSR) létrehozása. A openssl_csr modul segítségével a kulcs aláírásához szükséges paramétereket is megadhatjuk, mint például az országot, államot, települést és az adatokat, amelyek a tanúsítványban szerepelnek:
Ez a lépés szükséges ahhoz, hogy létrehozzunk egy hitelesített tanúsítványt, amelyet a gyökér CA alá fogunk írni. Az OpenSSL által aláírt tanúsítvány érvényessége alapértelmezés szerint 10 év.
A közvetlenül aláírt tanúsítványok (Intermediate CA) létrehozásának folyamata hasonló a gyökér CA létrehozásához, azonban a közvetlenül aláírt tanúsítványok esetében az aláíró CA tanúsítványát és kulcsát kell megadnunk a tanúsítvány aláírásához. A közvetlenül aláírt tanúsítvány esetében az alábbi paraméterekre lesz szükség:
A közvetlenül aláírt tanúsítvány létrehozásához az alábbi kódot használhatjuk:
Miután a közvetlenül aláírt tanúsítványt generáltuk, létrehozhatjuk a tanúsítványláncot, amely tartalmazza a gyökér és a közvetlen tanúsítványokat egyetlen fájlba.
A tanúsítványlánc létrehozása biztosítja, hogy az összes aláíró hatóság és a saját aláírási láncunk megfelelően legyen kezelve és a rendszerünkben használt összes tanúsítvány hitelesítve legyen.
A fenti lépések követése során fontos, hogy a TLS, CA és tanúsítványkezelés összes elemét alaposan megértsük. Az SSL/TLS aláírási folyamatok, a kulcsok védelme és az aláírási kérések biztonságos kezelése elengedhetetlen a titkosított kommunikáció és a rendszer biztonságának fenntartásához. A generált tanúsítványokat folyamatosan frissíteni kell, hogy azok mindig érvényesek legyenek, és biztonságos módon biztosítsák a rendszerek közötti adatátvitelt.

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