A modul neve: mac_bsdextended.ko
A rendszermag konfigurációs beállítása: options MAC_BSDEXTENDED
Rendszerindítási beállítás: mac_bsdextended_load="YES"
A mac_bsdextended(4) modul segítségével egy állományrendszer szintjén működő tűzfalat tudunk kialakítani. Ez a modul a szabványos állományrendszeri engedély alapú modelljét bővíti ki, lehetővé téve, hogy a rendszergazda tűzfalszerű szabályokkal nyújtson védelmet a könyvtárszerkezetben található állományoknak, segédprogramoknak és könyvtáraknak. Amikor egy állományrendszerbeli objektumhoz próbálunk meg hozzáférni, a modul illeszti ezt egy szabályrendszerre, amiben vagy talál egy hozzá tartozó szabályt vagy kifut belőle. Ez a viselkedés a security.mac.bsdextended.firstmatch_enabled sysctl(8) paraméter segítségével változtatható meg. Hasonlóan a FreeBSD-ben található többi tűzfalmodulhoz, az állományok elérését definiáló szabályok a rendszerindítás során egy rc.conf(5) változóból olvasódnak be.
A szabályokat a ugidfw(8) segédprogrammal adhatjuk meg, amelynek a formai szabályai hasonlóak az ipfw(8) programéhoz. A libugidfw(3) függvénykönyvtár felhasználásával azonban további segédprogramok is írhatóak hozzá.
A modul használata során igyekezzünk minél jobban odafigyelni, mert helytelen alkalmazásával el tudjuk vágni magunkat az állományrendszer bizonyos részeitől.
Miután sikerült betölteni a mac_bsdextended(4) modult, a következő paranccsal tudjuk lekérdezni a jelenleg érvényes szabályokat:
# ugidfw list 0 slots, 0 rules
Ahogy az várható is volt, pillanatnyilag még egyetlen szabályt sem adtunk meg. Ennek értelmében tehát mindent el tudunk érni. A következő paranccsal tudunk olyan szabályt létrehozni, ahol a root kivételével elutasítjuk az összes felhasználó hozzáférését:
# ugidfw add subject not uid root new object not uid root mode n
Ez egyébként egy nagyon buta ötlet, mivel így a felhasználók még a legegyszerűbb parancsokat, mint például az ls-t, sem tudják rájuk kiadni. Ennél sokkal humánusabb lesz, ha:
# ugidfw set 2 subject uid felhasználó1 object uid felhasználó2 mode n # ugidfw set 3 subject uid felhasználó1 object gid felhasználó2 mode n
Ilyenkor a felhasználó1 nevű felhasználótól megvonjuk a felhasználó2 felhasználói könyvtárának összes hozzáférését, beleértve a listázhatóságot is.
A felhasználó1 helyett
megadhatjuk a not uid
felhasználó2
opciót is. Ebben az esetben egy
felhasználó helyett az összes
felhasználóra ugyanaz a korlátozás
fog érvényesülni.
Megjegyzés: A root felhasználóra ezek a beállítások nem vonatkoznak.
Ezzel felvázoltuk, miként lehet a mac_bsdextended(4) modult felhasználni az állományrendszerek megerősítésére. Részletesebb információkért járuljunk a mac_bsdextended(4) és ugidfw(8) man oldalakhoz.
Ha kérdése van a FreeBSD-vel kapcsolatban, a következő
címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése,
kérjük erre a címre írjon: <gabor@FreeBSD.org>.