FreeBSD MAC
8. sor: | 8. sor: | ||
===MAC címkék=== |
===MAC címkék=== |
||
− | A rendszerünk minden egyes objektumát (felhasználók, fájlok, hálózati interfészek, képernyő) el kell látnunk úgynevezett címkékkel, ezek a címkék a használt biztonsági modultól függően sok mindent jelenthetnek. Pl a <tt>biba/high</tt> címke a Biba policy modulra vonatkozik és az értéke "high". Az <tt>object</tt> -ek mellett nem árt tisztázni a <tt>subject</tt> fogalmát, ami nem más mint az az entitás (esetek nagyrészében process) ami az objektumok közt áramoltat adatot. |
+ | A rendszerünk minden egyes objektumát (felhasználók, fájlok, hálózati interfészek, képernyő) el kell látnunk úgynevezett címkékkel, ezek a címkék a használt biztonsági modultól függően sok mindent jelenthetnek. Pl a <tt>biba/high</tt> címke a Biba policy modulra vonatkozik és az értéke "high". A FreeBSD három előre definiált value van. A high a lehető legmagasabb, a low a legalacsonyabb, az equal pedig egy "dontcare" értéket állít be. Az <tt>object</tt> -ek mellett nem árt tisztázni a <tt>subject</tt> fogalmát, ami nem más mint az az entitás (esetek nagyrészében process) ami az objektumok közt áramoltat adatot. Ahhoz, hogy egy partíción más és más labelt adhassunk file-jainknak, engedélyezni kell minden partíción a <tt>multi labeling</tt> -et a |
+ | tune2fs -l enable /path/to/fs |
||
+ | paranccsal. |
||
+ | |||
===Telepítés=== |
===Telepítés=== |
||
18. sor: | 18. sor: | ||
A MAC framework részét képzi még számos modul, amiket az /etc/loader.conf -ba írva a bootolási folyamat során betöltődnek. |
A MAC framework részét képzi még számos modul, amiket az /etc/loader.conf -ba írva a bootolási folyamat során betöltődnek. |
||
Természetesen van mód ezeket a kernelbe fordítani, de így nagyobb az esély, hogy kizárjuk magunkat kedvenc rendszerünkből egy rosszul sikerült konfiguráció során. |
Természetesen van mód ezeket a kernelbe fordítani, de így nagyobb az esély, hogy kizárjuk magunkat kedvenc rendszerünkből egy rosszul sikerült konfiguráció során. |
||
+ | |||
+ | ==MAC== |
||
+ | |||
+ | ===Címkék használata=== |
||
+ | |||
+ | Subjectekre(processzekre): |
||
+ | setpmac biba/high |
||
+ | Objectekre: |
||
+ | setfmac biba/high test.txt |
||
+ | Megadhatunk konkrét értékeket is: |
||
+ | setfmac biba/5(4-10) |
||
+ | Ahol a zárójel előtt az effektív, használatban levő érték van a zárójelekben pedig a legalacsonyabb és legmagasabb állítható érték) |
||
+ | Hálózati interfészre: |
||
+ | ifconfig xl0 maclabel biba/equal |
||
+ | |||
+ | ===Modularitás=== |
||
+ | Alaphelyzetben, modulok nélkül is lehetőségünk van a MAC framework egyes részeit letiltani a <tt>sysctl</tt> parancs segítségével. |
||
+ | Az alapértelmezett értékek mindegyiknél 1. |
||
+ | * <tt>security.mac.enforce_fs</tt> Fájlrendszer policyk |
||
+ | * <tt>security.mac.enforce_kld</tt> enforces MAC kernel linking policies on the dynamic kernel linker (see kld(4)). |
||
+ | * <tt>security.mac.enforce_network</tt> enforces MAC network policies. |
||
+ | * <tt>security.mac.enforce_pipe</tt> enforces MAC policies on pipes. |
||
+ | * <tt>security.mac.enforce_process</tt> enforces MAC policies on processes which utilize inter-process communication. |
||
+ | * <tt>security.mac.enforce_socket</tt> enforces MAC policies on sockets (see the socket(2) manual page). |
||
+ | * <tt>security.mac.enforce_system</tt> enforces MAC policies on system activities such as accounting and rebooting. |
||
+ | * <tt>security.mac.enforce_vm</tt> enforces MAC policies on the virtual memory system. |
A lap 2006. október 7., 23:13-kori változata
Tartalomjegyzék |
1 MAC implementáció a FreeBSD-ben
1.1 Bevezető
1.1.1 Mi az a MAC?
A Mandatory Access Control rövidítése. Olyan biztonsági modell ami a DAC kibővítésére, helyettesítésére szolgál. Egy DAC rendszerben a felhasználók maguk mondhatják meg, hogy az általuk birtokolt objektumoknak milyen jogai lehetnek. Ezzel szemben a MAC -ben a felhasználó nem adhat az objektumainak az adminisztrátor által beállíott jogoknál lazább jogokat.
1.1.2 MAC címkék
A rendszerünk minden egyes objektumát (felhasználók, fájlok, hálózati interfészek, képernyő) el kell látnunk úgynevezett címkékkel, ezek a címkék a használt biztonsági modultól függően sok mindent jelenthetnek. Pl a biba/high címke a Biba policy modulra vonatkozik és az értéke "high". A FreeBSD három előre definiált value van. A high a lehető legmagasabb, a low a legalacsonyabb, az equal pedig egy "dontcare" értéket állít be. Az object -ek mellett nem árt tisztázni a subject fogalmát, ami nem más mint az az entitás (esetek nagyrészében process) ami az objektumok közt áramoltat adatot. Ahhoz, hogy egy partíción más és más labelt adhassunk file-jainknak, engedélyezni kell minden partíción a multi labeling -et a
tune2fs -l enable /path/to/fs
paranccsal.
1.1.3 Telepítés
A FreeBSD-be az 5.0-ás verziótol került bele a TrustedBSD project részeként létrehozott MAC implementáció. A GENERIC kernelnek nem része a MAC, ha be szeretnénk kapcsolni tegyük az
options MAC
sort a kernelconfigunkba, majd fordítsuk újra a kernelt
make buildkernel KERNCONF=GENERIC && make installkernel KERNCONF=GENERIC
A MAC framework részét képzi még számos modul, amiket az /etc/loader.conf -ba írva a bootolási folyamat során betöltődnek. Természetesen van mód ezeket a kernelbe fordítani, de így nagyobb az esély, hogy kizárjuk magunkat kedvenc rendszerünkből egy rosszul sikerült konfiguráció során.
1.2 MAC
1.2.1 Címkék használata
Subjectekre(processzekre):
setpmac biba/high
Objectekre:
setfmac biba/high test.txt
Megadhatunk konkrét értékeket is:
setfmac biba/5(4-10)
Ahol a zárójel előtt az effektív, használatban levő érték van a zárójelekben pedig a legalacsonyabb és legmagasabb állítható érték) Hálózati interfészre:
ifconfig xl0 maclabel biba/equal
1.2.2 Modularitás
Alaphelyzetben, modulok nélkül is lehetőségünk van a MAC framework egyes részeit letiltani a sysctl parancs segítségével. Az alapértelmezett értékek mindegyiknél 1.
- security.mac.enforce_fs Fájlrendszer policyk
- security.mac.enforce_kld enforces MAC kernel linking policies on the dynamic kernel linker (see kld(4)).
- security.mac.enforce_network enforces MAC network policies.
- security.mac.enforce_pipe enforces MAC policies on pipes.
- security.mac.enforce_process enforces MAC policies on processes which utilize inter-process communication.
- security.mac.enforce_socket enforces MAC policies on sockets (see the socket(2) manual page).
- security.mac.enforce_system enforces MAC policies on system activities such as accounting and rebooting.
- security.mac.enforce_vm enforces MAC policies on the virtual memory system.