SELinux – často kladené otázky (FAQ)

Ahoj všichni! Zejména pro studenty kurzů "Zabezpečení Linuxu" připravili jsme překlad oficiálních FAQ projektu SELinux. Zdá se nám, že tento překlad může být užitečný nejen pro studenty, proto se o něj s vámi podělíme.

SELinux – často kladené otázky (FAQ)

Pokusili jsme se odpovědět na některé z nejčastěji kladených otázek o projektu SELinux. Otázky jsou v současné době rozděleny do dvou hlavních kategorií. Všechny otázky a odpovědi jsou uvedeny na stránce FAQ.

Recenze

Recenze

  1. Co je to Security-Enhanced Linux?
    Security-enhanced Linux (SELinux) je referenční implementace bezpečnostní architektury Flask pro flexibilní a vynucené řízení přístupu. Byl vytvořen, aby demonstroval užitečnost flexibilních vynucovacích mechanismů a toho, jak lze takové mechanismy přidat do operačního systému. Architektura Flask byla následně integrována do Linuxu a portována na několik dalších systémů, včetně operačního systému Solaris, operačního systému FreeBSD a jádra Darwin, což dalo vzniknout široké škále souvisejících prací. Architektura Flask poskytuje obecnou podporu pro vynucení mnoha typů zásad vynucení řízení přístupu, včetně těch, které jsou založeny na konceptech Type Enforcement, Role-based Access Control a Multi-level Security.
  2. Co poskytuje Linux se zvýšenou bezpečností, co standardní Linux nedokáže?
    Linuxové jádro s vylepšeným zabezpečením vynucuje vynucené zásady řízení přístupu, které omezují uživatelské programy a systémové servery na minimální sadu oprávnění, která potřebují ke své práci. S tímto omezením je snížena nebo eliminována schopnost těchto uživatelských programů a systémových démonů způsobit poškození v případě kompromisu (například kvůli přetečení vyrovnávací paměti nebo nesprávné konfiguraci). Tento omezovací mechanismus funguje nezávisle na tradičních linuxových mechanismech řízení přístupu. Nemá koncept „kořenového“ superuživatele a nesdílí známé nedostatky tradičních bezpečnostních mechanismů Linuxu (např. závislost na binárkách setuid/setgid).
    Zabezpečení nemodifikovaného linuxového systému závisí na správnosti jádra, všech privilegovaných aplikací a každé z jejich konfigurací. Problém v kterékoli z těchto oblastí může ohrozit celý systém. Naproti tomu bezpečnost upraveného systému založeného na linuxovém jádře se zvýš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í aplikace mohou umožnit omezené ohrožení jednotlivých uživatelských programů a systémových démonů, nepředstavují bezpečnostní riziko pro ostatní uživatelské programy a systémové démony ani pro bezpečnost systému jako celku.
  3. K čemu je dobrá?
    Nové bezpečnostní funkce Linuxu jsou navrženy tak, aby poskytovaly oddělení informací na základě požadavků na důvěrnost a integritu. Jsou navrženy tak, aby zabránily procesům ve čtení dat a programů, manipulaci s daty a programy, obcházení bezpečnostních mechanismů aplikací, spouštění nedůvěryhodných programů nebo zasahování do jiných procesů v rozporu se zásadami zabezpečení systému. Pomáhají také omezit potenciální škody, které mohou způsobit malware nebo nesprávné programy. Měly by být také užitečné k zajištění toho, že uživatelé s různými bezpečnostními oprávněními mohou používat stejný systém pro přístup k různým druhům informací s různými požadavky na zabezpečení, aniž by tyto požadavky ohrozily.
  4. Jak mohu získat kopii?
    Mnoho distribucí Linuxu obsahuje podporu pro SELinux, která je již integrována jako výchozí funkce nebo jako volitelný balíček. Základní uživatelský kód SELinux je k dispozici na adrese GitHub. Koncoví uživatelé by měli obecně používat balíčky poskytované jejich distribucí.
  5. Co je součástí vašeho vydání?
    Vydání NSA SELinux obsahuje základní uživatelský kód SELinux. Podpora pro SELinux je již zahrnuta v mainstreamovém jádře Linuxu 2.6, dostupném na kernel.org. Jádro uživatelského kódu SELinux se skládá z knihovny pro manipulaci s binárními politikami (libsepol), kompilátoru politik (checkpolicy), knihovny pro bezpečnostní aplikace (libselinux), knihovny pro nástroje pro správu politik (libsemanage) a několika utilit souvisejících s politikami ( policycoreutils).
    Kromě jádra s povoleným SELinuxem a základního uživatelského kódu budete k používání SELinuxu potřebovat politiku a několik záplatovaných balíčků uživatelského prostoru SELinux. Zásadu lze získat z Projekt referenční politiky SELinux.
  6. Mohu nainstalovat tvrzený Linux na stávající systém Linux?
    Ano, modifikace SELinuxu můžete nainstalovat pouze na stávající systém Linux nebo můžete nainstalovat distribuci Linuxu, která již podporu SELinux obsahuje. SELinux se skládá z linuxového jádra s podporou SELinux, základní sady knihoven a utilit, některých upravených uživatelských balíčků a konfigurace zásad. Chcete-li jej nainstalovat na stávající systém Linux, který postrádá podporu SELinux, musíte být schopni zkompilovat software a mít také další požadované systémové balíčky. Pokud vaše distribuce Linuxu již obsahuje podporu pro SELinux, nemusíte sestavovat ani instalovat vydání SELinuxu NSA.
  7. Jak kompatibilní je Linux se zvýšeným zabezpečením s neupraveným Linuxem?
    Security-enhanced Linux poskytuje binární kompatibilitu se stávajícími linuxovými aplikacemi a se stávajícími moduly jádra Linuxu, ale některé moduly jádra mohou vyžadovat úpravu, aby správně spolupracovaly se SELinuxem. Tyto dvě kategorie kompatibility jsou podrobně popsány níže:

    • Kompatibilita aplikací
      SELinux poskytuje binární kompatibilitu se stávajícími aplikacemi. Rozšířili jsme datové struktury jádra o nové bezpečnostní atributy a přidali nová volání API pro bezpečnostní aplikace. Nezměnili jsme však žádné aplikačně viditelné datové struktury ani jsme nezměnili rozhraní žádných stávajících systémových volání, takže stávající aplikace mohou stále běžet, dokud jim to bezpečnostní politika dovolí.
    • Kompatibilita modulu jádra
      Zpočátku SELinux poskytoval pouze počáteční kompatibilitu pro existující moduly jádra; bylo nutné znovu zkompilovat takové moduly s upravenými hlavičkami jádra, aby se vyzvedla nová bezpečnostní pole přidaná do datových struktur jádra. Protože LSM a SELinux jsou nyní integrovány do hlavního proudu jádra Linuxu 2.6, SELinux nyní poskytuje binární kompatibilitu se stávajícími moduly jádra. Některé moduly jádra však bez úprav nemusí dobře spolupracovat se SELinuxem. Pokud například modul jádra přímo alokuje a nastavuje objekt jádra bez použití normálních inicializačních funkcí, pak objekt jádra nemusí mít správné informace o zabezpečení. Některé moduly jádra mohou také postrádat řádné bezpečnostní kontroly jejich operací; všechna existující volání funkcí jádra nebo funkcí oprávnění také spustí kontroly oprávnění SELinux, ale k vynucení zásad MAC mohou být vyžadovány jemnější nebo další kontroly.
      Linux s vylepšeným zabezpečením by neměl způsobovat problémy s interoperabilitou s běžnými linuxovými systémy, pokud konfigurace bezpečnostní politiky umožňuje všechny nezbytné operace.
  8. Jaký je účel příkladu konfigurace bezpečnostní politiky?
    Na vysoké úrovni je cílem prokázat flexibilitu a bezpečnost vynucených řízení přístupu a poskytnout jednoduchý pracovní systém s minimálními změnami aplikace. Na nižší úrovni má politika sadu cílů popsaných v dokumentaci zásad. Mezi tyto cíle patří kontrola přístupu k nezpracovaným datům, ochrana integrity jádra, systémového softwaru, informací o konfiguraci systému a systémových protokolů, omezení potenciálních škod, které by mohly být způsobeny zneužitím zranitelnosti v procesu, který vyžaduje oprávnění, ochrana privilegovaných procesů před spouštěním škodlivých kód, chrání roli správce a doménu před přihlášením bez ověření uživatele, brání běžným uživatelským procesům v zasahování do systémových nebo administrátorských procesů a chrání uživatele a správce před zneužitím zranitelností v jejich prohlížeči škodlivým mobilním kódem.
  9. Proč byl Linux vybrán jako základní platforma?
    Linux byl vybrán jako platforma pro počáteční referenční implementaci této práce kvůli rostoucímu úspěchu a otevřenému vývojovému prostředí. Linux poskytuje vynikající příležitost demonstrovat, že tato funkce může být úspěšná na hostitelském operačním systému a zároveň přispět k bezpečnosti široce používaného systému. Platforma Linux také poskytuje vynikající příležitost pro tuto práci, jak získat co nejširší pohled a možná posloužit jako základ pro další bezpečnostní výzkum jinými nadšenci.
  10. Proč jste dělal tuto práci?
    Národní laboratoř pro výzkum informační bezpečnosti Národní bezpečnostní agentura je zodpovědná za výzkum a vývoj pokročilých technologií, aby NSA mohla poskytovat řešení, produkty a služby informační bezpečnosti pro informační infrastruktury, které jsou důležité pro zájmy národní bezpečnosti USA.
    Vytvoření životaschopného zabezpečeného operačního systému zůstává velkou výzvou pro výzkum. Naším cílem je vytvořit efektivní architekturu, která poskytuje nezbytnou podporu zabezpečení, spouští programy do značné míry transparentním způsobem pro uživatele a je atraktivní pro dodavatele. Věříme, že důležitým krokem k dosažení tohoto cíle je ukázat, jak lze úspěšně integrovat mechanismy kontroly vynuceného přístupu do hlavního operačního systému.
  11. Jak to souvisí s předchozím výzkumem OS NSA?
    Výzkumníci z National Assurance Research Laboratory NSA se spojili s Secure Computing Corporation (SCC), aby vyvinuli výkonnou a flexibilní architekturu vymáhání založenou na Type Enforcement, mechanismu propagovaném systémem LOCK. NSA a SCC vyvinuly dvě prototypové architektury založené na Mach: DTMach a DTOS (http://www.cs.utah.edu/flux/dtos/). NSA a SCC poté spolupracovaly s Flux Research Group na University of Utah na portování architektury na operační systém Fluke Research. Během této migrace byla architektura vylepšena tak, aby poskytovala lepší podporu pro dynamické bezpečnostní politiky. Tato vylepšená architektura byla pojmenována Flask (http://www.cs.utah.edu/flux/flask/). Nyní NSA integrovala architekturu Flask do operačního systému Linux, aby tuto technologii přinesla širší komunitě vývojářů a uživatelů.
  12. Je Linux se zvýšeným zabezpečením spolehlivý operační systém?
    Fráze "důvěryhodný operační systém" obecně odkazuje na operační systém, který poskytuje dostatečnou podporu pro vrstvené zabezpečení a ověřování, aby splnil konkrétní sadu vládních požadavků. Linux s vylepšeným zabezpečením obsahuje užitečné poznatky z těchto systémů, ale zaměřuje se na vynucené řízení přístupu. Původním cílem vývoje Linuxu s vylepšeným zabezpečením bylo vytvořit užitečnou funkcionalitu, která poskytuje hmatatelné bezpečnostní výhody v široké škále prostředí reálného světa k demonstraci této technologie. SELinux sám o sobě není důvěryhodný operační systém, ale poskytuje kritickou bezpečnostní funkci – vynucenou kontrolu přístupu – nezbytnou pro důvěryhodný operační systém. SELinux byl integrován do linuxových distribucí, které byly hodnoceny podle Labeled Security Protection Profile. Informace o testovaných a testovaných produktech naleznete na http://niap-ccevs.org/.
  13. Je opravdu chráněná?
    Pojem bezpečný systém zahrnuje mnoho atributů (například fyzická bezpečnost, personální bezpečnost atd.) a Linux s pokročilým zabezpečením řeší pouze velmi úzkou množinu těchto atributů (tedy kontroly vynucování operačního systému). Jinými slovy, „zabezpečený systém“ znamená dostatečně bezpečný, aby chránil některé informace v reálném světě před skutečným protivníkem, před kterým je vlastník a/nebo uživatel informací varován. Linux s vylepšeným zabezpečením je určen pouze k předvedení požadovaných ovládacích prvků v moderním operačním systému, jako je Linux, a proto je nepravděpodobné, že by sám o sobě vyhovoval nějaké zajímavé definici zabezpečeného systému. Věříme, že technologie demonstrovaná v Linuxu se zvýšeným zabezpečením bude užitečná pro lidi, kteří vytvářejí zabezpečené systémy.
  14. Co jste udělali pro zlepšení záruky?
    Cílem tohoto projektu bylo přidat do Linuxu řízení vynuceného přístupu s minimálními změnami. Tento poslední cíl výrazně omezuje to, co lze udělat pro zlepšení záruky, takže na vylepšení záruky Linuxu nebyla žádná práce. Na druhou stranu tato vylepšení vycházejí z předchozí práce na návrhu architektury zabezpečení s vysokým zabezpečením a většina těchto principů návrhu byla přenesena do systému Security-Enhanced Linux.
  15. Vyhodnotí CCEVS Linux se zvýšenou bezpečností?
    Linux s vylepšeným zabezpečením sám o sobě není navržen tak, aby řešil celou sadu bezpečnostních problémů představovaných bezpečnostním profilem. I když by bylo možné hodnotit pouze jeho aktuální funkčnost, domníváme se, že takové hodnocení by mělo omezenou hodnotu. Spolupracovali jsme však s ostatními na zahrnutí této technologie do distribucí Linuxu, které byly hodnoceny, a distribucí, které jsou ve fázi hodnocení. Informace o testovaných a testovaných produktech naleznete na http://niap-ccevs.org/.
  16. Zkusili jste opravit nějaké zranitelnosti?
    Ne, v průběhu naší práce jsme nehledali ani nenašli žádná zranitelná místa. Přispěli jsme jen dost z naprostého minima, abychom přidali naše nové převody.
  17. Je tento systém schválen pro vládní použití?
    Bezpečně vylepšený Linux nemá žádné zvláštní nebo dodatečné schválení pro vládní použití ve srovnání s jakoukoli jinou verzí Linuxu.
  18. Jak se to liší od jiných iniciativ?
    Security-enhanced Linux má dobře definovanou architekturu pro flexibilní vynucené řízení přístupu, která byla experimentálně testována s několika prototypovými systémy (DTMach, DTOS, Flask). Byly provedeny podrobné studie o schopnosti architektury podporovat širokou škálu bezpečnostních politik a jsou k dispozici v http://www.cs.utah.edu/flux/dtos/ и http://www.cs.utah.edu/flux/flask/.
    Architektura poskytuje jemnou kontrolu nad mnoha abstrakcemi jádra a službami, které nejsou řízeny jinými systémy. Některé z charakteristických vlastností systému Linux s rozšířenou bezpečností jsou:

    • Čisté oddělení politiky od práv prosazování
    • Dobře 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 štítků
    • Samostatné štítky a ovládací prvky pro objekty a služby jádra
    • Ukládání rozhodnutí o přístupu do mezipaměti pro efektivitu
    • Podpora změn zásad
    • Řízení inicializace a dědičnosti procesů a provádění programu
    • Správa souborových systémů, adresářů, souborů a popisů otevřených souborů
    • Správa soketů, zpráv a síťových rozhraní
    • Kontrola nad používáním „Příležitostí“
  19. Jaká jsou licenční omezení pro tento systém?
    Všechny zdrojové kódy nalezené na webu https://www.nsa.gov, je distribuován za stejných podmínek jako původní zdrojové kódy. Například opravy pro linuxové jádro a opravy mnoha existujících nástrojů, které jsou zde k dispozici, jsou vydány za podmínek GNU Obecná veřejná licence (GPL).
  20. Existují kontroly vývozu?
    V porovnání s jakoukoli jinou verzí Linuxu neexistují žádné další ovládací prvky exportu pro Linux s rozšířeným zabezpečením.
  21. Plánuje NSA jeho domácí použití?
    Operační využití NBÚ z pochopitelných důvodů nekomentuje.
  22. Změní prohlášení o zárukách společnosti Secure Computing Corporation z 26. července 2002 postoj NSA, že SELinux byl zpřístupněn pod GNU General Public License?
    Pozice NSA se nezměnila. NSA stále věří, že používání, kopírování, distribuce a modifikace SELinuxu se řídí podmínkami GNU General Public License. Cm. Tisková zpráva NSA z 2. ledna 2001.
  23. Podporuje NSA software s otevřeným zdrojovým kódem?
    Iniciativy NSA v oblasti zabezpečení softwaru zahrnují proprietární i open source software a v našich výzkumných aktivitách jsme úspěšně použili jak proprietární, tak open source modely. Práce NSA na zlepšení zabezpečení softwaru je motivována jednou jednoduchou úvahou: maximálně využít naše zdroje, abychom zákazníkům NSA poskytli nejlepší možné možnosti zabezpečení v jejich nejpoužívanějších produktech. Cílem výzkumného programu NSA je vyvinout technologický pokrok, který lze sdílet s komunitou vývojářů softwaru prostřednictvím různých přenosových mechanismů. NSA nepodporuje ani nepropaguje žádný konkrétní softwarový produkt nebo obchodní model. NSA spíše prosazuje bezpečnost.
  24. Podporuje NSA Linux?
    Jak je uvedeno výše, NSA nepodporuje ani nepropaguje žádný konkrétní softwarový produkt nebo platformu; NSA pouze přispívá ke zvýšení bezpečnosti. Architektura Flask demonstrovaná v referenční implementaci SELinux byla portována na několik dalších operačních systémů včetně Solaris, FreeBSD a Darwin, portována na hypervizor Xen a aplikována na aplikace, jako je X Window System, GConf, D-BUS a PostgreSQL. . Koncepce architektury baňky jsou široce použitelné pro širokou škálu systémů a prostředí.

Spolupráce

  1. Jak plánujeme komunikovat s linuxovou komunitou?
    Máme soubor webových stránek na NSA.gov, který bude sloužit jako náš hlavní způsob zveřejňování informací o Linuxu se zvýšeným zabezpečením. Pokud máte zájem o Linux s vylepšeným zabezpečením, doporučujeme vám připojit se k vývojářskému mailing listu, zobrazit zdrojový kód a poskytnout zpětnou vazbu (nebo kód). Chcete-li se připojit do konference vývojářů, viz Stránka konference vývojářů SELinux.
  2. Kdo může pomoci?
    SELinux je nyní udržován a vylepšován komunitou open source softwaru pro Linux.
  3. Financuje NSA nějakou následnou práci?
    NBÚ v současné době nezvažuje návrhy na další práci.
  4. Jaký typ podpory je k dispozici?
    Máme v úmyslu řešit problémy prostřednictvím mailing listu [chráněno e-mailem], ale nebudeme schopni odpovědět na všechny otázky týkající se konkrétního webu.
  5. Kdo pomohl? Co dělali?
    Prototyp Linuxu s vylepšeným zabezpečením vyvinula NSA s výzkumnými partnery z NAI Labs, Secure Computing Corporation (SCC) a MITER Corporation. Po prvním zveřejnění následovalo mnohem více materiálu. Podívejte se na seznam účastníků.
  6. Jak mohu zjistit více?
    Doporučujeme vám navštívit naše webové stránky, přečíst si dokumentaci a minulé výzkumné práce a zúčastnit se našeho seznamu adresátů. [chráněno e-mailem]

Považujete překlad za užitečný? Pište komentáře!

Zdroj: www.habr.com

Přidat komentář