GNU/Linux >> Znalost Linux >  >> Linux

Co je SELinux? Proč ji možná chcete deaktivovat?

Pokud již o SELinuxu víte a jste si plně vědomi rizik, s nimiž byste se setkali při jeho deaktivaci, zde je návod, jak to udělat.

  • Otevřete konfigurační soubor /etc/selinux/config nebo jeho symbolický odkaz /etc/sysconfig/selinux .
  • Změňte řádek z SELINUX=enforcing na SELINUX=zakázáno
  • Restartujte systém nebo použijte setenforce 0 okamžitě vyvolat změnu.

Přečtěte si tento článek, kde najdete podrobnější informace o tom, co je SELinux, jak deaktivovat SELinux a proč není vždy dobrý nápad deaktivovat SELinux.

Co je SELinux?

SELinux je zkratka pro Security Enhanced Linux. Jedná se o označovací mechanismus, který poskytuje vysokou bezpečnost souborů a dalších objektů v systému před neoprávněnými procesy a také autorizovanými procesy, které nemají nebo nepotřebují takový přístup, aby se zabránilo zneužití.

SELinux lze nainstalovat do jakéhokoli existujícího systému Linux. Toto použití nebude užitečné pro všechny jednotlivé uživatele, ale bude nezbytné pro serverové systémy.

Jeho bezpečnostní rigidita může být pochopena skutečností, že se SELinuxem proces vlastněný rootem, i když je hacknutý, nemá přístup k souborům, které nemají přístup.

Jak SELinux funguje?

SELinux vynucuje přístupovou politiku, kterou bude jádro dodržovat, kdykoli proces potřebuje získat přístup k souboru nebo objektu. V rámci zásady je každému souboru nebo procesu přiřazen štítek. Takže když proces se štítkem a:a:a potřebuje přístup k souboru (se štítkem b:b:b), oba by se měly shodovat (kromě konfigurace MLS, ve které bude hierarchie dodržována podle zásad).

Přečtěte si více o označování zde a zde.

Všimněte si, že deaktivace SELinuxu na serveru přináší zpět do systému mnoho hrozeb. Ujistěte se, že to neděláte z pohodlí nebo spekulativního obsahu článků, ale z oprávněného důvodu.

Nevýhody deaktivace SE Linux

Při deaktivaci SELinuxu bude mít každý proces přístup k souborům jako v normálním systému Linux. Zneužití práv nelze zabránit. Napadený proces může získat přístup k tajným souborům, které nejsou potřeba pro jeho původní účel a mohly by být zneužity. Toto je vážný problém.

Pokud je kompromitován proces s oprávněním root, je ohrožen celý systém. SELinux poskytuje přísnější zabezpečení. Další informace o rizicích naleznete zde.

Proč byste chtěli deaktivovat SELinux, pokud je to bezpečnostní funkce?

Protože extrémní bezpečnostní prvky se často stávají bolestí. Totéž platí pro SELinux.

Protože je příliš striktní na to, jaké soubory jsou přístupné jakým procesem, budete mít problém zajistit, aby různé služby na vašem serveru správně fungovaly.

Pokud například soubory ve /var/lib vlastní uživatel root a mají oprávnění k souboru 000, program, který tyto soubory vyžaduje, se nespustí.

Také, když ladíte aplikaci, SELinux se stává bolestí. Jeho vypnutí vám ušetří bolesti hlavy.

Tip:Použijte permisivní režim se SELinux

Relativně lepší praxí je uvést SELinux do permisivního režimu před nasazením aplikace nebo laděním problému a poté jej znovu povolit.

Permisivní režim funguje, jako kdyby byl SELinux zakázán, ale zároveň se bude protokolovat, jako by byl SELinux povolen.

Tímto způsobem můžete z protokolů /var/log/messages vědět, co by se stalo s vaší aplikací, kdyby byl povolen SELinux. Zkontrolujte zprávy o zamítnutí.

Všimněte si, že váš systém není chráněn zásadami SELinux v permisivním režimu.

Zakázat SELinux v CentOS a dalších distribucích Linuxu

SELinux můžete zakázat pomocí následujících kroků. Přestože jsou tyto příkazy testovány v CentOS, měly by perfektně fungovat ve Fedoře a Red Hat Linuxu.

Myslím, že stejné kroky by měly být použitelné i pro jiné distribuce Linuxu. Pokud ne, dejte nám prosím vědět v sekci komentářů.

Nejprve zkontrolujte stav SELinux pomocí sestatus příkaz.

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
Max kernel policy version: 31

Pokud je SELinux povolen a je v režimu vynucení, můžete jej zakázat pomocí těchto kroků.

Krok 1: Otevřete konfigurační soubor /etc/selinux/config nebo jeho symbolický odkaz /etc/sysconfig/selinux

Krok 2: Změňte řádek z SELINUX=enforcing na SELINUX=disabled .

Krok 3: Restartujte systém nebo použijte setenforce 0 změnit režim SELinux pro aktuální relaci a změna bude aktivní při restartu.

Poznámka :Chcete-li přepnout SELinux do permisivního režimu, změňte konfigurační soubor tak, aby měl SELINUX=permisivní

Jak znovu povolit SELinux?

Jak již bylo zmíněno dříve, možná budete chtít znovu povolit SELinux po ladění vašeho problému nebo nasazení vaší aplikace. Ve skutečnosti je dočasné vypnutí SELinuxu možná nejlepší nápad.

SELinux můžete znovu povolit vrácením změn, které jste provedli dříve.

Krok 1: Otevřete znovu soubor /etc/selinux/config nebo /etc/sysconfig/selinux.

Krok 2: Tentokrát změňte řádek na SELINUX=enforcing

Krok 3: Nakonec restartujte systém nebo použijte příkaz setenforce 1 okamžitě vynutit SELinux.

Doufám, že jsem objasnil pár věcí o SELinuxu, jako je permisivní režim vs vynucování, deaktivace SELinuxu atd.

Máte-li dotazy nebo návrhy na vylepšení tohoto článku, dejte nám vědět v sekci komentářů níže. Podělte se také o svůj názor na deaktivaci SELinuxu.


Linux
  1. Co pro vás může udělat shell dotfile

  2. Jaká je aktuální úroveň běhu systému Linux?

  3. Proč Deis a co to je?

  1. Zakažte SELinux na CentOS 6

  2. Co je jmenný prostor UTS?

  3. Co přesně init dělá?

  1. Proč potřebujete vypustit ifconfig pro ip

  2. Jak dočasně nebo trvale zakázat SELinux

  3. Co je POSIX? Proč je to pro uživatele Linuxu/UNIXu důležité?