Režimy SELinux
SELinux poskytuje další vrstvu zabezpečení zdrojům v systému. Poskytuje MAC (povinné řízení přístupu) na rozdíl od DAC (Discretionary access control). Než se ponoříme do nastavení režimů SELinux, podívejme se, jaké jsou různé provozní režimy SELinuxu a jak fungují. SELinux může pracovat v kterémkoli ze 3 režimů:
1. Vynuceno :Akce v rozporu se zásadami jsou blokovány a odpovídající událost je zaznamenána do protokolu auditu.
2. Permisivní :Akce v rozporu se zásadami se zaznamenávají pouze do protokolu auditu.
3. Zakázáno :SELinux je zcela deaktivován.
Dočasné přepínání režimů SELinux
K dočasnému přepínání mezi režimy SELinux můžeme použít příkaz setenforce, jak je ukázáno níže:
# setenforce [ Enforcing | Permissive | 1 | 0 ]
0 –> Povolující
1 –> Vynucování
Nebo můžete hodnoty jednoduše přenést do pseudo souboru – /sys/fs/selinux/enforce nebo /selinux/enforce .
# echo [0|1] > /sys/fs/selinux/enforce
Chcete-li zkontrolovat aktuální režim SELinux:
# getenforce Enforcing
nebo můžeme také použít příkaz sestatus k získání podrobného stavu:
# sestatus SELinux status: enabled SELinuxfs mount: /selinux --> virtual FS similar to /proc Current mode: enforcing --> current mode of operation Mode from config file: permissive --> mode set in the /etc/sysconfig/selinux file. Policy version: 24 Policy from config file: targeted
Trvalá změna režimů SELinux
Pomocí souboru /etc/sysconfig/selinux
Jedním ze způsobů, jak trvale změnit režim SELinux na Vynucování nebo Povolení, je – upravit soubor /etc/sysconfig/selinux a nastavit hodnotu parametrů SELINUX buď na vynucení nebo povolení.
# ls -l /etc/sysconfig/selinux lrwxrwxrwx. 1 root root 17 Mar 2 13:03 /etc/sysconfig/selinux -> ../selinux/config
# cat /etc/sysconfig/selinux # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Upravte tento soubor a restartujte systém, aby se změny projevily.
Použití spouštěcích parametrů jádra
Pro nastavení režimu SELinux můžeme také použít zaváděcí parametr jádra při zavádění. Pro tuto úpravu /etc/grub.conf soubor a přidejte možnost “selinux=1 vynucení=[0|1]” na spouštěcí parametry.
# cat /etc/grub.conf ........ root (hd0,0) kernel /vmlinuz-2.6.32-279.el6.x86_64 root=/dev/md3 selinux=1 enforcing=0 initrd /initramfs-2.6.32-279.el6.x86_64.img .........
selinux=1 –> Povolit SELinux
enforced=0 –> Permisivní režim
enforcing=1 –> Enforcing mode
Zakázání SELinux
Někdy, když nejste dobře obeznámeni s funkcemi SELinuxu, je lepší jej vypnout. Nemůžeme deaktivovat SELinux bez restartu. Alternativní možností by bylo – nastavit SELinux v Permisivním režimu. Chcete-li SELinux úplně zakázat, upravte konfigurační soubor /etc/sysconfig/selinux nebo /etc/selinux/config což je měkký odkaz na soubor /etc/sysconfig/selinux.
# ls -l /etc/sysconfig/selinux lrwxrwxrwx. 1 root root 17 Mar 2 13:03 /etc/sysconfig/selinux -> ../selinux/config
# cat /etc/sysconfig/selinux # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Upravte tento soubor a restartujte systém, aby se změny projevily.
Použití spouštěcích parametrů jádra k deaktivaci SELinux
Další způsob, jak trvale deaktivovat SELinux, je upravit zaváděcí parametry jádra. Upravte soubor /etc/grub.conf a přidejte volbu selinux=0 k volbě spouštění, abyste SELinux při zavádění deaktivovali. V tomto případě jsou nastavení v /etc/sysconfig/selinux ignorována.
# cat /etc/grub.conf ........ root (hd0,0) kernel /vmlinuz-2.6.32-279.el6.x86_64 root=/dev/md3 selinux=0 initrd /initramfs-2.6.32-279.el6.x86_64.img .........