SELinux voi toimia useilla eri tavoilla. Tämän määrittelee SELinux-käytäntö. Tästä oppaasta saat lisätietoja SELinux-käytännöistä ja käytännön asettamisesta SELinuxissa.
SELinux-käytäntöjen yleiskatsaus
Kerro meille nopeasti SELinux ja sen käytännöt. SELinux on lyhenne sanoista “Security-Enhanced Linux.”Se sisältää sarjan Linux-ytimen tietoturvakorjauksia. SELinuxin kehitti alun perin kansallinen turvallisuusvirasto (NSA) ja se julkaistiin avoimen lähdekoodin kehitysyhteisölle vuonna 2000 GPL-lisenssillä. Se sulautettiin päälinjan Linux-ytimeen vuonna 2003.
SELinux tarjoaa MAC: n (pakollinen pääsynvalvonta) oletusarvoisen DAC: n (Discrecional Access Control) sijasta. Tämä mahdollistaa joidenkin turvallisuuspolitiikkojen toteuttamisen, joita ei muuten olisi mahdollista toteuttaa.
SELinux-käytännöt ovat sääntöjoukkoja, jotka ohjaavat SELinux-tietoturvamoottoria. Käytäntö määrittää tiedostobjektien tyypit ja prosessien toimialueet. Rooleja käytetään verkkotunnusten käytön rajoittamiseen. Käyttäjätunnukset määrittävät, mitkä roolit voidaan saavuttaa.
Saatavilla on kaksi SELinux-käytäntöä:
- Kohdennettu: Oletuskäytäntö. Toteuttaa pääsyn valvonnan kohdennettuihin prosesseihin. Prosessit suoritetaan rajoitetussa toimialueessa, jossa prosessilla on rajoitettu pääsy tiedostoihin. Jos suljettu prosessi vaarantuu, vahingot lievennetään. Palvelujen kohdalla näille toimialueille sijoitetaan vain tietyt palvelut.
- MLS: tarkoittaa monitasoista suojausta. Katso Red Hat -dokumentaatio SELinux MLS -käytännöstä.
Prosessit, joita ei ole kohdistettu, suoritetaan rajoittamattomassa toimialueessa. Rajoittamattomissa verkkotunnuksissa käynnissä olevilla prosesseilla on melkein täydellinen käyttöoikeus. Jos tällainen prosessi vaarantuu, SELinux ei tarjoa lieventämistä. Hyökkääjä voi saada pääsyn koko järjestelmään ja resursseihin. Rajoittamattomille toimialueille sovelletaan kuitenkin edelleen DAC-sääntöjä.
Seuraava on lyhyt luettelo rajoittamattomista toimialueista:
- initrc_t-verkkotunnus: init-ohjelmat
- kernel_t domain: ydinprosessit
- unconfined_t domain: käyttäjät kirjautuneet Linux-järjestelmään
SELinux-käytännön muuttaminen
Seuraavat esimerkit suoritetaan CentOS 8: ssa. Kaikki tämän artikkelin komennot suoritetaan pääkäyttäjänä. Muiden distrojen osalta tutustu asianmukaiseen opetusohjelmaan SELinuxin käyttöönotosta.
Jos haluat muuttaa käytäntöä SELinuxissa, tarkista ensin SELinux-tila. Oletustilan tulisi olla SELinux käytössä "Enforcing" -tilassa "kohdistetulla" käytännöllä.
Muuta SELinux-käytäntöä avaamalla SELinux-määritystiedosto suosikkitekstieditorissasi.
Tässä kohteemme on SELINUXTYPE-muuttuja, joka määrittelee SELinux-käytännön. Kuten näette, oletusarvo on "kohdistettu.”
Kaikki tässä esimerkissä esitetyt vaiheet suoritetaan CentOS 8: ssa. CentOS: n tapauksessa MLS-käytäntöä ei ole asennettu oletuksena. Näin on todennäköisesti myös muissa distroissa. Opi määrittämään SELinux Ubuntussa täältä. Asenna ohjelma ensin. Ubuntu, CentOS, openSUSE, Fedora, Debian ja muut paketin nimi on “selinux-policy-mls.”
$ dnf install selinux-policy-mls
Tässä tapauksessa vaihdamme käytännön MLS: ään. Muuta muuttujan arvoa vastaavasti.
Tallenna tiedosto ja poistu editorista. Näiden muutosten toteuttamiseksi sinun on käynnistettävä järjestelmä uudelleen.
$ uudelleenkäynnistysVahvista muutos antamalla seuraava.
$ sestatusSELinux-tilojen vaihtaminen
SELinux voi toimia kolmessa eri tilassa. Nämä tilat määrittävät, miten käytäntö pannaan täytäntöön.
- Pakotettu: kaikki käytäntöä koskevat toimet estetään ja raportoidaan tarkastuslokissa.
- Sallittu: kaikki käytäntöä koskevat toimet ilmoitetaan vain tarkastuslokissa.
- Ei käytössä: SELinux on poistettu käytöstä.
Voit muuttaa tilan väliaikaisesti SELinuxissa käyttämällä setenforce-komentoa. Jos järjestelmä käynnistetään uudelleen, järjestelmä palaa oletusasetukseen.
$ setenforce Täytäntöönpano$ setenforce Permissive
Jos haluat muuttaa tilaa pysyvästi SELinuxissa, sinun on muokattava SELinux-määritystiedostoa.
Tallenna ja sulje editori. Käynnistä järjestelmä uudelleen, jotta muutokset tulevat voimaan.
Voit vahvistaa muutoksen sestatus-komennolla.
Johtopäätös
SELinux on tehokas mekanismi turvallisuuden valvomiseksi. Toivottavasti tämä opas auttoi sinua oppimaan määrittämään ja hallitsemaan SELinuxin käyttäytymistä.
Hyvää tietojenkäsittelyä!