Invia.cz
Eurovíkendy
Kanárské ostrovy
Dominikánská republika
Madeira
Last minute
Vydělávejte peníze s INVIA.CZ
Security-Enhanced Linux (SELinux, česky Linux se zvýšeným zabezpečením) je vlastnost Linuxu, která poskytuje rozmanité možnosti zabezpečení, zahrnující U.S. Department of Defense style mandatory access controls, s použitím Linux Security Modules (LSM) v Linuxovém jádře. Není to Linuxová distribuce, ale spíše souhrn modifikací, který může být aplikován do Unixu podobných operačních systémů, jako je Linux a BSD. Jeho architektura se snaží být v souladu se svazky softwaru, které mají na starosti vynucení si zabezpečení a které jsou úzce spojeny s Trusted Computer System Evaluation Criteria (TCSEC, referované jako Orange Book) požadavekem na trusted computing base (TCB) minimalizaci (aplikovatelnou na hodnotící třídy B3 a A1), která ale není docela spojena s požadavkem na nejmenší privilegium (B2, B3, A1) jak je často prohlašováno. Zárodkové koncepty před SELinuxem můžeme vysledovat v několika dřívějších projektech U.S. National Security Agency.
Obsah |
SELinux byl vyvíjen v americké National Security Agency. Dne 22. prosince 2000 byl uvolněn pod GPL licencí jako open source software a byl začleněn do oficiálního jádra Linuxu verze 2.6.0-test3, které bylo vydáno 8. srpna 2003. Do kódu významně přispěli: Network Associates, Secure Computing Corporation, Trusted Computer Solutions a Tresys. Experimentální porty FLASK/TE implementace byly zpřístupněny přes TrustedBSD projekt pro operační systémy FreeBSD a Darwin.
Z NSA Security-enhanced Linux Team:
(SELinux byl integrován do verze 2.6 série Linuxového jádra a jednotlivé patche jsou nyní nepotřebné; výše zmíněné je historická citace.)
Security-Enhanced Linux je FLASK implementace integrovaná v některých verzích Linuxového jádra s množstvím nástrojů vytvořených k demonstraci hodnoty mandatory access controls do celku Linuxu a jak tyto kontroly mohou být přidány do Linuxu. Takové jádro obsahuje architektonické součásti, které se poprvé objevily v operačním systému Fluke. Tyto součásti poskytují obecnou podporu k vynucení hodně druhů mandatory access control metod, zahrnujíc ty založené na metodách type enforcement, role-based access control, a multi-level security. Pozorování výzkumu zabezpečení operačního systému může znovu vyvolat DTOS, Mach-derived Distributed Trusted Operating System, na kterém byl Flask založen, stejně jako Trusted Mach, výzkumný projekt od Trusted Information Systems, který ovlivnil designování a implementaci DTOS. Ti které zajímá Type Enforcement může také zajímat Domain and Type Enforcement.
Linuxové jádro integrující SELinux prosazuje mandatory access control metody, které omezují uživatelské programy a systémové servery k minimálnímu množství privilegií, které potřebují k tomu aby udělaly svoje úkony. Tímto se redukuje nebo eliminuje schopnost těchto programů a démonů způsobit poškození, když jsou zkompromitovány (přes přetečení vyrovnávací paměti nebo špatné nastavení, například). Tento mechanismus operuje nezávisle na tradičním Linuxovém mechanismu kontrolujícím přístup. Neexistuje v něm koncept pro "root" super-uživatel, a nesdílí dobře známé nedostatky tradičních Linuxových bezpečnostních mechanismů (jako je závislost na setuid/setgid binaritě).
Bezpečnost nezměněných Linuxových systémů závisí na tom, jak kvalitní je jejich jádro, na všech výsadních aplikacích, a na jejich nastavení. Problém v některé z těchto oblastí může znamenat kompromis v celém systému. Naproti tomu, zabezpečení modifikovaného systému založeném na SELinux jádře závisí hlavně na kvalitě jádra a jeho nastavení zabezpečení. Kdežto problémy se správností, nebo nastavením applikací mohou znamenat omezené kompromisy individuálních uživatelských programů a programů běžících na pozadí, které neznamenají hrozbu bezpečnosti dalších uživatelských programů a programů běžících na pozadí, nebo bezpečnosti systému celého.
Z prostého pohledu, SELinux poskytuje zkřížení konceptů a schopností vyvozených z mandatory access kontrol, mandatory integrity control, role-based access control (RBAC), a type enforcement architecture. Třetí nástroj povoluje člověku postavit různé bezpečnostní opatření.
SELinux je dostupný s komerční podporou jako část Red Hat Enterprise Linux (RHEL) verze 4 a všemi budoucími vydáními. Podporovaná koncepce v RHEL 4 směřuje k maximální snadnosti používání a proto neomezuje tolik, jak by mohla. Budoucí verze RHEL budou mít více cílů v této oblasti, což bude znamenat více omezovacích koncepcí.
Ve společnosti podporující Linuxové distribuce zdarma, je SELinux podporován v Debian jako "slepené" vydání [1], Ubuntu verze 8.04 od Hardyho Herona [2] , Fedora od verze 2, Hardened Gentoo, a Yellow Dog Linux.
Je také podporován v EnGarde Secure Linux, který požaduje registraci pro stažení.
Byly snahy poskytnout SELinux balíčky pro SUSE[3] a Slackware [4], ale vypadá to že vývoj byl zastaven (soubory jsou již staré).
Také bylo usilováno o jiné distribuce jako třeba Familiar Linux, ale některé z nich byly ukončeny z technických důvodů (dobře známý případ je opuštění práce když SELinux potřeboval extended attributes, které nebyly podporovány v JFFS2 systému souborů).
Nejdřívější práce směřovala k standardizování přístupu k zajištění povinných a volitelných přístupových kontrol (MAC & DAC) v UNIXU (přesněji, POSIXU), počítačově vědecké prostředí může být připisováno pracovní skupině National Security Agency's Trusted UNIX (TRUSIX), která se sešla od roku 1987 do roku 1991 a publikovala Rainbow Book (#020A), také produkovala formální model a spojila hodnotící evidenční prototyp (#020B), který ale nakonec nebyl publikován. Sponzorována Chetem Coatesem a Mariem Tintou z NSA's National Computer Security Center a řízena Charlesem Testou z Infosystems Technology, stežejními architekty projektu TRUSIX — a členy jeho Modelling Subcommittee — byli Steve Bunch, Frank Knowles, Eric Roskos, Larry Wehr, a Bruce Wilner. (Testa a Wilner také krátce řídili NSA Labelling Subcommittee — která počítala mezi své členy Davida Bella, Marva Schaefera a Willise Wara — stejně jako stavěli Trusted RUBIX, jediný relational database management system, který nabízí B2 funkčnost a ujištění B2 POSIXOVÉ platformy, částečně pod slibem United States Air Force Rome Laboratory.) Jejich snahy zejména jako kritikové méně technicky důkladné práce TRUSIX Access Control List (ACL) Subcommittee, přežily v IEEE POSIX 1003.6 "Bezpečnostní rozšíření pro přenosné systémové prostředí" specifikaci.
SELinux zastupuje jeden z několika možných přístupů k problému omezení akcí, které může instalovaný systém provádět.
AppArmor systém v podstatě pojímá stejný přístup jako SELinux. Jeden důležitý rozdíl je v tom že identifikuje objekty systému soborů podle jména cesty namísto inode. To znamená, že například soubor, který je nepřístupný se může stát přístupným v AppArmor když je k němu vytvořen pevný odkaz, kdežto SELinux by popřel přístup přes nově vytvořený odkaz. Na druhou stranu v SELinuxu, data, která jsou nepřístupná se mohou stát přístupná když aplikace updatuje soubor tím že ho nahradí za novou verzi (často používaná technika), kde by AppArmor stále popíral přístup k datům. (V obou případech přednastavené koncepce, které nedovolují přístup, předchází problému.)
Zatímco byla vedena značná diskuze, který přístup je lepší, není žádný důkaz o tom že jeden přístup by byl preferovanější před druhým.
Všimněte si také, že existující mechanismus kontrolující přístup zůstal v obou systémech.
SELinux a AppArmor se také výrazně liší v tom jak jsou řízeny a jak se integrují do systému.
Izolace procesu může být také dosažena mechanismem jako virtualizace; OLPC projekt, například odkládá jednotlivé aplikace do nevýznamných Vserverů.