Security Enhanced Linux nebo SELinuxis je bezpečnostní mechanismus zabudovaný do linuxového jádra používaného distribucemi založenými na RHEL.
SELinux přidává do systému další vrstvu zabezpečení tím, že umožňuje správcům a uživatelům řídit přístup k objektům na základě pravidel zásad.
Pravidla zásad SELinuxu určují, jak procesy a uživatelé vzájemně interagují a jak procesy a uživatelé interagují se soubory. Pokud neexistuje žádné pravidlo explicitně povolující přístup k objektu, například pro proces otevírání souboru, přístup je odepřen.
SELinux má tři provozní režimy:
- Vynucování:SELinux umožňuje přístup na základě pravidel zásad SELinux.
- Permisivní:SELinux zaznamenává pouze akce, které by byly odepřeny, kdyby byly spuštěny v režimu vynucení. Tento režim je užitečný pro ladění a vytváření nových pravidel zásad.
- Zakázáno:Nejsou načteny žádné zásady SELinux a nejsou protokolovány žádné zprávy.
Ve výchozím nastavení je v CentOS 8 SELinux povolen a v režimu vynucení. Důrazně se doporučuje ponechat SELinux v režimu vynucení. Někdy však může narušovat fungování některé aplikace a musíte ji nastavit do tolerantního režimu nebo ji úplně zakázat.
V tomto tutoriálu vysvětlíme, jak deaktivovat SELinux na CentOS 8.
Předpoklady #
Režim SELinux může změnit pouze uživatel root nebo uživatel s právy sudo.
Kontrola režimu SELinux #
Použijte sestatus
příkaz ke kontrole stavu a režimu, ve kterém SELinux běží:
sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 31
Výše uvedený výstup ukazuje, že SELinux je povolen a nastaven na režim vynucení.
Změna režimu SELinux na povolený #
Je-li povoleno, SELinux může být v režimu vynucení nebo povolení. Pomocí následujícího příkazu můžete dočasně změnit režim z cíleného na povolený:
sudo setenforce 0
Tato změna je však platná pouze pro aktuální relaci běhového prostředí a mezi restarty nepřetrvává.
Chcete-li trvale nastavit režim SELinux na permisivní, postupujte podle následujících kroků:
-
Otevřete
/etc/selinux/config/etc/selinux/config
a nastavteSELINUX
mod napermissive
:# 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 three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
-
Uložte soubor a spusťte
setenforce 0
příkaz pro změnu režimu SELinux pro aktuální relaci:sudo shutdown -r now
Deaktivace SELinux #
Místo deaktivace SELinuxu se důrazně doporučuje změnit režim na povolený. SELinux deaktivujte pouze v případě, že je to nutné pro správné fungování vaší aplikace.
Chcete-li trvale deaktivovat SELinux na vašem systému CentOS 8, postupujte takto:
-
Otevřete
/etc/selinux/config/etc/selinux/config
a změňteSELINUX
hodnotu nadisabled
:# 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 three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
-
Uložte soubor a restartujte systém:
sudo shutdown -r now
-
Po zavedení systému použijte
sestatus
příkaz k ověření, že SELinux byl deaktivován:sestatus
Výstup by měl vypadat takto:
SELinux status: disabled