Bezpečnost je v dnešní době extrémně důležitým aspektem vývoje softwaru, správy serverů a vývoje aplikací.
A pokud používáte Linux, máte štěstí – přichází s vynikající funkcí zvanou SE Linux, která vám pomůže přidat další vrstvu zabezpečení.
Co je SE Linux?
SE Linux byl vyvinut NSA (National Security Agency), aby sloužil vládním bezpečnostním úkolům.
SE Linux je zkratka pro Security Enhanced Linux. Poskytuje správcům systému větší kontrolu nad poskytováním přístupu k souborům a procesům. Se SE Linuxem mohou administrátoři definovat kontext a soubory značek a povolit je v tomto kontextu.
Přístup a oprávnění se obvykle dědí na základě skupin uživatelů. Existují však některé zdroje (například webové servery a procesy), které potřebují přístup k síťovým portům a procesům jádra. Ty jsou obvykle vytvořeny uživatelem root nebo uživateli se speciálním přístupem. SE Linux vám pomůže omezit, kdo má k těmto speciálním procesům přístup.
Jak pracovat s SE Linux
SE Linux je standardně dodáván ve většině linuxových distribucí. V tomto příspěvku budu pracovat na Fedoře.
Jen mějte na paměti, že práce s SE Linuxem vyžaduje sudo
nebo root
přístup.
Konfigurační soubor SE Linux se nachází v /etc/sysconfig/selinux
složka. Podívejme se na jeho obsah:
Režimy SE Linux
V konfiguračním souboru můžeme změnit režimy a vybrat si kterýkoli z níže uvedených:
- Vynuceno – Ve výchozím nastavení povoleno, filtry založené na definovaných zásadách.
- Povolné – Nevynucuje definované zásady, ale zaznamenává všechny pokusy do souborů protokolu. Tento režim je užitečný pro odstraňování problémů.
- Zakázáno – SE Linux je zcela zakázán. To se nedoporučuje, protože by to mohlo vystavit váš systém hrozbám. Také návrat zpět k vynuceným by mohl způsobit určité nesrovnalosti.
Svůj aktuální režim SE Linux můžete zkontrolovat pomocí níže uvedených příkazů:
getenforce
sestatus
Pokud potřebujete změnit režim pouze pro aktuální relaci, můžete použít následující příkazy:
sudo setenforce 0
– nastaví permisivní režim pro aktuální relacisudo setenforce 1
– nastaví režim vynucení pro aktuální relaci
Zásady SE Linux
V SE Linuxu definují zásady přístup k uživatelům. Uživatelé definují přístup k rolím a role definují přístup k doménám. Domény pak poskytují přístup k určitým souborům.
Pro změnu a úpravu přístupů jsou definovány 'booleovské'. V další sekci se podíváme na booleany.
Jak spravovat zásady SE Linux pomocí booleans
Jak nyní víte, zásady SE Linux jsou spravovány pomocí booleanů.
Podívejme se na funkční příklad toho, jak byste si prohlíželi a nastavovali boolean. V tomto příkladu nastavíme booleany specifické pro httpd
.
Nejprve vypište všechny moduly specifické pro http – getsebool -a | grep httpd
.
Zde -a
uvádí všechny logické hodnoty.
Dále vybereme a změníme žlutě zvýrazněný boolean v kódu výše:
getsebool httpd_can_connect_ftp
Nyní nastavte hodnotu na allow
.
setsebool -P httpd_can_connect_ftp 1
Ve výše uvedeném příkazu
- Příznak P se používá k tomu, aby byla změna trvalá i po restartu.
1
povoluje boolean.
Nyní, když znovu vypíšete proces, jeho hodnota bude povolena.
Architektura SE Linux
Níže uvedený diagram vysvětluje, jak SE Linux ověřuje pokus ze zdroje:
Odstraňování problémů a protokoly SE Linux
SE Linux vytváří velmi podrobné protokoly pro každý pokus. Protokoly můžete najít a zobrazit zde:/var/log/audit
.
Při odstraňování problémů byste měli přejít do „povolovacího“ režimu, aby bylo možné zaznamenat všechny události do protokolů. Přestože zásady nejsou vynucovány, pokusy se zaznamenávají do protokolů.
Jak deaktivovat a povolit SE Linux
Úplné zakázání SE Linuxu není nikdy dobrá volba. Existují však určité scénáře, kdy lze zásady obejít, například při odstraňování problémů.
Namísto deaktivace SE Linuxu, pokud narazíte na malý problém, je lepší investovat nějaký čas do odstraňování problémů.
Ale pokud opravdu potřebujete deaktivovat SE Linux, postupujte takto:
- Změňte režim z „vynucování“ na „povolující“.
- Změňte režim z „povoleného“ na „vypnuto“.
Zabalení
Učení SE Linuxu stojí za váš čas a při jeho používání můžete prozkoumat nekonečné možnosti.
SE Linux poskytuje administrátorům jemnou úroveň kontroly. Proč se to tedy nenaučit a nevyužít ke zvýšení své bezpečnosti?
Děkuji za přečtení až do konce. Pojďme se připojit na Twitteru.