Üdv mindenkinek! Kifejezetten a kurzus hallgatói számára elkészítettük a SELinux projekt hivatalos FAQ-jának fordítását. Úgy gondoljuk, hogy ez a fordítás nemcsak a hallgatóknak, hanem mindenki számára hasznos lehet, ezért megosztjuk veletek.

Megpróbáltunk válaszolni néhány a SELinux projekttel kapcsolatos leggyakrabban feltett kérdésre. A kérdéseket jelenleg két fő kategóriába soroltuk. Minden kérdés és válasz .
Áttekintés
Áttekintés
- Mi az a Linux javított biztonsággal?
A Linux javított biztonsággal (SELinux — Security-enhanced Linux) a Flask biztonsági architektúra referenciakivitelezése, amely rugalmas kötelező hozzáférés-ellenőrzést valósít meg. Ezt azért hozták létre, hogy demonstrálja a rugalmas kötelező hozzáférés-ellenőrzési mechanizmusok hasznosságát és azt, hogyan lehet ezeket a mechanizmusokat integrálni az operációs rendszerbe. A Flask architektúrát később integrálták a Linuxba, és több más rendszeren is portolták, beleértve a Solaris operációs rendszert, a FreeBSD-t és a Darwin magot, széles spektrumú kapcsolódó munkát generálva. A Flask architektúra általános támogatást nyújt számos kötelező hozzáférés-ellenőrzési politika alkalmazásához, beleértve a Type Enforcement, a Role-based Access Control, és a Multi-level Security koncepciókra alapozottakat. - Mit nyújt a Linux javított biztonsággal, amit a standard Linux nem tud?
A Linux javított biztonsággal magában foglalja a kötelező hozzáférés-ellenőrzési politikák beállítását, amelyek korlátozzák a felhasználói programokat és a rendszerszolgáltatásokat a minimális szükséges jogosultságokkal, amelyekre az adott feladatuk elvégzéséhez szükségük van. Ezen korlátozások révén csökken vagy megszűnik a veszélye annak, hogy ezek a felhasználói programok és rendszerszolgáltatók kárt okozzanak, ha kompromittálódnak (például puffertúlcsordulás vagy helytelen konfigurálás következtében). Ez a korlátozási mechanizmus függetlenül működik a hagyományos Linux hozzáférés-ellenőrzési mechanizmusoktól. Nincs fogalma a „root” szuperfelhasználóról, és nem osztja meg a hagyományos Linux védelmi mechanizmusok jól ismert hátrányait (például a setuid/setgid bináris fájloktól való függőséget).
A módosítatlan Linux rendszer biztonsága a kernel, az összes privilégiumos alkalmazás és azok konfigurációjának helyességétől függ. Bármelyik területen fellépő hiba az egész rendszer kompromittálódásához vezethet. Ezzel szemben a módosított, megerősített biztonságú Linux kernelre épülő rendszer biztonsága elsősorban a kernel és a biztonsági irányelveinek konfigurációjának helyességétől függ. Bár az alkalmazások helyességi vagy konfigurációs problémái korlátozott kompromittálódást engedhetnek meg egyes felhasználói programok és rendszerszolgáltatások esetén, ezek nem jelentenek biztonsági fenyegetést más felhasználói programok, rendszerszolgáltatások vagy az egész rendszer biztonsága számára. - Mire való?
Az új Linux biztonsági funkciók az információk elkülönítésére szolgálnak a titoktartás és az integritás követelményei alapján. Ezek célja, hogy megakadályozzák az adatok és programok olvasását, az adatok és programok hamisítványait, az alkalmazásbiztonsági mechanizmusok megkerülését, megbízhatatlan programok futtatását vagy a folyamatok más programokba való beavatkozását a rendszer biztonsági irányelveinek megsértésével. Ezenkívül segítenek korlátozni a rosszindulatú vagy helytelen programok által okozott potenciális kárt. Továbbá hasznosak lehetnek egyetlen rendszer használatának lehetővé tételében különböző biztonsági jogosultságokkal rendelkező felhasználók számára, akik különböző információkhoz és különböző biztonsági követelményekhez férnek hozzá, anélkül, hogy ezek a követelmények sérülnének. - Hogyan szerezhetek másolatot?
Sok Linux disztribúció beépített támogatást nyújt a SELinux-hoz, amely már alapértelmezett funkcióként vagy további csomagként érhető el. A SELinux userland alapvető kódja elérhető a . A végfelhasználóknak általában a disztribúciójuk által biztosított csomagokat kell használniuk. - Mik tartoznak a kiadáshoz?
Az NSA SELinux kiadása tartalmazza a SELinux felhasználói tér alapvető kódját. A SELinux támogatása már be van építve a Linux 2.6 magba, amely elérhető a kernel.org-on. A SELinux felhasználói tér alapvető kódja egy könyvtárból áll, mely a bináris politika manipulálására szolgál (libsepol), a politika fordítójából (checkpolicy), a biztonsági alkalmazásokhoz szükséges könyvtárból (libselinux), a politika kezelésére szolgáló eszközök könyvtárából (libsemanage) és több, politikával kapcsolatos segédprogramból (policycoreutils).
A SELinux támogatással rendelkező magon és az alapvető felhasználói kódon kívül szükség lesz egy politikára és néhány, SELinux számára módosított felhasználói tér csomagra a SELinux használatához. A politikát a következő helyről szerezheti be: . - Telepíthetek Linuxot megerősített védelemmel egy már meglévő Linux rendszerre?
Igen, telepítheti a SELinux módosításokat egy meglévő Linux rendszerre, vagy telepítheti azt a Linux disztribúciót, amely már támogatja a SELinux-ot. A SELinux egy SELinux támogatással rendelkező Linux magból, egy könyvtárak és segédprogramok alapvető csomagjából, néhány módosított felhasználói csomagból és a politika konfigurációból áll. A SELinux telepítéséhez egy meglévő Linux rendszerre, amely nem támogatja a SELinux-ot, képesnek kell lennie a szoftver összeállítására, valamint más szükséges rendszer csomagokra is szüksége lesz. Ha disztribúciója már tartalmazza a SELinux támogatást, nem szükséges az NSA SELinux kiadásának összegyűjtése vagy telepítése. - Mennyire kompatibilis a megerősített védelmű Linux a módosítatlan Linuxszal?
A megerősített védelmű Linux bináris kompatibilitást biztosít a meglévő Linux alkalmazásokkal és a meglévő Linux kernel modulokkal, de néhány kernel modul módosítást igényelhet a SELinux-szal való korrekt együttműködéshez. Ezeket a kompatibilitási kategóriákat részletesen az alábbiakban tárgyaljuk:- Alkalmazáskompatibilitás
A SELinux biztosítja a meglévő alkalmazások bináris kompatibilitását. Kiterjesztettük a kernel adatszerkezetét új védelmi attribútumok hozzáadásával, és új API-hívásokat adtunk hozzá a biztonsági alkalmazásokhoz. Azonban nem módosítottuk az alkalmazások számára látható adatszerkezeteket, és nem változtattuk meg a meglévő rendszerhívások interfészét, ezért a meglévő alkalmazások változtatások nélkül működhetnek, ha a biztonsági politika lehetővé teszi működésüket. - Kernel modulok kompatibilitása
Eredetileg a SELinux csak a meglévő kernel modulok számára biztosított forrás kompatibilitást; a módosított kernelfejlécekkel való újraépítésük szükséges volt ahhoz, hogy a kernel adatszerkezetekbe hozzáadott új védelmi mezőket figyelembe vegyék. Mivel az LSM és a SELinux most már integrálva van a Linux 2.6-os főkernelébe, a SELinux mostantól bináris kompatibilitást biztosít a meglévő kernel modulokkal. Azonban néhány kernel modul nem biztos, hogy jól működik a SELinux-szal módosítások nélkül. Például, ha a kernel modul közvetlenül oszt ki és állít be egy kernel objektumot az inicializálási funkciók használata nélkül, akkor az objektumnak hiányozhat a megfelelő biztonsági információ. Néhány kernel modulnak a működésük biztonsági kontrollja is hiányozhat; bármely meglévő kernel-funkció vagy engedélyezési funkció hívása SELinux engedélyezési ellenőrzéseket is végrehajt, de a MAC politikák betartásához részletesebb vagy további ellenőrzések szükségesek lehetnek.
A javított biztonságú Linuxnak nem szabad problémát okoznia a szokásos Linux rendszerekkel való együttműködésben, ha minden szükséges műveletet a biztonsági politika konfigurációja engedélyez.
- Alkalmazáskompatibilitás
- Mik a biztonsági politika konfigurációs példa céljai?
Magas szinten a cél a hozzáférés-vezérlési intézkedések rugalmasságának és biztonságának bemutatása, valamint egy egyszerűen működő rendszer biztosítása minimális módosításokkal az alkalmazásokban. Alacsonyabb szinten a politika számos célt tartalmaz, amelyeket a politikai dokumentáció ismertet. Ezek a célok közé tartozik a nyers adat-hozzáférés kezelése, az operációs rendszer, a rendszerprogram, a rendszerkonfigurációs információk és a rendszernaplók integritásának védelme, a potenciális kár csökkentése, amelyet a jogosultságot igénylő folyamatok sebezhetőségei okozhatnak, a privilegizált folyamatok védelme a rosszindulatú kódok végrehajtásával szemben, a rendszergazda és a domain szerepkörének védelme a felhasználói hitelesítés nélküli belépés ellen, a normál felhasználói folyamatok beavatkozásának megakadályozása a rendszerszintű folyamatokba vagy a rendszergazdai folyamatokba, valamint a felhasználók és rendszergazdák védelme a böngészőjükben lévő sebezhetőségek rosszindulatú mobil kódok általi kihasználásával szemben. - Miért választották a Linuxot alapplatformként?
A Linuxot választották ennek a munkának az eredeti referenciális megvalósításához, mivel egyre sikeresebb és nyitott fejlesztési környezetet kínál. A Linux kiváló lehetőséget biztosít annak bemutatására, hogy ez a funkcionalitás sikeresen működhet a legfontosabb operációs rendszeren, miközben hozzájárul a széles körben használt rendszer biztonságához. A Linux platform lehetőséget ad arra is, hogy ez a munka a lehető legszélesebb írástudást nyújtsa, és talán alapként szolgálhat további biztonsági kutatásokhoz más lelkesedők által. - Miért végezték ezt a munkát?
A Nemzeti Biztonsági Ügynökség felelős a szükséges technológiák kutatásáért és fejlesztésért, hogy az NSA megoldásokat, termékeket és szolgáltatásokat nyújtson az információs infrastruktúrák információbiztonságának biztosításához, amelyek elengedhetetlenek az Egyesült Államok nemzetbiztonsági érdekeihez.
A fenntartható és biztonságos operációs rendszer létrehozása továbbra is a legfontosabb kutatási feladat. Célunk egy hatékony architektúra létrehozása, amely biztosítja a szükséges védelmet, a felhasználó számára nagyrészt átláthatóan futtatja a programokat, és vonzó a szolgáltatók számára. Úgy véljük, hogy fontos lépés ezen cél elérésében, hogy bemutassuk, miként integrálhatók sikeresen a kényszeres hozzáférés-irányítási mechanizmusok a fő operációs rendszerbe. - Hogyan kapcsolódik ez a NSA korábbi operációs rendszer kutatásaihoz?
Az NSA Nemzeti Információbiztonsági Laboratóriumának kutatói a Secure Computing Corporation (SCC) közreműködésével egy erőteljes és rugalmas kényszeres hozzáférés-ellenőrző architektúrát dolgoztak ki, amely a Type Enforcement elven alapul, egy mechanizmus, amelyet először a LOCK rendszerhez fejlesztettek ki. Az NSA és az SCC két prototípust fejlesztett ki a Mach alapú architektúrákra: DTMach és DTOS (). Az NSA és az SCC ezt követően a Utah Egyetem Flux kutatócsoportjával dolgozott együtt, hogy a kutatási architektúrát átültessék a Fluke kutatási operációs rendszerbe. A migráció során az architektúra finomításra került, hogy jobb támogatást biztosítson a dinamikus biztonsági politikák számára. Ezt a továbbfejlesztett architektúrát Flasknak nevezték el (). Most az NSA integrálta a Flask architektúrát a Linux operációs rendszerbe, hogy ezt a technológiát szélesebb fejlesztői és felhasználói közösség számára elérhetővé tegye. - A Linux, amely megerősített biztonsággal bír, megbízható operációs rendszer?
A kifejezés „Megbízható operációs rendszer” általában olyan operációs rendszerre utal, amely elegendő támogatást nyújt a többszintű védelemhez és a helyesség ellenőrzéséhez, hogy megfeleljen egy adott állami követelményrendszernek. A biztonságos Linux hasznos ötleteket tartalmaz ezekből a rendszerekből, de a kötelező hozzáférés-ellenőrzésre helyezi a hangsúlyt. A biztonságos Linux fejlesztésének kezdeti célja hasznos funkciók létrehozása volt, amelyek kézzelfogható védelmi előnyöket biztosítanak a valós környezet széles spektrumában, e technológia bemutatására. A SELinux önmagában nem tekinthető megbízható operációs rendszernek, viszont kritikus védelmi funkciót – a kötelező hozzáférés-ellenőrzést – biztosít, amely szükséges egy megbízható operációs rendszer számára. A SELinux integrálva lett azokba a Linux disztribúciókba, amelyeket az Labeled Security Protection Profile szerint értékeltek. Az ellenőrzött és minősített termékek információit a(z) . - Valóban védett?
A védett rendszer fogalma számos attribútumot magában foglal (például fizikai biztonság, személyzet biztonsága stb.), és a biztonságos Linux csak e tulajdonságok nagyon szűk csoportjára vonatkozik (vagyis az operációs rendszer kötelező hozzáférés-ellenőrző elemeire). Más szóval, a „védett rendszer” azt jelenti, hogy elegendően védett ahhoz, hogy a valós világban védjen egy adott információt a valós ellenféllel szemben, akivel a tulajdonos és/vagy az információ felhasználója el szeretné kerülni. A biztonságos Linux célja, hogy bemutassa a modern operációs rendszer, mint a Linux, kötelező vezérlésének elemeit, és ezért önmagában valószínűtlen, hogy megfelel bármilyen érdekes védett rendszer meghatározásának. Hiszünk abban, hogy a biztonságos Linuxban bemutatott technológia hasznos lesz azok számára, akik védett rendszereket fejlesztenek. - Mit tett ön a garanciák fokozása érdekében?
A projekt célja az volt, hogy kényszerített hozzáférés-vezérlő elemeket adjon hozzá a Linuxhoz minimális módosításokkal. Ez az utolsó cél erősen korlátozza, hogy mit lehet tenni a garancia növelése érdekében, ezért nem zajlott munka a Linux garanciájának javítása érdekében. Másrészt a fejlesztések a magas megbízhatósági biztonsági architektúra korábbi munkáján alapulnak, és ezeknek a tervezési alapelveknek a többsége átkerült a fokozott biztonságú Linuxra. - A CCEVS értékelni fogja a fokozott biztonságú Linuxot?
A fokozott biztonságú Linux önmagában nem arra készült, hogy megoldja a védelem profilja által felvetett teljes biztonsági problémák sorát. Bár lehetséges lenne csak a jelenlegi funkcionalitását értékelni, úgy véljük, hogy egy ilyen értékelés korlátozott értéket jelentene. Mindazonáltal dolgoztunk másokkal, hogy ezt a technológiát beépítsük az értékelt Linux-disztribúciókba, valamint azokba a disztribúciókba, amelyek értékelés alatt állnak. Az ellenőrzött és ellenőrizhető termékekről további információ található itt: . - Próbálták javítani a sebezhetőségeket?
Nem, munkánk során nem kerestünk és nem találtunk sebezhetőségeket. Csak annyit módosítottunk, amennyi elengedhetetlen volt új mechanizmusaink hozzáadásához. - Ez a rendszer jóváhagyott állami használatra?
A fokozott biztonságú Linuxnak nincs különleges vagy további jóváhagyása az állami használatra más Linux-verziókkal szemben. A fokozott biztonságú Linux nem rendelkezik különleges vagy további engedéllyel állami használatra más Linux-verziókhoz képest. - Miben különbözik ez más kezdeményezésektől?
A fokozott biztonságú Linux világosan meghatározott architektúrával rendelkezik a rugalmas kényszerített hozzáférés-vezérléshez, amelyet kísérleti úton teszteltek több prototípus rendszeren (DTMach, DTOS, Flask). Részletes kutatásokat végeztek az architektúra biztonsági politikák széles spektrumának támogatására, és ezek elérhetők itt: és .
Az architektúra részletes irányítást biztosít a kernel és a szolgáltatások számos absztrakciójára, amelyek felett más rendszerek nem gyakorolnak ellenőrzést. A fokozott biztonságú Linux néhány jellemzője:- A politika és az alkalmazási jogok tiszta elkülönítése
- Pontosan meghatározott politikai interfészek
- Függetlenség a konkrét politikák és politikai nyelvek használatától
- Függetlenség a biztonsági címkék konkrét formátumaitól és tartalmától
- Külön címkék és vezérlőelemek a mag tárgyaihoz és szolgáltatásaihoz
- Hozzáférési döntések gyorsítótárazása a hatékonyság érdekében
- Politikai változások támogatása
- A folyamat inicializálásának és a program öröklésének, végrehajtásának ellenőrzése
- Fájl- és fájlrendszerkezelés, könyvtárak és nyitott fájlok leírása
- Socketek, üzenetek és hálózati interfészek kezelése
- A „Képességek” használatának ellenőrzése
- Milyen licenckorlátozások vonatkoznak erre a rendszerre?
Az összes forráskód, amely a webhelyen található , azonos feltételek mellett terjeszthető, mint az eredeti forráskódok. Például a Linux kernelhez készült javítások és számos meglévő segédprogram javításai, amelyek itt elérhetők, a feltételek szerint jelennek meg . - Van-e exportellenőrzés?
A Linux kiterjesztett biztonságával nincs kiegészítő exportellenőrző elem, mint bármely más Linux verziónál. - Tervezik-e az NSA, hogy országon belül használja?
Nyilvánvaló okok miatt az NSA nem kommentálja a műveleti felhasználást. - Megváltoztatja-e a 2002. július 26-i szavatossági nyilatkozat a Secure Computing Corporation ügyét az NSA-nál, miszerint a SELinux a GNU Általános Nyilvános Licenc keretében került kiadásra?
Az NSA álláspontja nem változott. Az NSA továbbra is azt állítja, hogy a GNU Általános Nyilvános Licenc rendelkezései szabályozzák a SELinux használatát, másolását, terjesztését és módosítását. Lásd: . - Támogatja-e az NSA a nyílt forráskódú szoftvereket?
Az NSA kezdeményezései a szoftverbiztonság növelése érdekében magukban foglalják a szabadforrású és zárt forráskódú szoftvereket, és sikeresen használtuk mindkét modellt a kutatási tevékenységeink során. Az NSA szoftverbiztonság növelésére irányuló munkáját egy egyszerű megfontolás motiválja: a lehető legjobban kihasználni a forrásainkat, hogy az NSA ügyfelei számára a legjobb biztonsági megoldásokat kínálhassuk a legszélesebb körben használt termékekben. Az NSA kutatási programjának célja olyan technológiai fejlesztések kidolgozása, amelyeket megoszthatunk a szoftverfejlesztő közösséggel különböző átadási mechanizmusokon keresztül. Az NSA nem támogat és nem népszerűsít semmiféle konkrét szoftverterméket vagy üzleti modellt. Ehelyett az NSA a biztonság növelését segíti elő. - Támogatja az NSA a Linuxot?
A fentiekben említett módon az NSA nem támogat és nem népszerűsít semmiféle konkrét szoftverterméket vagy platformot; az NSA csak a biztonság növelését segíti elő. A Flask architektúra, amelyet a SELinux referenciaimplementációja mutat be, több más operációs rendszerre is át lett ültetve, beleértve a Solaris-t, FreeBSD-t és a Darwin-t, átkerült a Xen hypervisor-ra, és alkalmazzák olyan programok esetében, mint az X Window System, a GConf, a D-BUS és a PostgreSQL. A Flask architektúra koncepciói széles körben alkalmazhatóak különböző rendszerekre és környezetekre.
Együttműködés
- Hogyan tervezzük az együttműködést a Linux közösséggel?
Van egy , amelyek a Linux megerősített biztonságáról szóló információk közzétételének fő módjaként fognak szolgálni. Ha érdeklik a megerősített biztonsággal rendelkező Linux iránti információk, ajánljuk, hogy csatlakozzon a fejlesztők levelezőlistájához, nézze át a forráskódot és adja meg visszajelzését (vagy kódját). A fejlesztők levelezőlistájára való csatlakozáshoz lásd. . - Ki tud segíteni?
A SELinux most a nyílt forráskódú Linux szoftverfejlesztő közösség által támogatott és továbbfejlesztett. - Finanszíroz az NSA bármiféle további munkát?
Jelenleg az NSA nem fogad el további munkajavaslatokat. - Milyen típusú támogatás áll rendelkezésre?
Szándékunkban áll, hogy a kérdéseket a selinux@tycho.nsa.gov levelezőlistán keresztül oldjuk meg, de nem tudunk minden, a konkrét webhelyekkel kapcsolatos kérdésre válaszolni. - Ki segített? Mit tettek?
A Linux biztonságát javító prototípust az NSA fejlesztette ki kutatási partnereivel, a NAI Labs, a Secure Computing Corporation (SCC) és a MITER Corporation együttműködésével. A kezdeti nyilvános megjelenést sok más anyag követte. . - Hogyan tudok többet megtudni?
Ajánljuk, hogy látogassa meg weboldalainkat, olvassa el a dokumentációt és a korábbi kutatási anyagokat, valamint vegyen részt a selinux@vger.kernel.org levelezőlistán.
Hasznosnak találta a fordítást? Kérjük, írja meg véleményét!
Forrás: habr.com
