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:
audit_class
- a vizsgálati
osztályok definícióit tartalmazza.
audit_control
- a vizsgálati
alrendszer különböző területeit
vezérli, többek közt az
alapértelmezett vizsgálati osztályokat,
az vizsgálati adatok tárhelyén
fenntartandó minimális lemezterületet, a
vizsgálati nyom maximális méretét,
stb.
audit_event
- a rendszerben
jelenlevő vizsgálati események
szöveges megnevezése és
leírása, valamint a lista, hogy melyikük
mely osztályban található.
audit_user
-
felhasználónként változó
vizsgálati elvárások, kombinálva a
bejelentkezéskor érvényes
globálisan alapértelmezett
beállításokkal.
audit_warn
- az
auditd által használt
testreszabható shell szkript, aminek
segítségével a
szélsőséges helyzetekben figyelmeztető
üzeneteket tudunk generálni, mint
például amikor a rekordok számára
fenntartott hely hamarosan elfogy, vagy amikor a nyomokat
tartalmazó állományt
archiváltuk.
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.
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
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ó.
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.
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>.