SELinux | |
---|---|
SELinux Administration GUI na Fedoře 8 | |
Typ | Bezpečnost |
Vývojář | červená čepice |
Zapsáno v | Xi |
Operační systém | Komponenta linuxového jádra |
První vydání | 1998 |
Nejnovější verze |
|
kandidát na propuštění | |
Licence | GNU GPL |
webová stránka | selinuxproject.org |
Mediální soubory na Wikimedia Commons |
SELinux ( anglicky Security-Enhanced Linux - Linux s vylepšeným zabezpečením) je implementace systému nucené kontroly přístupu , který může pracovat paralelně s klasickým systémem selektivní kontroly přístupu .
Operační systém setrvává v systému selektivní kontroly přístupu a má zásadní omezení ve smyslu sdílení procesního přístupu ke zdrojům – přístup ke zdrojům je založen na přístupových právech uživatele. Jde o klasická práva na třech úrovních – vlastník, skupina vlastníků a další. rwx
V SELinuxu jsou přístupová práva určena samotným systémem pomocí speciálně definovaných politik. Zásady fungují na úrovni systémových volání a jsou vynucovány samotným jádrem (ale mohou být implementovány i na aplikační úrovni). SELinux funguje podle klasického bezpečnostního modelu Linuxu. Jinými slovy, nemůžete prostřednictvím SELinuxu povolit to, co je zakázáno prostřednictvím uživatelských nebo skupinových oprávnění. Zásady jsou popsány pomocí speciálního flexibilního jazyka pro popis přístupových pravidel. Ve většině případů jsou pravidla SELinuxu pro aplikace „transparentní“ a není třeba je upravovat. Některé distribuce obsahují přednastavené zásady, ve kterých lze práva určovat na základě shody mezi typy procesů (předmětu) a souboru (objektu) – to je hlavní mechanismus SELinuxu. Dvě další formy řízení přístupu jsou přístup na základě rolí a přístup založený na zabezpečení. Například „ DSP “, „tajné“, „přísně tajné“, „ OV “.
Nejjednodušší typ politiky, se kterým lze pracovat a udržovat, je takzvaná „cílená“ politika vyvinutá projektem Fedora . Tato zásada popisuje více než 200 procesů, které lze spustit v operačním systému. Vše, co není popsáno zásadou "cíl", se provádí v doméně (s typem) unconfined_t. Procesy běžící v této doméně nejsou chráněny SELinuxem. Všechny uživatelské aplikace třetích stran tak budou bez problémů fungovat v systému s „cílenou“ politikou v rámci klasických oprávnění systému selektivní kontroly přístupu.
Kromě „cílené“ politiky obsahují některé distribuce politiku s vrstveným bezpečnostním modelem (podporující model Bell-LaPadula ).
Třetí možnost politiky je „přísná“. Zde platí zásada „co není dovoleno, je zakázáno“ ( zásada nejmenších práv ). Tato politika je založena na referenční politice Tresys .
SELinux byl vyvinut americkou Národní bezpečnostní agenturou a poté byl jeho zdrojový kód zpřístupněn ke stažení.
Původní text (anglicky)[ zobrazitskrýt] Od NSA Security-Enhanced Linux Team :
„NSA Security-Enhanced Linux je sada záplat linuxového jádra a některých utilit pro začlenění silné a flexibilní architektury povinného řízení přístupu (MAC) do hlavních subsystémů jádra. Poskytuje mechanismus pro vynucení oddělení informací na základě požadavků na důvěrnost a integritu, což umožňuje čelit hrozbám manipulace a obcházení mechanismů zabezpečení aplikací a umožňuje omezit škody, které mohou být způsobeny škodlivými nebo chybnými aplikacemi. Zahrnuje sadu vzorových konfiguračních souborů zásad zabezpečení navržených tak, aby splňovaly běžné obecné bezpečnostní cíle."
SELinux je součástí linuxového jádra (od verze 2.6).
SELinux také vyžaduje upravené verze některých nástrojů ( ps , ls a další), které poskytují podporu pro nové funkce jádra a podporu ze systému souborů.
LSM ( anglicky Linux Security Modules - Linux security modules) jsou implementace ve formě zaváděcích modulů jádra. Primárně se LSM používají k podpoře řízení přístupu. LSM samy o sobě neposkytují systému žádné další zabezpečení, ale slouží pouze jako jakési rozhraní pro jeho podporu. Systém LSM zajišťuje implementaci funkcí interceptorů, které jsou uloženy ve struktuře bezpečnostní politiky, která pokrývá hlavní operace, které je třeba chránit. Řízení přístupu do systému se provádí díky nakonfigurovaným politikám.
Většina operačních systémů má funkce a metody řízení přístupu, které zase určují, zda má entita na úrovni operačního systému (uživatel nebo program) přístup k určitému prostředku. Používají se následující metody řízení přístupu:
Na samém začátku svého vzhledu byl SELinux implementován jako patch. V tomto případě nebylo snadné nakonfigurovat bezpečnostní politiku. S příchodem mechanismů LSM se konfigurace a správa zabezpečení výrazně zjednodušila (mechanismy prosazování zásad a zabezpečení byly odděleny), SELinux byl implementován jako zásuvné moduly jádra. Před přístupem k vnitřním objektům operačního systému se změní kód jádra. To je realizováno pomocí speciálních funkcí ( zachycovače systémových volání ) , tzv. hákových funkcí . Funkce interceptorů jsou uloženy v nějaké datové struktuře, jejich účelem je provádět určité bezpečnostní akce na základě předem stanovené politiky. Samotný modul obsahuje šest hlavních komponent: bezpečnostní server; přístupová vektorová cache ( angl. Access Vector Cache , AVC); tabulky síťového rozhraní; kód signálu upozornění sítě; jeho virtuální souborový systém (selinuxfs) a implementace funkcí interceptoru.
SELinux je komerčně dostupný jako součást Red Hat Enterprise Linux od verze 4.
Podporované distribuce Linuxu v komunitě:
SELinux je jedním z několika možných přístupů k omezení akcí prováděných nainstalovaným softwarem.
Systém AppArmor dělá v podstatě totéž jako SELinux. Jedním z důležitých rozdílů mezi těmito systémy je způsob identifikace objektů souborového systému: AppArmor používá úplnou cestu, SELinux jde hlouběji pomocí inode .
Tyto rozdíly se objevují ve dvou případech:
Těmto problémům se lze v obou systémech vyhnout použitím výchozí zásady „žádný přístup“.