Serverovny.cz/Fórum/Jak nastavit SELinux na Linuxovém serveru?

Jak nastavit SELinux na Linuxovém serveru?

Když jsem se naposledy pokoušel o správu bezpečnosti na svém Linuxovém serveru, narazil jsem na něco, čemu říkají SELinux. Slyšel jsem, že je to mocný nástroj pro zajištění bezpečnosti, ale přiznám se, že nevím, jak ho správně nastavit. Mám pocit, že je to docela důležité, protože jsem slyšel, že může ochránit systém před různými útoky a zranitelnostmi. Jenže na druhou stranu jsem také slyšel, že jeho konfigurace může být dost komplikovaná a že mám být opatrný, abych neudělal něco špatně, co by mohlo způsobit víc problémů než užitku. Mohli byste mi prosím přiblížit, jak začít s nastavením SELinux? Jaké jsou základní kroky, které bych měl udělat? Je dobré začít s nějakým konkrétním profilem nebo režimem? A co když se něco pokazí – jak se dá SELinux vypnout nebo přepnout do méně restriktivního režimu? Rád bych věděl i něco o tom, jak monitorovat jeho činnost a jak zjistit, jestli dělá to, co má. Opravdu nechci skončit s nefunkčním serverem kvůli špatné konfiguraci. Takže pokud máte nějaké tipy nebo doporučení, budu moc vděčný. Díky moc za pomoc!

175 slov
1.8 minut čtení
18. 11. 2023
Pavel Karásek

Nastavit SELinux může být na začátku trošku oříšek, ale když se do toho ponoříš, není to zas tak hrozné. Začni tím, že zjistíš, v jakém režimu SELinux běží. Můžeš to zjistit příkazem sestatus. Pokud je zapnutý, můžeš mít tři režimy: Enforcing, Permissive a Disabled. Doporučuji začít v Permissive, protože to ti umožní vidět, co by SELinux blokoval, aniž by to fakticky dělal. V tomhle režimu můžeš sledovat logy a učit se, co SELinux dělá a co bys mohl potřebovat povolit.

Pokud všechno funguje a jsi si jistý, že víš, co děláš, můžeš přepnout do Enforcing režimu. Je dobré mít nějaký základní profil, většinou je už předkonfigurovaný pro většinu služeb. Když něco pokazíš a server přestane fungovat, můžeš SELinux dočasně vypnout pomocí setenforce 0 nebo ho na trvalo vypnout editací /etc/selinux/config a změnou SELINUX=enforcing na SELINUX=disabled.

Pro monitorování sleduj /var/log/audit/audit.log, tam najdeš všechny akce, které SELinux provádí. Jestli se ti stane, že se ti nějaká aplikace nespustí kvůli SELinuxu, můžeš použít nástroje jako audit2allow, které ti pomůžou vytvořit pravidla pro povolení daných akcí.

Na začátku to může vypadat složitě, ale když si zvykneš na logy a pár příkazů, dá se to zvládnout. Hlavně buď opatrný při změnách a testuj to postupně.

197 slov
2 minut čtení
19. 1. 2025
Pavel Khýr

Nastavení SELinuxu může vypadat složitě, ale není to tak hrozné. Začni tím, že zjistíš, jaký máš režim – může být povolený (enforcing), povolený s varováním (permissive) nebo vypnutý (disabled). Můžeš to zkontrolovat v souboru /etc/selinux/config, kde nastavíš SELINUX=enforcing, permissive nebo disabled podle toho, co ti vyhovuje. Doporučuji začít v permissive režimu, abys zjistil, co se děje, a pak postupně přejít do enforcing.

Dále je dobré mít nainstalovaný nástroj jako semanage nebo setsebool pro správu politik. Pokud něco nefunguje, můžeš použít audit.log k diagnostice problémů – ten ti ukáže, co SELinux blokuje. Pokud to bude moc komplikovaný, tak pamatuj, že vždycky můžeš SELinux dočasně vypnout pomocí příkazu setenforce 0 a pak ho zase zapnout setenforce 1.

Aby ses vyhnul problémům, doporučuju se podívat na dokumentaci k politice a třeba i použít některé z předpřipravených profilů, které jsou už ve standardní distribuci. Je to snazší než tvořit politiku od nuly. Hodně lidí používá i webové rozhraní jako Cockpit pro monitorování SELinuxu – to ti to ulehčí. Jen buď opatrný a testuj změny postupně.

171 slov
1.7 minut čtení
19. 1. 2025
Eliška Švandová
Serverovny.cz/Články/Open source řešení
Zabezpečení Linuxového serveru pomocí SELinux a AppArmor: co byste měli vědětPodrobný článek o porovnání a implementaci SELinux a AppArmor pro bezpečnost Linuxových serverů, se zaměřením na praktické tipy a triky.
1000 slov
10 minut čtení
9. 12. 2022
Adam Veselý
Přečíst článek
Podobné otázky