A SELinux a Security Enhanced Linux rövidítése, és a szabványos linuxok egy kiterjesztése, amely lehetővé teszi hozzáférés szabályozást, folyamatok rendszerhez való hozzáférésének állítását. Eredetileg az NSA fejlesztette. Ez a lap csak egy rövid leírás.
A DAC a Discretionary Access Control rövidítése, amely tulajdonképpen az Unix rendszerekből örökölt tulajdonos és csoport alapú hozzáférés vezérlés, így minden Linux alapból tartalmazza.
A MAC a Mandatory Access Control rövidítése, amely egy újabb biztonsági modell. Lehetővé teszi, olyan korlátozások bevezetését, amelyet más felhasználó nem képes megváltoztatni. Szigorú szabályok beállítását teszi lehetővé.
A SELinux tulajdonképpen a MAC modell egy megvalósítása.
További még szigorúbb szabályozáshoz nézd meg az RSBAC és/vagy a Grsecurity megvalósításokat.
Egy folyamat jogai ezen környezetektől függ.
A Debian GNU/Linux kernel alapból támogatja SELinuxot, használatához azonban telepíteni kell néhány felhasználói térben futó programot. A SELinux használatához szükség van ext2, ext3 vagy ext4 fájlrendszerre és egy GRUB vagy LILO bootmenedzserre.
Telepítés előtt a Debian GNU/Linuxos rendszerben elve van egy /selinux könyvtár üresen. Másik könyvtár az /etc/selinux. Ebben egyetlen fájl található: /etc/selinux/semanage.conf.
Telepítsük a SELinuxhoz a szükséges csomagokat:
apt-get install selinux-basics selinux-policy-default
Telepítés utána a /etc/selinux könyvtár újabb könyvtárakkal és fájlokkal gazdagodik. A Könyvtár ekkor így néz ki:
A SELinux aktiválása:
selinux-activate
Ehhez hasonló sorokat láthatunk:
Activating SE Linux Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.2.0-4-686-pae Found initrd image: /boot/initrd.img-3.2.0-4-686-pae done SE Linux is activated. You mey need to reboot now.
A beállítások újraindítás után lesznek érvényesek:
reboot
A SELinux a fájlrendszert és a folyamatokat felcímkézi, alkalmazza a beállításokat.
Ellenőrizhetjük a fájlrendszer címkéit:
ls -Z /bin
A folyamatok címkéit:
ps axZ
Ellenőrizzük a SELinux telepítését:
check-selinux-installation
A második újraindulás után ellenőrizzük, hogy a SELinux be van-e kapcsolva:
sestatus
Az engedélyezett modulokat is megnézhetjük:
semodule -l
Az enforce mód engedélyezése:
setenforce 1
Az enforce mód kikapcsolása:
setenforce 0
Az enforcemód lekérdezése:
getenforce
Lehetséges eredmények:
Permissive | Enforcing |
Enforcemód kikapcsolva | Enforcemód bekapcsolva |
A SELinux kikapcsolása
nano /etc/selinux/config
Az állományban beállítjuk:
SELINUX=disabled
Futtatom a setenforce parancsot a kívánt paraméterrel:
setenforce 0
A fájlokat, a könyvtárakat és a folyamatokat a SELinux úgy tudja használni, ha azok meg vannak jelölve címkékkel. Egy ilyen címkére példa:
system_u:object_r:user_home_t:s0
A fájlok esetén az ilyen címkék meglétéről már a ls -l parancs is tájékoztat bennünket. Lássuk egy könyvtár esetén:
ls -ld
Lehetséges kimenet:
drwxr-xr-x. 59 joska joska 4096 jún 15 20:51 /home/joska/Tervek
A kimenetben a pont (.), azt jelenti könyvtár fel van címkézve. Lássuk ezeket a címkéket:
ls -Zd /home/joska/Tervek
A -Z kapcsoló megmutatja a címkéket. A lehetséges kimenet:
system_u:object_r:user_home_t:s0 /home/joska/Tervek
Folymatok esetén:
ps axZ
Lehetséges Kimenet:
LABEL PID TTY STAT TIME COMMAND system_u:system_r:init_t:s0 1 ? Ss 0:01 init [2] system_u:system_r:kernel_t:s0 1 ? S 0:00 [kthreadd] system_u:system_r:kernel_t:s0 1 ? S 0:00 [ksoftirqd/0] system_u:system_r:kernel_t:s0 1 ? S 0:00 [migration/0] ... system_u:system_r:postfix_master_to:s0 3410 ? S 0:00 [/usr/lib/postfix/master ...