SELinux | |
---|---|
| |
Tyyppi | Turvallisuus |
Kehittäjä | punainen hattu |
Sisään kirjoitettu | Xi |
Käyttöjärjestelmä | Linux -ytimen komponentti |
Ensimmäinen painos | 1998 |
uusin versio |
|
vapauttaa ehdokas |
|
Lisenssi | GNU GPL |
Verkkosivusto | selinuxproject.org |
Mediatiedostot Wikimedia Commonsissa |
SELinux ( englanniksi Security-Enhanced Linux - Linux parannetulla suojauksella) on pakotetun kulunvalvontajärjestelmän toteutus, joka voi toimia rinnakkain klassisen selektiivisen kulunvalvontajärjestelmän kanssa .
Pysyessään valikoivan kulunvalvontajärjestelmän sisällä , käyttöjärjestelmällä on perustavanlaatuinen rajoitus prosessien resurssien jakamisessa - resurssien käyttö perustuu käyttäjien käyttöoikeuksiin. Nämä ovat klassisia oikeuksia rwxkolmella tasolla - omistaja, omistajaryhmä ja muut.
SELinuxissa käyttöoikeudet määrittää järjestelmä itse käyttämällä erityisiä käytäntöjä. Käytännöt toimivat järjestelmäkutsun tasolla, ja ydin itse valvoo niitä (mutta ne voidaan toteuttaa myös sovellustasolla). SELinux toimii perinteisen Linux-tietoturvamallin mukaan. Toisin sanoen et voi sallia SELinuxin kautta sitä, mikä on kiellettyä käyttäjän tai ryhmän käyttöoikeuksilla. Käytännöt kuvataan erityisellä joustavalla kielellä pääsysääntöjen kuvaamiseen. Useimmissa tapauksissa SELinux-säännöt ovat "läpinäkyviä" sovelluksille, eikä niitä tarvitse muuttaa. Jotkut jakelut sisältävät käyttövalmiita käytäntöjä, joissa oikeudet voidaan määrittää prosessityyppien (aihe) ja tiedostotyyppien (objekti) vastaavuuden perusteella - tämä on SELinuxin päämekanismi. Kaksi muuta kulunvalvontamuotoa ovat roolipohjainen pääsy ja suojauspohjainen pääsy. Esimerkiksi " DSP ", "salainen", "täysin salainen", " OV ".
Helpoin käytäntötyyppi työskennellä ja ylläpitää on Fedora -projektin kehittämä niin kutsuttu "kohdennettu" käytäntö . Käytännössä kuvataan yli 200 prosessia, jotka voivat toimia käyttöjärjestelmässä. Kaikki, mitä "kohde"-käytäntö ei kuvaile, suoritetaan toimialueella (tyypin kanssa) unconfined_t. SELinux ei suojaa tällä toimialueella käynnissä olevia prosesseja. Siten kaikki kolmannen osapuolen käyttäjäsovellukset toimivat ilman ongelmia järjestelmässä, jossa on "kohdennettu" käytäntö valikoivan kulunvalvontajärjestelmän klassisten oikeuksien puitteissa.
"Kohdistetun" käytännön lisäksi joissakin jakeluissa on käytäntö, jossa on kerrostettu suojausmalli (tukee Bell-LaPadula-mallia ).
Kolmas vaihtoehto on "tiukka". Tässä pätee periaate "mikä ei ole sallittua, on kiellettyä" ( vähimpien oikeuksien periaate ). Käytäntö perustuu Tresysin viitekäytäntöön .
SELinuxin on kehittänyt Yhdysvaltain kansallinen turvallisuusvirasto , ja sitten sen lähdekoodi asetettiin ladattavaksi.
Alkuperäinen teksti (englanniksi)[ näytäpiilottaa] NSA:n suojauksella parannetusta Linux- tiimistä :
"NSA Security Enhanced Linux on joukko korjaustiedostoja Linux- ytimeen ja joihinkin apuohjelmiin vahvan, joustavan pakollisen pääsynvalvonta -arkkitehtuurin (MAC) sisällyttämiseksi ytimen tärkeimpiin alijärjestelmiin. Se tarjoaa mekanismin tietojen erottelemiseksi luottamuksellisuus- ja eheysvaatimusten perusteella, mikä mahdollistaa sovellusten suojausmekanismien peukaloinnin ja ohituksen uhkien torjumisen ja mahdollistaa haitallisten tai virheellisten sovellusten aiheuttaman vahingon rajoittamisen. Se sisältää joukon esimerkkisuojauskäytäntöjen määritystiedostoja, jotka on suunniteltu täyttämään yleiset, yleiskäyttöiset suojaustavoitteet."
SELinux sisältyy Linux-ytimeen (versiosta 2.6 lähtien).
SELinux vaatii myös muokattuja versioita joistakin apuohjelmista ( ps , ls ja muut), jotka tukevat uusia ydintoimintoja ja tukea tiedostojärjestelmästä.
LSM ( englanniksi Linux Security Modules - Linux Security modules) toteutetaan ladattavien ydinmoduulien muodossa. Pääasiassa LSM:itä käytetään tukemaan kulunvalvontaa. LSM:t eivät sinänsä tarjoa järjestelmälle lisäturvaa, vaan toimivat vain eräänlaisena käyttöliittymänä sitä tukemaan. LSM-järjestelmä tarjoaa sieppaustoimintojen toteutuksen, joka on tallennettu tietoturvapolitiikkarakenteeseen, joka kattaa tärkeimmät suojattavat toiminnot. Järjestelmään pääsyn valvonta tapahtuu määritettyjen käytäntöjen ansiosta.
Useimmissa käyttöjärjestelmissä on pääsynhallintaominaisuuksia ja -menetelmiä, jotka puolestaan määrittävät, voiko käyttöjärjestelmätason entiteetti (käyttäjä tai ohjelma) käyttää tiettyä resurssia. Käytetään seuraavia kulunvalvontamenetelmiä:
SELinux toteutettiin heti ilmestymisensä alussa korjaustiedostona. Tässä tapauksessa suojauskäytännön määrittäminen ei ollut helppoa. LSM-mekanismien myötä suojauksen konfigurointi ja hallinta on yksinkertaistettu huomattavasti (käytäntö- ja suojausmekanismit on erotettu), SELinux on toteutettu ytimen liitännäisinä. Ennen kuin käytät käyttöjärjestelmän sisäisiä objekteja, ytimen koodi muutetaan. Tämä toteutetaan käyttämällä erikoistoimintoja ( järjestelmäkutsun sieppaajia ) , ns. hook-toimintoja . Sieppaustoiminnot on tallennettu johonkin tietorakenteeseen, niiden tarkoitus on suorittaa tiettyjä turvatoimia ennalta määritellyn politiikan mukaisesti. Itse moduuli sisältää kuusi pääkomponenttia: suojauspalvelimen; pääsy vektorivälimuistiin ( eng. Access Vector Cache , AVC); verkkoliitäntä taulukot; verkon ilmoitussignaalikoodi; sen virtuaalinen tiedostojärjestelmä (selinuxfs) ja sieppaustoimintojen toteutus.
SELinux on ollut kaupallisesti saatavilla osana Red Hat Enterprise Linuxia versiosta 4 lähtien.
Yhteisön tuetut Linux-jakelut:
SELinux on yksi useista mahdollisista tavoista rajoittaa asennettujen ohjelmistojen suorittamia toimintoja.
AppArmor - järjestelmä tekee paljolti saman asian kuin SELinux. Yksi tärkeä ero näiden järjestelmien välillä on tapa, jolla tiedostojärjestelmäobjektit tunnistetaan: AppArmor käyttää koko polkua, SELinux menee syvemmälle käyttämällä inodea .
Nämä erot näkyvät kahdessa tapauksessa:
Nämä ongelmat voidaan välttää molemmissa järjestelmissä käyttämällä oletusarvoista "ei pääsyä" -käytäntöä.