SELinux

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. június 1-jén áttekintett verziótól ; az ellenőrzések 9 szerkesztést igényelnek .
SELinux

SELinux Adminisztrációs GUI a Fedora 8 rendszeren
Típusú Biztonság
Fejlesztő piros kalap
Beírva Xi
Operációs rendszer Linux kernel komponens
Első kiadás 1998
legújabb verzió
felszabadító jelölt
Engedély GNU GPL
Weboldal selinuxproject.org
 Médiafájlok a Wikimedia Commons oldalon

A SELinux ( angolul  Security-Enhanced Linux – Linux fokozott biztonsággal) egy kényszerített hozzáférés-vezérlő rendszer megvalósítása , amely párhuzamosan működhet a klasszikus szelektív beléptetőrendszerrel .

Rövid leírás

A szelektív hozzáférés-vezérlő rendszeren belül maradva az operációs rendszer alapvető korlátokkal rendelkezik az erőforrásokhoz való folyamathoz való hozzáférés megosztása tekintetében - az erőforrásokhoz való hozzáférés a felhasználói hozzáférési jogokon alapul. Ezek klasszikus jogok rwxhárom szinten - tulajdonos, tulajdonosi csoport és mások.

A SELinuxban a hozzáférési jogokat maga a rendszer határozza meg speciálisan meghatározott házirendek segítségével. A házirendek rendszerhívási szinten működnek, és maga a kernel kényszeríti ki őket (de megvalósíthatók alkalmazásszinten is). A SELinux a klasszikus Linux biztonsági modell szerint működik. Más szavakkal, nem engedélyezheti a SELinuxon keresztül azt, amit a felhasználói vagy csoportos engedélyek tiltanak. A házirendek leírása a hozzáférési szabályok leírására szolgáló speciális rugalmas nyelven történik. A legtöbb esetben a SELinux szabályok "átláthatóak" az alkalmazások számára, és nincs szükség módosításra. Egyes disztribúciók olyan készenléti irányelveket tartalmaznak, amelyekben a jogok a folyamat (alany) és a fájl (objektum) típusok egyezése alapján határozhatók meg – ez a SELinux fő mechanizmusa. A hozzáférés-szabályozás két másik formája a szerepalapú hozzáférés és a biztonsági alapú hozzáférés. Például " DSP ", "titkos", "szigorúan titkos", " OV ".

A legkönnyebben használható és karbantartható házirend a Fedora projekt által kifejlesztett úgynevezett „célzott” házirend . A házirend több mint 200 olyan folyamatot ír le, amelyek futhatnak az operációs rendszeren. Minden, amit a "cél" házirend nem ír le, a tartományban történik (típussal) unconfined_t. Az ebben a tartományban futó folyamatokat nem védi a SELinux. Így minden harmadik féltől származó felhasználói alkalmazás probléma nélkül fog működni egy „célzott” házirenddel rendelkező rendszerben a szelektív beléptetőrendszer klasszikus engedélyein belül.

A „célzott” házirend mellett egyes disztribúciók tartalmaznak egy réteges biztonsági modellt is ( a Bell-LaPadula modellt támogatva ).

A harmadik szakpolitikai lehetőség a „szigorú”. Itt az „ami nem megengedett, az tilos” ( a legkisebb jogok elve ) elve érvényesül. A szabályzat a Tresys Reference Policy-n alapul .

A SELinuxot az Egyesült Államok Nemzetbiztonsági Ügynöksége fejlesztette ki , majd a forráskódját letölthetővé tették.

Eredeti szöveg  (angol)[ showelrejt] Az NSA biztonsággal továbbfejlesztett Linux csapatától :

"Az NSA Security Enhanced Linux a Linux kernel és néhány segédprogram javításainak készlete, amelyek egy erős, rugalmas kötelező hozzáférés-vezérlési (MAC) architektúrát építenek be a kernel fő alrendszereibe. Mechanizmust biztosít az információk titkossági és integritási követelményeken alapuló elkülönítésének kikényszerítésére, amely lehetővé teszi az alkalmazásbiztonsági mechanizmusok manipulálásával és megkerülésével kapcsolatos fenyegetések kezelését, és lehetővé teszi a rosszindulatú vagy hibás alkalmazások által okozott károk korlátozását. Tartalmaz olyan minta biztonsági házirend-konfigurációs fájlokat, amelyeket úgy terveztek, hogy megfeleljenek a közös, általános célú biztonsági céloknak."

