A modul neve: mac_biba.ko
A rendszermag konfigurációs beállítása: options MAC_BIBA
Rendszerindítási beállítás: mac_biba_load="YES"
A mac_biba(4) modul a MAC Biba elnevezésű házirendjét tölti be. Ez leginkább az MLS házirendhez hasonlít, azzal a kivétellel, hogy az információ áramoltatására vonatkozó szabályok némileg visszafelé működnek. Tehát míg az MLS házirend a kényes információ áramlását felfelé nem engedi, addig ez a lefelé irányuló áramlást állítja meg. Emiatt ez a szakasz tulajdonképpen mind a két házirendre érvényesül.
A Biba alkalmazása során minden alany és objektum egy “sértetlenséget” jelképező címkét visel. Ezek a címkék hierarchikus osztályokból, nem peidg hiearchikus összetevőkből származnak. Egy objektum vagy alany sértetlensége a besorolásával növekszik.
A modul a biba/low, biba/equal és biba/high címkéket ismeri, vagyis bővebben:
A biba/low címke tekinthető az alanyok és objektumok legkisebb sértetlenségének. Ha beállítjuk egy objektumra vagy alanyra, akkor ezzel megakadályozzuk, hogy nagyobb sértetlenségű objektumokat vagy alanyokat tudjanak írni. Ettől függetlenül azonban még képesek olvasni ezeket.
A biba/equal címke használata kizárólag olyan objektumok esetében javasolt, amelyeket ki akarunk vonni a házirend alól.
A biba/high címke megengedi az alacsonyabb szinteken levő objektumokat írását, de az olvasását viszont már nem. Ezt a címkét olyan objektumra érdemes ragasztani, amelyek hatással vannak az egész rendszer sértetlenségére.
A Biba:
Hierarchikus sértetlenségi szinteket épít fel nem hiearchikus sértetlenségi kategóriákkal kiegészítve.
Szabályai rögzítettek: az felsőbb szintek írása és az alsóbb szintek olvasása egyaránt tilos (pontosan az MLS ellentéte). Egy alany csak a saját vagy az alatta álló szinteken szereplő objektumokat tudja írni. Ehhez hasonló módon egy alany csak a saját vagy az afeletti szinten található objektumokat képes olvasni.
Az adatok sértetlenségét biztosítja (megakadályozza az alkalmatlan módosításukat)
Sértetlenségi szinteket határoz meg (szemben az MLS kényességi szintjeivel).
Az alábbi sysctl-változókkal vezérlhetjük a Biba házirend működését:
A security.mac.biba.enabled használható a célrendszeren a Biba házirend engedélyezére vagy letiltására.
A security.mac.biba.ptys_equal segítségével kapcsolhatjuk ki a Biba házirend alkalmazását a pty(4) eszközökön.
A security.mac.biba.revocation_enabled hatására visszavonódik az objektumok hozzáférése, ha az rájuk vonatkozó címke megváltozik.
A rendszer objektumain a Biba házirendet a setfmac és getfmac paranccsal állíthatjuk be:
# setfmac biba/low próba # getfmac próba próba: biba/low
A sértetlenség a kényességtől eltérően azt igyekszik szavatolni, hogy az információt illetéktelenek nem módosítják. Ez egyaránt vonatkozik az alanyok, objektumok és a kettő között átadott adatokra. Gondoskodik róla, hogy a felhasználók csak olyan információkat változtathathassanak meg, sőt csak olyat érhessenek el, amire ténylegesen szükségük van.
A mac_biba(4) biztonsági modul megengedi a rendszergazda számára, hogy megmondja milyen állományokat és programokat láthat vagy hívhat meg a felhasználó vagy felhasználók egy csoportja, miközben biztosítja, hogy az állományok és a programok nincsenek kitéve semmilyen fenyegetésnek, és a rendszer az adott felhasználóban vagy felhasználói csoportban megbízik.
A kezdeti tervezési fázis során a rendszergazdának fel kell készülnie arra, hogy a felhasználókat osztályokra, szintekre és területekre kell osztania. A felhasználók nem csak adatokhoz, hanem programokhoz és segédprogramokhoz sem lesznek képesek hozzáférni, mind az indításuk előtt és után. A modul aktiválás után a rendszer alapból rögtön a legmagasabb címkét kapja meg, és teljesen a rendszergazdára hárul, hogy a felhasználókhoz beállítsa a különféle osztályokat és szinteket. A fentebb leírt engedélyszintek helyett akár témák alapján is tervezhetünk. Például kizárólag csak a fejlesztők számára engedjük meg a forráskód módosítását, a forráskód lefordítását és a többi fejlesztőeszköz használatát. Eközben a többi felhasználót felosztjuk további csoportokba, például tesztelőkre és tervezőkre, vagy meghagyjuk ezeket átlagos felhasználóknak, akik csak olvasási joggal rendelkeznek.
A megvalósított biztonsági modell természetéből fakadóan egy kevésbé sértetlenebb alany nem írhatja a sokkal sértetlenebb alanyokat, a sokkal sértetlenebb alanyok pedig nem érhetik el vagy olvashatják a kevésbé sértetlen objektumokat. A lehető legkisebb osztályú címke beállításával gyakorlatilag elérhetetlenné teszük az alanyok számára. A modult valószínűleg egy korlátozott webszerver, fejlesztői- és tesztgépek vagy forráskód tárolására szánt környezetben érdemes bevetni. Annál esélytelenebb a használata viszont egy munkaállomás, útválasztó vagy hálózati tűzfal esetében.
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>.