Postoji nekoliko različitih načina na koje SELinux može raditi. To je definirano pravilima SELinux. U ovom ćete vodiču saznati više o SELinux pravilima i kako postaviti pravila u SELinuxu.
Pregled SELinux pravila
Kratko ćemo pregledati SELinux i njegove politike. SELinux je kratica za “Linux s poboljšanom sigurnošću.”Sadrži niz sigurnosnih zakrpa za Linux jezgru. SELinux je izvorno razvila Agencija za nacionalnu sigurnost (NSA) i puštena u razvojnu zajednicu otvorenog koda 2000. godine pod GPL licencom. Spojen je s glavnim jezgrom Linuxa 2003. godine.
SELinux pruža MAC (obavezna kontrola pristupa), a ne zadani DAC (diskrecijska kontrola pristupa). To omogućuje provedbu nekih sigurnosnih politika koje inače ne bi bilo moguće provesti.
SELinux pravila su skupovi pravila koja vode SELinux sigurnosni mehanizam. Politika definira tipove za datoteke i domene za procese. Uloge se koriste za ograničavanje pristupa domenama. Korisnički identiteti određuju koje se uloge mogu postići.
Dostupne su dvije SELinux politike:
- Ciljano: zadana pravila. Provodi kontrolu pristupa ciljanim procesima. Procesi se izvode u ograničenoj domeni gdje proces ima ograničen pristup datotekama. Ako se ograničeni postupak ugrozi, šteta se ublažava. U slučaju usluga, u te se domene postavljaju samo određene usluge.
- MLS: Stoji za sigurnost na više razina. Pogledajte dokumentaciju Red Hat-a o SELinux MLS pravilima.
Procesi koji nisu ciljani izvodit će se na neograničenoj domeni. Procesi koji se izvode u neograničenim domenama uživaju gotovo potpuni pristup. Ako je takav postupak ugrožen, SELinux ne nudi ublažavanje. Napadač može dobiti pristup cijelom sustavu i resursima. Međutim, DAC pravila i dalje vrijede za neograničene domene.
Slijedi kratki popis primjera neograničenih domena:
- domena initrc_t: programi init
- domena kernel_t: procesi jezgre
- unconfined_t domena: korisnici prijavljeni u Linux sustav
Promjena SELinux pravila
Sljedeći se primjeri izvode u CentOS 8. Sve se naredbe u ovom članku izvode kao root korisnik. Za ostale distribucije, pogledajte odgovarajući vodič o tome kako omogućiti SELinux.
Da biste promijenili politiku u SELinux-u, počnite s provjerom statusa SELinux-a. Zadani status trebao bi biti omogućen SELinux u načinu "Provođenje" s "ciljanom" politikom.
Da biste promijenili SELinux pravila, otvorite SELinux konfiguracijsku datoteku u svom omiljenom uređivaču teksta.
Ovdje nam je cilj varijabla “SELINUXTYPE” koja definira SELinux politiku. Kao što vidite, zadana vrijednost je „ciljana."
Svi koraci prikazani u ovom primjeru izvode se u CentOS 8. U slučaju CentOS-a, MLS pravila ne postavljaju se prema zadanim postavkama. To će vjerojatno biti slučaj i u drugim distribucijskim sustavima. Ovdje naučite kako konfigurirati SELinux na Ubuntuu. Obavezno prvo instalirajte program. U slučaju Ubuntu, CentOS, openSUSE, Fedora, Debian i drugih, naziv paketa je „selinux-policy-mls."
$ dnf instalirati selinux-policy-mls
U ovom ćemo slučaju politiku prebaciti na MLS. Promijenite vrijednost varijable u skladu s tim.
Spremite datoteku i izađite iz uređivača. Da biste izvršili ove promjene, morate ponovno pokrenuti sustav.
$ ponovno pokretanjePotvrdite promjenu izdavanjem sljedećeg.
$ sestatusPromjena načina rada SELinux
SELinux može raditi u tri različita načina. Ti načini određuju kako će se politika provoditi.
- Provedeno: svaka radnja protiv politike blokirana je i prijavljena u zapisnik revizije.
- Dopušteno: svaka radnja protiv politike prijavljuje se samo u zapisniku revizije.
- Onemogućeno: SELinux je onemogućen.
Da biste privremeno promijenili način rada u SELinuxu, upotrijebite naredbu setenforce. Ako se sustav ponovno pokrene, sustav će se vratiti na zadane postavke.
$ setenforce Provođenje$ setenforced Permissive
Da biste trajno promijenili način rada u SELinux-u, morate prilagoditi SELinux-ovu konfiguracijsku datoteku.
Spremite i zatvorite uređivač. Ponovo pokrenite sustav da biste izvršili promjene.
Promjenu možete provjeriti pomoću naredbe sestatus.
Zaključak
SELinux je moćan mehanizam za provođenje sigurnosti. Nadamo se da vam je ovaj vodič pomogao naučiti kako konfigurirati i upravljati ponašanjem SELinux-a.
Sretno računanje!