Ahoj všem! Speciálně pro studenty kurzu jsme připravili překlad oficiálního FAQ projektu SELinux. Domníváme se, že tento překlad může být užitečný nejen studentům, proto se s vámi o něj dělíme.

Pok attempted jsme odpovědět na některé z nejčastěji kladených otázek týkajících se projektu SELinux. Aktuálně jsou otázky rozděleny do dvou hlavních kategorií. Všechny otázky a odpovědi jsou uvedeny .
Přehled
Přehled
- Co je Linux s vylepšenou bezpečností?
Linux s vylepšenou bezpečností (SELinux - Security-Enhanced Linux) je referenční implementací bezpečnostní architektury Flask pro flexibilní vynucování kontroly přístupu. Byl vytvořen za účelem demonstrovat užitečnost flexibilních mechanismů správy vynuceného přístupu a jak lze tyto mechanismy přidat do operačního systému. Architektura Flask byla následně integrována do Linuxu a portována do několika dalších systémů, včetně operačního systému Solaris, operačního systému FreeBSD a jádra Darwin, což přineslo široké spektrum související práce. Architektura Flask poskytuje společnou podporu pro aplikaci mnoha typů vynucovacích politik kontroly přístupu, včetně těch, které jsou založeny na konceptu typu vynucení, řízení přístupu založeného na rolích a víceúrovňové bezpečnosti. - Co poskytuje Linux s vylepšenou bezpečností, co standardní Linux nemůže?
Jádro Linuxu s vylepšenou bezpečností nastavuje politiky vynuceného kontroly přístupu, které omezují uživatelské programy a systémové servery na minimální sadu oprávnění, která potřebují k vykonání své práce. Při tomto omezení se snižuje nebo vylučuje schopnost těchto uživatelských programů a systémových démonů způsobit škody v případě kompromitace (například v důsledku přetečení zásobníku nebo nesprávné konfigurace). Tento mechanismus omezení funguje nezávisle na tradičních mechanismech kontroly přístupu Linuxu. Nemá pojem superuživatelského „root“ a nedělí běžné nedostatky tradičních ochranných mechanismů Linuxu (například závislost na binárních souborech setuid/setgid).
Ochrana nemodifikovaného systému Linux závisí na správnosti jádra, všech privilegovaných aplikací a každé z jejich konfigurací. Problém v kterékoliv z těchto oblastí může vést ke kompromitaci celého systému. Naopak, ochrana modifikovaného systému založeného na jádře Linux s vylepšenou bezpečností závisí především na správnosti jádra a konfiguraci jeho bezpečnostní politiky. I když problémy se správností nebo konfigurací aplikací mohou umožnit omezenou kompromitaci jednotlivých uživatelských programů a systémových démonů, nepředstavují bezpečnostní hrozbu pro ostatní uživatelské programy a systémové démony nebo bezpečnost systému jako celku. - Na co se to hodí?
Nové funkce Linuxu s vylepšenou bezpečností jsou určeny k zajištění oddělení informací na základě požadavků na důvěrnost a integritu. Mají za cíl zabránit procesům v čtení dat a programů, falšování dat a programů, obcházení bezpečnostních mechanismů aplikací, spouštění nespolehlivých programů nebo zasahování do jiných procesů, což porušuje bezpečnostní politiku systému. Pomáhají také omezit potenciální škody, které mohou způsobit škodlivé nebo nekorektní programy. Měly by také být užitečné pro umožnění používání jednoho systému uživateli s různými bezpečnostními oprávněními k přístupu k různým druhům informací s různými bezpečnostními požadavky, aniž by došlo k poškození těchto požadavků. - Jak mohu získat kopii?
Mnoho distribucí Linuxu zahrnuje podporu SELinux již vestavěnou jako výchozí funkci nebo jako volitelný balíček. Základní kód uživatelského prostoru SELinux je dostupný na . Koncoví uživatelé by obvykle měli používat balíčky poskytované jejich distribucí. - Co je součástí vašeho vydání?
Release NSA SELinux zahrnuje základní kód uživatelského prostoru SELinux. Podpora SELinux je již zahrnuta v hlavním jádře Linux 2.6, dostupném na kernel.org. Základní kód uživatelského prostoru SELinux se skládá z knihovny pro manipulaci s binárními politikami (libsepol), kompileru politiky (checkpolicy), knihovny pro aplikace zabezpečující bezpečnost (libselinux), knihovny pro nástroje správy politiky (libsemanage) a několika souvisejících utilit (policycoreutils).
Kromě jádra s podporou SELinux a základního kódu uživatelského prostoru budete potřebovat politiku a některé upravené balíčky uživatelského prostoru pro použití SELinux. Politiku lze získat z . - Mohu nainstalovat Linux s vylepšenou ochranou na existující systém Linux?
Ano, můžete nainstalovat pouze modifikace SELinux na existující systém Linux, nebo můžete nainstalovat distribuci Linuxu, která již zahrnuje podporu SELinux. SELinux se skládá z jádra Linuxu s podporou SELinux, základního souboru knihoven a utilit, některých modifikovaných uživatelských balíčků a konfigurace politiky. Abyste jej nainstalovali do existujícího systému Linux, ve kterém chybí podpora SELinux, musíte mít možnost zkompilovat software a mít další potřebné systémové balíčky. Pokud vaše distribuce Linux již obsahuje podporu SELinux, nemusíte sestavovat ani instalovat release NSA SELinux. - Jak kompatibilní je Linux s vylepšenou bezpečností s nemodifikovaným Linuxem?
Linux s vylepšenou bezpečností zajišťuje binární kompatibilitu s existujícími aplikacemi Linuxu a s existujícími moduly jádra Linuxu, ale některé moduly jádra mohou vyžadovat modifikace pro správnou interakci se SELinux. Tyto dvě kategorie kompatibility jsou podrobně probrány níže:- Kompatibilita aplikací
SELinux zajišťuje binární kompatibilitu se stávajícími aplikacemi. Rozšířili jsme datové struktury jádra o nové atributy ochrany a přidali nové API pro aplikace zajišťující bezpečnost. Nicméně jsme nezměnili žádné datové struktury viditelné pro aplikace a nezasáhli jsme do rozhraní existujících systémových volání, takže stávající aplikace mohou fungovat bez změn, pokud bezpečnostní politika umožňuje jejich spouštění. - Kompatibilita modulů jádra
Původně SELinux poskytoval základní kompatibilitu pouze pro stávající moduly jádra; bylo třeba tyto moduly znovu zkompilovat na změněných hlavičkách jádra, aby zahrnuly nové ochranné pole přidané do datových struktur jádra. Vzhledem k tomu, že LSM a SELinux jsou nyní integrovány do hlavního jádra Linuxu 2.6, SELinux nyní zajišťuje binární kompatibilitu se stávajícími moduly jádra. Nicméně některé moduly jádra mohou s SELinuxem špatně spolupracovat bez změn. Například pokud modul jádra přímo alokuje a nastavuje objekt jádra bez použití běžných inicializačních funkcí, může objekt jádra postrádat příslušné informace o bezpečnosti. Některé moduly jádra mohou také postrádat odpovídající bezpečnostní kontrolu svých operací; jakékoliv existující volání funkcí jádra nebo funkcí oprávnění také spustí kontroly oprávnění SELinuxu, ale pro zajištění souladu s MAC politikami mohou být vyžadovány podrobnější nebo další kontrolní prvky.
Linux se zvýšenou bezpečností by neměl způsobovat problémy s interakcí s běžnými systémy Linux, pokud jsou všechny potřebné operace povoleny konfigurací bezpečnostní politiky.
- Kompatibilita aplikací
- Jaké jsou cíle vzorové konfigurace bezpečnostní politiky?
Na vysoké úrovni je cílem demonstrovat flexibilitu a zabezpečení vynucených prostředků řízení přístupu a poskytnout jednoduchý fungující systém s minimálními změnami v aplikacích. Na nižší úrovni má politika řadu cílů popsaných v dokumentaci k této politice. Tyto cíle zahrnují správu nepovoleného přístupu k datům, ochranu integrity jádra, systémového software, informací o konfiguraci systému a systémových protokolů, omezení potenciálních škod, které mohou být způsobeny využitím zranitelnosti v procesu vyžadujícím privilegium, ochranu privilegovaných procesů před vykonáváním škodlivého kódu, ochranu role administrátora a domény před vstupem bez uživatelské autentizace, zamezení zásahům běžných uživatelských procesů do systémových procesů nebo procesů administrátora a ochranu uživatelů a administrátorů před zranitelnostmi ve svém prohlížeči pomocí škodlivého mobilního kódu. - Proč byla Linux vybrána jako základní platforma?
Linux byl vybrán jako platforma pro počáteční referenční implementaci této práce kvůli svému rostoucímu úspěchu a otevřenému vývojovému prostředí. Linux poskytuje vynikající příležitost demonstrovat, že tato funkcionalita může být úspěšná v hlavním operačním systému a zároveň přispět k zabezpečení široce používaného systému. Platforma Linux také poskytuje vynikající příležitost pro tuto práci získat co nejširší pohled a možná poslouží jako základ pro další bezpečnostní výzkum dalšími nadšenci. - Proč jste tuto práci provedli?
Agentura národní bezpečnosti odpovídá za výzkum a pokročilý vývoj technologií potřebných pro to, aby NSA mohla poskytovat řešení, produkty a služby pro zabezpečení informační bezpečnosti pro informační infrastruktury, které jsou kriticky důležité pro zájmy národní bezpečnosti USA.
Vytvoření životaschopného bezpečného operačního systému zůstává klíčovým výzkumným úkolem. Naším cílem je vyvinout efektivní architekturu, která poskytuje nezbytnou podporu bezpečnosti, vykonává programy v zásadě transparentně pro uživatele a je atraktivní pro poskytovatele. Domníváme se, že důležitým krokem k dosažení tohoto cíle je ukázat, jak mohou být mechanismy řízení povinného přístupu úspěšně integrovány do jádra operačního systému. - Jak to souvisí s předchozími výzkumy operačních systémů NSA?
Výzkumníci z Národní laboratoře pro zajištění důvěryhodnosti informací NSA ve spolupráci se Secure Computing Corporation (SCC) vyvinuli výkonnou a flexibilní architekturu povinné kontroly přístupu založenou na Type Enforcement, mechanismu, který byl poprvé vyvinut pro systém LOCK. NSA a SCC vyvinuli dva prototypy architektury založené na Mach: DTMach a DTOS (). NSA a SCC poté spolupracovali s výzkumnou skupinou Flux z Univerzity v Utahu, aby převedli architekturu do výzkumného operačního systému Fluke. Během tohoto převodu byla architektura vylepšena tak, aby poskytovala lepší podporu dynamickým bezpečnostním politikám. Tato vylepšená architektura byla nazvána Flask (). NSA nyní integrovalo architekturu Flask do operačního systému Linux, aby tuto technologii předalo širší komunitě vývojářů a uživatelů. - Je Linux s vylepšenou bezpečností spolehlivým operačním systémem?
Fráze „Důvěryhodný operační systém“ se obvykle vztahuje na operační systém, který poskytuje dostatečnou podporu víceúrovňové ochrany a validace správnosti, aby vyhověl určitým požadavkům vlády. Linux s vylepšenou bezpečností zahrnuje užitečné myšlenky z těchto systémů, ale zaměřuje se na vynucování řízení přístupu. Původním cílem vývoje Linuxu s vylepšenou bezpečností bylo vytvoření užitečné funkčnosti, která poskytuje významné výhody ochrany v široké škále reálných prostředí pro demonstraci této technologie. SELinux sám o sobě není důvěryhodným operačním systémem, ale poskytuje kriticky důležitou ochrannou funkci — vynucené řízení přístupu — nezbytnou pro důvěryhodný operační systém. SELinux byl integrován do distribucí Linuxu, které byly hodnoceny podle Labeled Security Protection Profile. Informace o certifikovaných a auditovaných produktech lze nalézt na adrese . - Je to skutečně zabezpečené?
Pojem zabezpečeného systému zahrnuje řadu atributů (například fyzickou bezpečnost, bezpečnost personálu atd.) a Linux s vylepšenou bezpečností se zaměřuje pouze na velmi úzkou sadu těchto atributů (tj. prvky vynuceného přístupu v operačním systému). Jinými slovy, „zabezpečený systém“ znamená dostatečně zabezpečený, aby chránil určité informace v reálném světě před skutečným protivníkem, před kterým varuje vlastník a/nebo uživatel informací. Linux s vylepšenou bezpečností je určen pouze k demonstraci povinných kontrol v moderním operačním systému, jako je Linux, a proto sám o sobě pravděpodobně nesplňuje žádnou zajímavou definici zabezpečeného systému. Věříme, že technologie demonstrovaná v Linuxu s vylepšenou bezpečností bude užitečná pro lidi, kteří vytvářejí zabezpečené systémy. - Co jste udělali pro zvýšení záruk?
Cílem tohoto projektu bylo přidat prvky vynuceného přístupu s minimálními změnami v Linuxu. Tento poslední cíl značně omezuje možnosti zajištění, a proto práce zaměřená na zvyšování zajištění Linuxu nebyla provedena. Na druhou stranu, vylepšení jsou založena na předchozí práci na vývoji architektury bezpečnosti s vysokou mírou spolehlivosti a většina těchto principů návrhu byla přenesena do Linuxu s vylepšenou bezpečností. - Bude CCEVS hodnotit Linux s vylepšenou bezpečností?
Linux s vylepšenou bezpečností sám o sobě není navržen k řešení komplexního souboru bezpečnostních problémů, jaké představuje profil ochrany. I když by bylo možné hodnotit pouze jeho aktuální funkčnost, domníváme se, že takové hodnocení bude mít omezenou hodnotu. Nicméně jsme spolupracovali s ostatními na zahrnutí této technologie do distribucí Linuxu, které byly hodnoceny, a distribucí, které jsou v procesu hodnocení. Informace o ověřených a testovaných produktech najdete na . - Pokoušeli jste se opravit nějaké zranitelnosti?
Ne, během naší práce jsme nehledali ani nenašli žádné zranitelnosti. Pouze jsme provedli dostatečné minimum pro přidání našich nových mechanismů. - Je tento systém schválen pro vládní použití?
Linux s vylepšenou bezpečností nemá žádné zvláštní nebo dodatečné schválení pro vládní použití nad jakoukoli jinou verzí Linuxu. - Čím se to liší od jiných iniciativ?
Linux s vylepšenou bezpečností má jasně definovanou architekturu pro flexibilní vynucenou kontrolu přístupu, která byla experimentálně testována pomocí několika prototypových systémů (DTMach, DTOS, Flask). Podrobné studie byly provedeny s cílem dokázat schopnost architektury podporovat široké spektrum bezpečnostních politik a jsou k dispozici na a .
Architektura poskytuje podrobné řízení mnoha abstrakcí jádra a služeb, které nejsou ovládány jinými systémy. Některé z charakteristických vlastností systému Linux s rozšířenou bezpečností zahrnují:- Čisté oddělení politiky od právní aplikace
- Jasně definovaná rozhraní politik
- Nezávislost na konkrétních politikách a jazycích politik
- Nezávislost na konkrétních formátech a obsahu bezpečnostních značek
- Oddělené značky a ovládací prvky pro objekty a služby jádra
- Caching rozhodnutí o přístupu pro efektivitu
- Podpora změn politiky
- Kontrola nad inicializací procesu, děděním a prováděním programu
- Správa souborových systémů, adresářů, souborů a popisů otevřených souborů
- Správa socketů, zpráv a síťových rozhraní
- Kontrola využití 'Schopností'
- Jaká jsou licenční omezení tohoto systému?
Veškerý zdrojový kód nalezený na webu , se šíří za stejných podmínek jako originální zdrojové kódy. Například opravy pro jádro Linux a opravy pro mnohé stávající utilitky dostupné zde, jsou vydávány na základě . - Existuje kontrola vývozu?
Pro Linux s rozšířenou bezpečností neexistují další prvky kontroly exportu ve srovnání s jakoukoliv jinou verzí Linuxu. - Plánuje NSA používat ji uvnitř země?
Z pochopitelných důvodů NSA nekomentuje operační využití. - Mění prohlášení o zárukách z 26. července 2002 Secure Computing Corporation postoj NSA k tomu, že SELinux byl poskytnut v rámci GNU General Public License?
Postoj NSA se nezměnil. NSA stále věří, že ustanovení a podmínky Standardní veřejné licence GNU řídí použití, kopírování, distribuci a modifikaci SELinux. Viz. . - Podporuje NSA software s open source?
Iniciativy NSA na zajištění bezpečnosti softwaru zahrnují jak proprietární, tak open-source software, a úspěšně jsme využili jak proprietární, tak otevřené modely ve své výzkumné činnosti. Činnost NSA v oblasti zajištění bezpečnosti softwaru je motivována jednou jednoduchou úvahou: maximálně efektivně využít naše zdroje k poskytování nejlepších možných bezpečnostních možností klientům NSA v nejvíce používaných produktech. Cílem výzkumného programu NSA je vyvinout technologická vylepšení, která můžeme sdílet s komunitou vývojářů softwaru prostřednictvím různých přenosových mechanismů. NSA nepodporuje ani nepropaguje konkrétní softwarový produkt nebo obchodní model. Spíše, NSA přispívá k zajištění bezpečnosti. - Podporuje NSA Linux?
Jak bylo výše zmíněno, NSA nepodporuje ani nepropaguje konkrétní softwarový produkt nebo platformu; NSA pouze přispívá k zajištění bezpečnosti. Architektura Flask, demonstrovaná v referenční implementaci SELinux, byla přenesena na několik dalších operačních systémů, včetně Solaris, FreeBSD a Darwin, a byla portována na hypervisor Xen a aplikuje se na aplikace jako X Window System, GConf, D-BUS a PostgreSQL. Koncepty architektury Flask jsou široce aplikovatelné na širokou škálu systémů a prostředí.
Spolupráce
- Jak plánujeme interagovat se komunitou Linux?
Máme , které budou sloužit jako náš hlavní způsob publikování informací o Linuxu s vylepšenou bezpečností. Pokud máte zájem o Linux s vylepšenou bezpečností, doporučujeme se připojit k e-mailovému seznamu vývojářů, prozkoumat zdrojový kód a poskytnout svou zpětnou vazbu (nebo kód). Chcete-li se připojit k e-mailovému seznamu vývojářů, navštivte prosím. . - Kdo může pomoci?
SELinux nyní podporují a vyvíjejí vývojáři softwaru pro Linux z otevřeného zdroje. - Financuje NSA nějakou další práci?
V současnosti NSA nezvažuje návrhy na další práci. - Jaký typ podpory je dostupný?
Plánujeme řešit dotazy prostřednictvím mailing listu selinux@tycho.nsa.gov, ale nebudeme schopni odpovědět na všechny otázky týkající se konkrétního webu. - Kdo pomohl? Co udělali?
Prototyp Linuxu se zlepšenou bezpečností byl vyvinut NSA ve spolupráci s výzkumnými partnery z NAI Labs, Secure Computing Corporation (SCC) a MITER Corporation. Po prvním veřejném vydání následovalo mnoho dalších materiálů. . - Jak se mohu dozvědět více?
Doporučujeme vám navštívit naše webové stránky, přečíst si dokumentaci a předchozí výzkumné práce a zúčastnit se našeho mailing listu selinux@vger.kernel.org.
Považujete překlad za užitečný? Napište nám své komentáře!
Zdroj: habr.com
