A modul neve: mac_mls.ko
A rendszermag konfigurációs beállítása: options MAC_MLS
Rendszerindítási beállítás: mac_mls_load="YES"
A mac_mls(4) (MLS, Multi-Level Security) házirend az információ szigorú áramoltatásával vezérli a rendszerben található alanyok és objektumok közti elérést.
A MLS megoldását alkalmazó környezetekben a rekeszek mellett minden alanyra és objektumra be kell még állítanunk egy adott szintű “engedélyt” is. Mivel az engedélyek avagy az érzékenység szintje akár a hatezret is meghaladhatja, egy rendszergazda számára valódi rémálommá válthat az egyes alanyok és objektumok precíz beállítása. Szerencsére a házirend erre a célra tartalmaz három előre definiált “instant” címkét.
Ezek az mls/low, mls/equal és mls/high. Mivel a man oldal elég részletesen kifejti ezeket, ezért itt csak érintőlegesen foglalkozunk velük:
Az mls/low címke egy olyan alacsony szintű beállítást képvisel, amely lehetővé teszi, hogy az összes többi objektum uralja. Tehát bárminek is adjuk az mls/low címkét, alacsony szintű engedéllyel fog rendelkezni és nem lesz képes elérni a magasabb szinten levő információt. Ráadásul a címke a magasabb szintű objektumok számára se fogja engedni, hogy információt közöljön vagy adjon át az alacsonyabb szintek felé.
Az mls/equal címke olyan objektumok esetében ajánlott, amelyeket ki akarunk hagyni a házirend szabályozásaiból.
Az mls/high címke az elérhető legmagasabb szintű engedélyt ábrázolja. Az ilyen címkével ellátott objektumok a rendszer összes többi objektuma felett uralommal rendelkeznek, habár az alacsonyabb szintű objektumok felé nem képesek információt közvetíteni.
Az MLS:
Egy hierarchikus védelmi szinteket épít fel nem hierarchikus kategóriákkal.
Szabályai rögzítettek: a felsőbb szintek olvasása és az alsóbb szintek írása egyaránt tiltott (az alanyok csak a saját vagy az alatta levő szinteken levő objektumokat képesek olvasni, de a felette állókat már nem. Ehhez hasonlóan az alanyok a velük egyező vagy a felsőbb szinteket tudják írni, de az alattuk levőket már nem).
Megőrzi a titkokat (megakadályozza az adatok alkalmatlan közzétételét).
Megadja mindazt az alapot, ami szükséges ahhoz, hogy az adatokat több kényességi szinten, párhuzamosan is kezelni tudjuk (anélkül, hogy titkos és bizalmas információkat szivárogtatnánk ki).
A speciális szolgáltatások és felületek beállításához az alábbi sysctl-változók használhatóak:
A security.mac.mls.enabled engedélyezi vagy tiltja le az MLS házirend alkalmazását.
A security.mac.mls.ptys_equal hatására látja el mls/equal címkével az összes pty(4) eszközt létrehozásuk során.
A security.mac.mls.revocation_enabled használható az alacsonyabb szintre minősített objektumok hozzáférésének megvonására.
A security.mac.mls.max_compartments segítségével adható meg az objektumok által használt rekeszek szintjének maximális száma. Lényegében a rekeszek rendszerben engedélyezett maximuma.
Az MLS címkéit a setfmac(8) paranccsal tudjuk módosítani. Egy ehhez hasonló paranccsal tudunk egy objektumhoz címkét rendelni:
# setfmac mls/5 próba
A próba állomány MLS-címkéjét az alábbi paranccsal kérhetjük le:
# getfmac próba
Ezzel össze is foglaltuk az MLS házirend lehetőségeit. Az eddigiket úgy is megoldhatjuk, hogy létrehozunk egy központi házirendet az /etc könyvtárban, amelyben megadjuk az MLS házirendhez tartozó információkat, majd átadjuk a setfmac parancsnak. Erre a módszerre majd a házirendek bemutatása után kerül sor.
A többszintű biztonsági házirend használatával a rendszergazda a kényes információk áramlásának irányát tudja befolyásolni. A megoldás “felfele nem lehet olvasni, lefele nem lehet írni” jellege folytán alapból mindent a legalacsonyabb szintre helyez. Így tehát kezdetben minden elérhető, és a rendszergazdának lassanként ebből az állapotból elindulva kell behangolnia az erre alapozó védelmi rendszert az információ bizalmasságának megfelelően.
A fentebb említett három alapvető címke mellett a rendszergazdának valószínűleg szüksége lesz a felhasználók csoportosítására és a csoportok közti információáramlás szabályozására. A információ bizalmasságának szintjeit minden bizonnyal könnyebb szavakkal beazonosítani, például Confidential (bizalmas), Secret (titkos) vagy Top Secret (szigorúan bizalmas). Bizonyos helyzetekben elég csak a futó projekteknek megfelelően kialakítani csoportokat. Az osztályozás konkrét módszerétől függetlenül azonban mindig elmondható, hogy előzetes tervezés nélkül sose állítsunk össze ilyen fajsúlyú házirendet.
Ezt a biztonsági modult például webes üzletek esetén érdemes használnunk, ahol egy állományszerver tárolja a cég fontos adatait és pénzügyi információit. Viszont egy két vagy három felhasználóval üzemelő munkaállomás esetében szinte teljesen felesleges gondolkodni rajta.
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>.