Obstaja več različnih načinov delovanja SELinux. To določa pravilnik SELinux. V tem priročniku boste izvedeli več o pravilnikih SELinux in kako nastaviti pravilnik v SELinuxu.
Pregled pravilnika o SELinux
Oglejmo si hiter pregled SELinuxa in njegovih pravilnikov. SELinux je kratica za »Linux z izboljšano varnostjo.”Vsebuje vrsto varnostnih popravkov za jedro Linuxa. SELinux je prvotno razvila Agencija za nacionalno varnost (NSA) in ga leta 2000 izdala odprtokodni razvojni skupnosti pod licenco GPL. Leta 2003 je bil združen z glavnim jedrom Linuxa.
SELinux zagotavlja MAC (obvezen nadzor dostopa) in ne privzeti DAC (diskrecijski nadzor dostopa). To omogoča izvajanje nekaterih varnostnih politik, ki jih drugače ne bi bilo mogoče izvajati.
Pravilniki SELinux so sklopi pravil, ki vodijo varnostni mehanizem SELinux. Pravilnik določa vrste za datotečne objekte in domene za procese. Vloge se uporabljajo za omejevanje dostopa do domen. Uporabniške identitete določajo, katere vloge je mogoče doseči.
Na voljo sta dve politiki SELinux:
- Ciljno: privzeti pravilnik. Izvaja nadzor dostopa do ciljnih procesov. Procesi se izvajajo v omejeni domeni, kjer ima postopek omejen dostop do datotek. Če je omejen postopek ogrožen, se škoda ublaži. V primeru storitev so v te domene umeščene samo posebne storitve.
- MLS: Stojalo za večstopenjsko varnost. Oglejte si dokumentacijo Red Hat o pravilniku SELinux MLS.
Procesi, ki niso ciljno usmerjeni, se bodo izvajali v neomejeni domeni. Procesi, ki se izvajajo v neomejenih domenah, imajo skoraj popoln dostop. Če je tak postopek ogrožen, SELinux ne nudi nobenih omilitev. Napadalec lahko dobi dostop do celotnega sistema in virov. Vendar pravila DAC še vedno veljajo za nedoločene domene.
Sledi kratek seznam primerov nedoločenih domen:
- domena initrc_t: programi init
- domena kernel_t: procesi jedra
- unconfined_t domena: uporabniki, prijavljeni v sistem Linux
Spreminjanje pravilnika SELinux
Naslednji primeri so izvedeni v CentOS 8. Vsi ukazi v tem članku se izvajajo kot korenski uporabnik. Za druge distribucijske sisteme si oglejte ustrezno vadnico o tem, kako omogočiti SELinux.
Če želite spremeniti politiko v SELinuxu, začnite s preverjanjem stanja SELinux. Privzeto stanje bi moralo biti omogočeno za SELinux v načinu »Uveljavljanje« s »usmerjenim« pravilnikom.
Če želite spremeniti pravilnik SELinux, odprite konfiguracijsko datoteko SELinux v svojem najljubšem urejevalniku besedil.
Tu je naš cilj spremenljivka “SELINUXTYPE”, ki definira politiko SELinux. Kot lahko vidite, je privzeta vrednost »ciljna."
Vsi koraki, prikazani v tem primeru, se izvajajo v CentOS 8. V primeru CentOS pravilnik MLS privzeto ni nameščen. Verjetno bo tako tudi v drugih distribucijskih sistemih. Tukaj preberite, kako konfigurirati SELinux v Ubuntuju. Najprej namestite program. V primeru Ubuntu, CentOS, openSUSE, Fedora, Debian in drugih je ime paketa “selinux-policy-mls."
$ dnf namestite selinux-policy-mls
V tem primeru bomo politiko preusmerili na MLS. Spremenite vrednost spremenljivke.
Shranite datoteko in zapustite urejevalnik. Če želite uveljaviti te spremembe, morate znova zagnati sistem.
$ rebootSpremembo preverite tako, da izdate naslednje.
$ sestatusSpreminjanje načinov SELinux
SELinux lahko deluje v treh različnih načinih. Ti načini določajo, kako se politika izvaja.
- Izvedeno: vsako dejanje zoper pravilnik je blokirano in prijavljeno v dnevnik revizije.
- Dovoljeno: vsak ukrep zoper polico se poroča samo v revizijskem dnevniku.
- Onemogočeno: SELinux je onemogočen.
Če želite začasno spremeniti način v SELinuxu, uporabite ukaz setenforce. Če se sistem znova zažene, se sistem povrne na privzeto nastavitev.
$ setenforce Izvrševanje$ setenforced Permissive
Če želite trajno spremeniti način v SELinuxu, morate prilagoditi konfiguracijsko datoteko SELinux.
Shranite in zaprite urejevalnik. Znova zaženite sistem, da uveljavite spremembe.
Spremembo lahko preverite z ukazom sestatus.
Zaključek
SELinux je močan mehanizem za uveljavljanje varnosti. Upajmo, da vam je ta vodnik pomagal izvedeti, kako konfigurirati in obnašati vedenje SELinux.
Srečno računalništvo!