A SELinux benne van a Linux kernelben (a 2.6-os verzió óta).

Ezenkívül a SELinux bizonyos segédprogramok ( ps , ls és mások) módosított verzióit is megköveteli, amelyek támogatják az új kernelfunkciókat és a fájlrendszer támogatását.

Alapfogalmak

Az LSM áttekintése

Az LSM ( angolul  Linux Security Modules – Linux biztonsági modulok) betölthető kernelmodulok formájában valósul meg. Elsősorban az LSM-eket a hozzáférés-vezérlés támogatására használják. Az LSM-ek önmagukban nem nyújtanak további biztonságot a rendszernek, csak egyfajta támogatási felületként szolgálnak. Az LSM rendszer az elfogó funkciók megvalósítását biztosítja, amelyeket a védelemre szoruló fő műveleteket lefedő biztonságpolitikai struktúrában tárolnak. A rendszerhez való hozzáférés szabályozása a konfigurált házirendeknek köszönhetően történik.

Hozzáférés-szabályozási módszerek

A legtöbb operációs rendszer rendelkezik hozzáférés-vezérlési szolgáltatásokkal és módszerekkel, amelyek viszont meghatározzák, hogy az operációs rendszer szintjén lévő entitás (felhasználó vagy program) hozzáfér-e egy adott erőforráshoz. A következő hozzáférés-szabályozási módszerek használatosak:

A SELinux belső architektúrája

Megjelenésének legelején a SELinuxot patchként implementálták. Ebben az esetben nem volt könnyű konfigurálni a biztonsági házirendet. Az LSM-mechanizmusok megjelenésével a biztonsági konfigurálás és kezelés nagymértékben leegyszerűsödött (a szabályzat és a biztonsági végrehajtási mechanizmusok különváltak), a SELinux rendszermag-bővítményként valósult meg. Az operációs rendszer belső objektumaihoz való hozzáférés előtt a rendszermag kódja megváltozik. Ezt speciális funkciókkal ( rendszerhívás-elfogók ) , az úgynevezett hook függvényekkel valósítják meg .  Az elfogó funkciók valamilyen adatstruktúrában vannak tárolva, céljuk bizonyos biztonsági műveletek végrehajtása egy előre meghatározott szabályzat alapján. Maga a modul hat fő összetevőből áll: egy biztonsági szerver; hozzáférés vektoros gyorsítótárhoz ( eng. Access Vector Cache , AVC); hálózati interfész táblák; hálózati értesítési jel kódja; virtuális fájlrendszere ( selinuxfs ) és az elfogó funkciók megvalósítása.  

Jellemzők

Megvalósítások

A SELinux a Red Hat Enterprise Linux részeként a 4-es verzió óta elérhető a kereskedelemben.

Támogatott Linux disztribúciók a közösségben:

  1. CentOS
  2. Debian
  3. ArchLinux (nem hivatalos)
  4. Fedora Core a 2-es verzió óta
  5. Edzett Gentoo
  6. openSUSE a 11.1-es verzió óta
  7. ubuntu
  8. ROSA
  9. ALT Linux SPT 6

Egyéb rendszerek

A SELinux egyike a számos lehetséges megközelítésnek a telepített szoftverek által végrehajtott műveletek korlátozására.

Az AppArmor rendszer nagyjából ugyanazt teszi, mint a SELinux. Az egyik fontos különbség ezek között a rendszerek között a fájlrendszer-objektumok azonosításának módja: az AppArmor a teljes elérési utat használja, a SELinux pedig az inode használatával mélyebbre megy .

Ezek a különbségek két esetben jelentkeznek:

Ezek a problémák mindkét rendszeren elkerülhetők az alapértelmezett „nincs hozzáférés” házirend alkalmazásával.

Lásd még

Jegyzetek

  1. https://github.com/SELinuxProject/selinux/commit/ee1809f453038f7f34719f3fbd448893853d473f
  2. Kiadás 3.4 – 2022.

Irodalom

Linkek