17.4. A vizsgálat beállítása

A vizsgálatok beállításához szükséges összes konfigurációs állomány a /etc/security könyvtárban található. A következő állományok vannak itt a démon indítása előtt:

Figyelem:

Az eseményvizsgálat konfigurációs állományait alapos körültekintés mellett szabad szerkeszteni és karbantartani, mivel a bennük keletkező hibák az események helytelen naplózását eredményezhetik.

17.4.1. Eseményszűrési feltételek

Az eseményvizsgálati beállítások során számtalan helyen felbukkanak a vizsgálni kívánt eseményeket meghatározó szűrési feltételek. Ezen feltételek eseményosztályok felsorolását tartalmazzák, mindegyiküket egy módosító vezeti be, ezzel jelezve, hogy az adott eseményosztályba tartozó rekordokat tartsuk meg vagy vessük el. Esetleg utalhatnak arra is, hogy vagy csak a sikerességet jelző rekordokat, vagy csak a sikertelenséget jelző rekordokat szűrjük ki. A szűrési feltételek balról jobbra értékelődnek ki, és két kifejezés összefűzéssel kombinálható.

A most következő lista tartalmazza a audit_class állományban található alapértelmezett eseményvizsgálati osztályokat:

  • all - all (mind) - Minden eseményosztályra vonatkozik.

  • ad - administrive (adminisztrációs) - olyan adminisztrációs tevékenységek, amelyek egyben az egész rendszeren végrehajtódnak.

  • ap - application (alkalmazás) - az alkalmazások által meghatározott tevékenység.

  • cl - file close (állomány lezárása) - a close rendszerhívás meghívásának vizsgálata.

  • ex - exec (programindítás) - egy program indításának vizsgálata. A parancssorban átadott paraméterek és a környezeti változók vizsgálatát az audit_control(5) vezérli a policy beállításhoz tartozó argv és envv paraméterek segítségével.

  • fa - file attribute access (állományjellemzők hozzáférése) - a rendszerbeli objektumok jellemzőinek hozzáférésnek vizsgálata, mint például a stat(1), pathconf(2) és ehhez hasonló események.

  • fc - file create (állomány létrehozása) - állományt eredményező események vizsgálata.

  • fd - file delete (állomány törlése) - állományt törlő események vizsgálata.

  • fm - file attribute modify (állományjellemzők módosítása) - állományok jellemzőit megváltoztató események vizsgálata, mint például a chown(8), chflags(1), flock(2), stb.

  • fr - file read (állományolvasás) - állományok megnyitásával olvasásra, olvasásával, stb. kapcsolatos események vizsgálata.

  • fw - file write (állományírás) - állományok megnyitásával írásra, írásával, módosításával, stb. kapcsolatos események vizsgálata.

  • io - ioctl - az ioctl(2) rendszerhívást használó események vizsgálata.

  • ip - ipc - a folyamatok közti kommunikáció különféle formáinak, beleértve a POSIX csövek és System V IPC műveleteinek vizsgálata.

  • lo - login_logout (ki- és bejelentkezés) - a rendszerben megjelenő login(1) és logout(1) események vizsgálata.

  • na - non attributable (nem jellegzetes) - a nem jellegzetes események vizsgálata.

  • no - invalid class (érvénytelen osztály) - egyetlen biztonsági eseményt sem tartalmaz.

  • nt - network (hálózat) - a hálózathoz tartozó események vizsgálata, mint például a connect(2) és az accept(2).

  • ot - other (egyéb) - más egyéb események vizsgálata.

  • pc - process (folyamat) - a folyamatokkal kapcsolatos műveletek, mint például az exec(3) és az exit(3) vizsgálata.

Az imént felsorolt eseményosztályok az audit_class és az audit_event állományok módosításával igény szerint testreszabhatóak.

A listában szereplő minden egyes eseményosztályhoz tartozik még egy módosító is, amely jelzi, hogy a sikeres vagy a sikertelen műveleteket kell-e szűrnünk, valamint hogy a bejegyzés az adott típust vagy osztályt hozzáadja vagy elveszi az adott szűrésből.

  • (üres) az adott típusból mind a sikereseket és mind a sikerteleneket feljegyzi.

  • + az eseményosztályba tartozó sikeres eseményeket vizsgálja csak.

  • - az eseményosztályba tartozó sikertelen eseményeket vizsgálja csak.

  • ^ az eseményosztályból sem a sikereseket, sem pedig a sikerteleneket nem vizsgálja.

  • ^+ az eseményosztályból nem vizsgálja a sikeres eseményeket.

  • ^- az eseményosztályból nem vizsgálja a sikertelen eseményeket.

