NXLOG Manager és Agent naplógyűjtő funkciói
1. Általános ismertető
Napjainkban az eseménynaplók menedzselése komoly követelményeket támaszt az IT infrastruktúrákkal szemben. Több száz különböző eszköz, alkalmazás, appliance ontja magából az események tömegét. Ezeket az eseményeket valós időben kell kezelni: szűrés, osztályozás, korrelálás és más tipikus feldolgozás után központilag tárolni. Sok IT szervezet ezt a feladatot úgy oldja meg, hogy tucatnyi szoftvert kapcsol össze tucatnyi parancsfájllal, melyeknek mind sajátos konfigurációval és adatformátummal bírnak. Az NXLogManager és Agent egy olyan nagyteljesítményű, multi-platform naplógyűjtő és elemző rendszer, mely elosztott naplógyűjtést valósít meg, mely távolról konfigurálható és monitorozható. A fenti feladatokat egységes rendszerként képes megvalósítani. Számos különböző esemény forrás kezelésére képes, valamint ezen adatok hatékony feldolgozására is. A távoli menedzsment pedig megkönnyíti az üzemeltetési feladatok végrehajtását.
A log menedzsment legnagyobb kihívása egyrészt a sokfajta logforrás és ezek formátumai, illetve az, hogy milyen módon képes a log menedzsment eszköz ezeket a napló adatokat begyűjteni vagy elhozni.
Az egyik megoldás a naplóesemények gyűjtésére, hogy az eszközökbe illetve operációs rendszerekbe beépített megoldást használva, külső feltelepített szoftver nélkül – azaz agent-less módon – próbáljuk meg elhozni a napló adatokat. Ennek az előnye az, hogy nem kell semmit feltelepíteni a kliens eszközökre illetve rendszerekre, azonban számtalan hátránya is van:
- Unix/Linux-on a syslog formátumú log küldés az elterjedt.
Ez egy szöveg alapú egyszerű formátum amit mintaillesztéssel és egyéb parse-olással fel kell dolgozni.
Továbbá a legtöbb syslog alapú logforrás csak veszteséges UDP alapú továbbításra képes. Megbízható illetve biztonságos SSL transzportot a legtöbb syslog eszköz nem támogat.
- A Windows operációs rendszerek csak a beépített WMI illetve MSRPC protokollon keresztül teszik lehetővé a rendszernaplók továbbítását. Ezek a protokollok nem nyíltak és nincs teljes értékű platform független implementáció, azaz csak a Microsoft Windows képes ilyet kezelni. Mindamellett, hogy ezen naplóadatok formátuma is teljesen eltérő a syslog formátumtól, ezeknek a protokolloknak továbbá jelentős plusz erőforrásigénye van amely sok esetben akár a rendszer túlterheléséhez vezethet.
- Az agent-less a módszerrel nem lehet elhozni azokat az alkalmazás logokat, amelyek nem a rendszernaplóba íródnak. Ilyenek a fájl vagy adatbázis alapú alkalmazás logok.
Ezzel szemben az agent alapú naplógyűjtésnek egyetlen hátránya, hogy nem minden esetben van lehetőség külső szoftvert telepíteni az adott rendszerre (pl.: hálózati eszközök). Mindezek mellet ennek a módszernek számos előnye van, többek között ezeket az NXLOG Agent termékünk is biztosítja:
- Megbízható és biztonságos módon SSL protokollon keresztül képes a legelterjedtebb platformokról naplóadatokat továbbítani.
- A rendszernapló mellett az agent képes az adott rendszeren található több forrásból is naplóadatokat gyűjteni. Ilyenek például a különböző formátumú naplófájlok, kernel log, windows eventlog, lokális syslog, stb.
- Minden platformról és logforrásból azonos protokollon képes továbbítani a napló adatokat, így a központi gyűjtő konfigurációja egyszerűsödik.
- Az nxlog agent képes a kliens oldali naplófeldolgozásra, elsősorban szűrésre illetve mintaillesztésre. Ezzel a módszerrel tulajdonképpen egy elosztott naplófeldolgozó rendszerhez jutunk. Ennek nagy előnye, hogy a központi gyűjtőnél jelentősen csökkenthető a feldolgozással járó erőforrásigény, mivel ez a klienseken történik meg. A legtöbb logmenedzsment termékgyártó, amely ad saját agent-et, sem alkalmaz ilyen architektúrát, mivel a központi feldolgozás esetén csak a központi naplóadat feldolgozót kell konfigurálni. Így az agent alapú gyűjtőket nem kell rendszeresen frissíteni a feldolgozó szabályokkal és konfigurációval, továbbá azok felépítése és működése is jóval egyszerűbb.
2. Az NXLog Manager és agent tulajdonságai
2.1. Agent vezérlés
Az agent vezérlése egy biztonságos (SSL) kapcsolaton keresztül történik annak érdekében, hogy egy esetleges támadó vagy illetéktelen másik fél ne tudja átvenni az irányítást. Az SSL kapcsolaton keresztül SOAP protokollon keresztül vezérli az NXLOG Manager az agenteket.
A rendszer kétirányú kapcsolódási formát biztosít. Az egyik esetben a központi NXLOG Manager alkalmazás kezdeményezi a kapcsolatot az agent felé, a másik esetben az NXLOG agent kezdeményezi a kapcsolatot a központi NXLOG Manager felé. A különféle határvédelmi zónák és tűzfalas szabályok miatt tartjuk szükségesnek e két kapcsolódási lehetőség támogatását.
2.2. Agent monitorozás
Az NXLOG Manager alkalmazás web alapú felületén különféle szempontok szerint van lehetőség az NXLOG agent-eket listázni és ezeknek állapotát monitorozni. A rendszer megjeleníti az egyes agent-ek terhelését, memória használatát, a gyűjtött illetve továbbított naplóadat mennyiséget. Ezeket a naplógyűjtési és működési statisztikákat grafikonos megjelenítéssel több időintervallumra visszamenőleg (nap, hét, hó) képes a felhasználó számára megjeleníteni.
Működési hiba esetén az NXLOG Manager alkalmazás felületén azonnal látszik a hibás agent állapota. Amennyiben az agent továbbra is elérhető a menedzsment kapcsolaton keresztül, a felhasználónak lehetősége van az agent saját naplóját és hibaüzeneteit távolról megtekinteni. Ennek ismeretében szükség esetén lehetősége van módosítani az agent beállításain és képes távolról újraindítani vagy leállítani az agent-et, akár egyenként akár tömegesen.
2.3. Agent konfigurációs profilok kezelése
Az informatikai infrastruktúrákban a legtöbb esetben heterogén rendszerek működnek, azonban ezen belül sok eszköz ugyanazt a funkciót látja el. Jó példa erre a vállalatoknál található egységes desktop számítógépek, vagy egy internetes tartalom szolgáltatóknál a sok azonos web-szerver példány. Általánosságban elmondhatjuk, hogy a logforrások külön altípusokra bonthatók és jóval kevesebb forrás típus létezik mint amennyi forrás. Ezeket a típusokat célszerű egységesítetten kezelni.
Az NXLogManager alkalmazás lehetővé teszi, hogy egy már elkészített konfigurációt, vagy annak részeit átmásolhassuk egy újonnan létrehozott NXLog agent alá. Így az egységes konfigurációt igénylő rendszerek könnyen, együtt kezelhetők. Amennyiben a másolást követően egy modul konfigurációján módosítunk, az módosul minden agent/rendszer esetében. Minden logforrás típus esetében elegendő egyszer létrehozni a konfigurációt, majd ennek másolása után a módosítás más tranzitív.
2.4. Központi tanúsítványkezelés
A biztonságos vezérlés és naplóadat továbbítás feltétele az SSL kapcsolat felépítéséhez szükséges tanúsítvány. Az NXLOG Manager e tanúsítványok alapján azonosítja és engedélyezi az agent-ek kapcsolódását és a naplóadatok gyűjtéstét. Ezeket a tanúsítványokat az alkalmazás központosítottan kezeli (kibocsátás, visszavonás, megújítás) és képes az agent-ekre eljuttatni a menedzsment kapcsolaton keresztül.
A központosított tanúsítványkezelésre az NXLOG Manager egy beépített PKI-t (public key infrastructure, azaz nyilvános kulcsú infrastruktúra) használ. Ez az alrendszer X509 formátumú tanúsítványokat illetve ezek privát kulcspárjait kezeli.
Természetesen az adminisztrátori teendők minimalizálása érdekében az agent-hez rendelt tanúsítványok létrehozása illetve visszavonása az agent létrehozásával illetve törlésével egy időben megtörténik, így nem szükséges ezeket külön létrehozni és az agent-ekhez hozzárendelni.
A tanúsítvány lejárat esetén a frissítést egyszerűen és akár tömegesen is meg lehet tenni az NXLOG Manager webes felületén keresztül. A megújított tanúsítványokat az NXLOG Manager ezután feltölti az agent-ekre, ezáltal szintén megspórolva az adott rendszer operátorának manuális beavatkozását az ilyen esetben.
2.5. Támogatott eseményforrások
A log menedzsment és SIEM rendszerek hatékonysága nagyban függ a támogatott eseményforrások számától és a támogatás minőségétől.
Az NXLOG agent termékünk igen rugalmas konfigurálási lehetőségeket biztosít, amivel képes a legtöbb text alapú – valamilyen strukturált (pl. syslog, JSON, vagy CSV) vagy akár strukturálatlan (szabad szöveges) – naplóüzenetet feldolgozni. Ennek segítségével lehetőség van sok fajta eseményforrás naplóüzeneteit feldolgozni több-kevesebb konfigurációs munkával, beleértve az egyedi fejlesztésű, a piacon nem vagy kevésbé elérhető alkalmazások naplóit is.
Létezik azonban számos olyan logforrás, amely nem szöveges (text) alapú fájlba írja a naplóüzeneteit, hanem valamilyen protokollon vagy API-n keresztül érhető el, vagy pedig bináris formátumú.
Egy jól működő és megfelelően bekonfigurált log menedzsment rendszer a teljes infrastruktúra naplóüzeneteit képes begyűjteni, feldolgozni és elemezni. Azonban a bekötetlen források esetén a begyűjtött naplóüzenetek és információ hiányában nem leszünk képesek minden kérdésre választ adni illetve a rendszer működését nyomon követni. Mivel az egyes rendszerelemek infrastrukturális szinten általában kapcsolatban állnak egymással, ezért az egyik működési állapota sok esetben befolyásolja a többit. Ennek érdekében az alábbi eseményforrásokkal bővítettük az NXLOG agent által ismert forrásokat az elmúlt időszakban:
2.5.1. Netflow adatok feldolgozása
A netflow protokoll a hálózati eszközök által bonyolított forgalomról ad információt, elsősorban a kapcsolódási cél és forráscímekről, illetve portokról és ezeknek az idejéről, méretéről. A naplóelemző és forensics munkát nagyban elősegíti, amennyiben ezt az információt társítjuk az egyéb kapcsolódó naplóüzenetekhez.
A netflow protokoll alábbi altípusait támogatjuk:
- Netflow v5
- Netflow v7
- Netflow v9
- IPFIX
2.5.2. SNMP, WMI alapú logforrások támogatása
Az SNMP (azaz Simple Network Management Protocol) úgynevezett „trap” üzeneteit támogatjuk, amelyen keresztül számos hálózati eszköz ad információt magáról.
A WMI (azaz Windows Management Instrumentation) protokoll lehetőséget nyújt arra, hogy a Microsoft Windows rendszerekről, távolról lehessen a rendszernaplót összegyűjteni.
2.5.3. Relációs adatbázisok támogatása
Számos olyan alkalmazás létezik, amely relációs adatbázisba írja a naplóüzeneteit, némileg megnehezítve ezzel a naplógyűjtést. Több relációs adatbázist (MSSQL, MySQL, Oracle, SQLite, PostgreSQL) támogatunk (ODBC) adatbázis független absztrakciós rutinkönyvtár segítségével úgy, hogy lehetőség nyíljon különféle adatbázis táblákból a megadott SQL lekérdezés segítségével a naplóüzeneteket begyűjteni.
2.6. Agent oldali statisztikai számlálók és változók illetve korrelációs képességek
A valós időben (real-time) történő naplóesemények monitorozásához elengedhetetlen, hogy az naplófeldolgozó képes legyen bizonyos eseménytípusok időegység alatt bekövetkező számosságát vizsgálni illetőleg az egyes eseménytípusok bekövetkezése (vagy ennek hiánya) közötti kapcsolatot vizsgálni, azaz korrelálni.
2.6.1. Beépített modul változók
A modul változókba tetszőleges érték tölthető be és tárolható el. Ez az érték később lehívható (pl. bizonyos feltétel teljesülése esetén). Ezáltal egy esemény vagy események adatait tudjuk eltárolni majd egy későbbi esemény bekövetkezése során ezt előhívni.
2.6.2. Statisztikai számlálók
A statisztikai számlálók segítségével több eseményről kaphatunk mérési adatokat tetszőleges időintervallumon belül. Ilyen például a számosság, átlag, növekmény, grádiens és ezek minimum illetve maximum értékei.
2.6.3. Korrelációs képességek
A SEC (Simple Event Correlator) eszköz korrelációs képességeit implementáltuk az ehhez hasonló szabályok támogatásával, mint például az alábbiak:
- eseménypár bekövetkezése adott időablakon belül,
- eseménypár hiánya adott időablakon belül,
- események bekövetkezése túllép egy határértéket.