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 rulesAhogy 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ói könyvtárának
összes hozzáférését,
beleértve a listázhatóságot
is.felhasználó2
A felhasználó1
helyett
megadhatjuk a not uid
opciót is. Ebben az esetben egy
felhasználó helyett az összes
felhasználóra ugyanaz a korlátozás
fog érvényesülni.felhasználó2
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):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.