Az alábbi példa egy olyan szűrési feltételt mutat be, amely a ki- és bejelentkezések közül megadja a sikereset és a sikerteleneket, viszont a programindítások közül csak a sikereseket:

lo,+ex

17.4.2. A konfigurációs állományok

A vizsgálati rendszer beállításához az esetek túlnyomó részében a rendszergazdáknak csupán két állományt kell módosítaniuk: ezek az audit_control és az audit_user. Az előbbi felelős a rendszerszintű vizsgálati jellemzőkért és házirendekért, míg az utóbbi az igények felhasználókénti finomhangolásához használható.

17.4.2.1. Az audit_control állomány

Az audit_control állomány határozza meg a vizsgálati alrendszer alapértelmezéseit. Ezt az állományt megnyitva a következőket láthatjuk:

dir:/var/audit
flags:lo
minfree:20
naflags:lo
policy:cnt
filesz:0

A dir opciót használjuk a vizsgálati naplók tárolására szolgáló egy vagy több könyvtár megadására. Ha egynél több könyvtárra vonatkozó bejegyzés található az állományban, akkor azok a megadás sorrendjében kerülnek feltöltésre. Nagyon gyakori az a beállítás, ahol a vizsgálati naplókat egy erre a célra külön kialakított állományrendszeren tárolják, megelőzve ezzel az állományrendszer betelésekor keletkező problémákat a többi alrendszerben.

A flags mező egy rendszerszintű alapértelmezett előválogatási maszkot határoz meg a jellegzetes események számára. A fenti példában a sikeres és sikertelen ki- és bejelentkezéseket mindegyik felhasználó esetén vizsgáljuk.

A minfree opció megszabja a vizsgálati nyom tárolására szánt állományrendszeren a minimális szabad helyet, a teljes kapacitás százalékában. Amint ezt a küszöböt túllépjük, egy figyelmeztetés fog generálódni. A fenti példa a minimálisan szükséges rendelkezésre álló helyet húsz százalékra állítja.

A naflags opció megadja azokat az eseményosztályokat, amelyeket vizsgálni kell a nem jellegzetes események, mind például a bejelentkezési folyamatok vagy rendszerdémonok esetén.

A policy opció a vizsgálat különböző szempontjait irányító házirendbeli beállítások vesszővel elválasztott listáját tartalmazza. Az alapértelmezett cnt beállítás azt adja meg, hogy a rendszer a felmerülő vizsgálati hibák ellenére is folytassa tovább a működését (erősen javasolt a használata). A másik gyakorta alkalmazott beállítás az argv, amellyel a rendszer a parancsvégrehajtás részeként az execve(2) rendszerhívás parancssori paramétereit is megvizsgálja.

A filesz opció határozza meg a vizsgálati nyom automatikus szétvágása és archiválása előtti maximális méretét, byte-ban. Az alapértelmezett értéke a 0, amely kikapcsolja ezt az archiválást. Ha az itt megadott állományméret nem nulla és a minimálisan elvárt 512 KB alatt van, akkor a rendszer figyelmen kívül hagyja és erről egy figyelmeztetést ad.

17.4.2.2. Az audit_user állomány

Az audit_user állomány lehetővé teszi a rendszergazda számára, hogy az egyes felhasználók számára további vizsgálati szigorításokat határozzon meg. Minden sor egy-egy felhasználó vizsgálatának pontosítását adja meg két mező segítségével: az első közülük az alwaysaudit mező, mely felsorolja azokat az eseményeket, amelyeket minden esetben vizsgáni kell az adott felhasználó esetén, valamint a második a neveraudit mező, mely az adott felhasználó esetén a nem vizsgálandó eseményeket adja meg.

A most következő audit_user példában vizsgáljuk a root felhasználó ki- és bejelentkezéseit és sikeres programindításait, valamint a www felhasználó állománylétrehozásait és sikeres programindításait. Ha a korábban bemutatott audit_control példával együtt használjuk, akkor észrevehetjük, hogy a lo bejegyzés a root felhasználó esetén redundáns, illetve ilyenkor a ki/bejelentkezést a www felhasználó esetén is vizsgáljuk.

root:lo,+ex:no
www:fc,+ex:no

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <questions@FreeBSD.org>.

Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.