FreeBSD kézikönyv
Előző | Fejezet 16. Kötelező hozzáférés-vezérlés (MAC) | Következő

# 16.12. A többszintű biztonsági MAC-modul

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.

## 16.12.1. A kényesség megállapítása

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.

Előző | Tartalom | Következő
A partition MAC-modul | Fel | A Biba MAC-modul

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>.