SELinux

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 1. kesäkuuta 2018 tarkistetusta versiosta . tarkastukset vaativat 9 muokkausta .
SELinux

SELinuxin hallintakäyttöliittymä Fedora 8 :ssa
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 .

Lyhyt kuvaus

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ä.

Peruskäsitteet

Yleiskatsaus LSM: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.

Kulunvalvontamenetelmät

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ä:

SELinuxin sisäinen arkkitehtuuri

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.  

Ominaisuudet

Toteutukset

SELinux on ollut kaupallisesti saatavilla osana Red Hat Enterprise Linuxia versiosta 4 lähtien.

Yhteisön tuetut Linux-jakelut:

  1. CentOS
  2. Debian
  3. ArchLinux (epävirallinen)
  4. Fedora Core versiosta 2 lähtien
  5. Karkaistu Gentoo
  6. openSUSE versiosta 11.1 lähtien
  7. ubuntu
  8. ROSA
  9. ALT Linux SPT 6

Muut järjestelmät

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öä.

Katso myös

Muistiinpanot

  1. https://github.com/SELinuxProject/selinux/commit/ee1809f453038f7f34719f3fbd448893853d473f
  2. Julkaisu 3.4 - 2022.

Kirjallisuus

Linkit