SELinux

SELinux na Ubuntu vodiču

SELinux na Ubuntu vodiču

Uvod

SELinux je obvezni modul kontrole pristupa (MAC) koji se nalazi na razini jezgre linux sustava. To je zajednički razvoj Redhata i NSA-e objavljen oko 1998. godine, a još uvijek ga održava zajednica entuzijasta. Prema zadanim postavkama, Ubuntu koristi AppArmor, a ne SeLinux, koji je sličan u smislu izvedbe, ali prilično popularan u smislu jednostavnosti. Međutim, poznato je da je SeLinux prilično siguran zbog sudjelovanja vladine agencije. SELinux je aplikacija otvorenog koda koja štiti hosta izolirajući svaku aplikaciju i ograničavajući njene aktivnosti. Prema zadanim postavkama, procesima je onemogućeno obavljanje bilo kakvih aktivnosti osim ako im se ne izričito odobri. Modul izvorno nudi dva pravila upravljanja na globalnoj razini: Permissive i Enforcing koji bilježe svako kršeno pravilo i uskraćuju pristup određenom zahtjevu poslanom iz procesa. Ovaj vodič pokazuje kako ga s lakoćom koristiti na Ubuntuu.

Kako instalirati i omogućiti

SeLinux je vrlo nezgodan program za instaliranje, jer ako nije pravilno konfiguriran prije prvog ponovnog pokretanja, učinit će cijeli operativni sustav neobnovljivim, što znači da će bilo što izvan početnog zaslona za pokretanje biti gotovo nedostupno uobičajenim sredstvima.

Također kao što je ranije rečeno, Ubuntu već ima sofisticirani sustav obvezne kontrole pristupa visoke razine poznat kao AppArmor, pa ga stoga mora onemogućiti prije instaliranja SeLinux-a kako bi se izbjegli sukobi. Upotrijebite sljedeće upute da biste onemogućili AppArmor i omogućili SeLinux.

sudo / etc / init.d / apparmor zaustavi apt-get update && nadogradi -yuf apt-get install selinux nano / etc / selinux / config 'postavi SELINUX na permisivni, SELINUXTYPE na zadani' reboot 

Ovu konfiguraciju datoteke možete otvoriti bilo kojim uređivačem teksta da biste unijeli promjene. Razlog za dodjeljivanje permisivnog pravila SETLINUX-u je učiniti operativni sustav dostupnim, a SeLinux omogućiti. Preporučuje se upotreba permisivne opcije jer nema gnjavaže, ali bilježi kršena pravila postavljena u SeLinux.

Dostupne opcije

SELinux je složen i sveobuhvatan modul; stoga sadrži puno značajki i opcija. To je već rečeno, većina ovih opcija možda neće biti korisna svima zbog svoje egzotične prirode. Sljedeće su opcije neke od osnovnih i korisnih opcija u ovom modulu. Više su nego dovoljni za pokretanje SELinuxa.

Provjeri status:  Status SELinuxa može se provjeriti izravno kroz prozor terminala, koji prikazuje osnovne informacije poput toga je li SeLinux omogućen, SELinux korijenski direktorij, učitani naziv politike, trenutni način rada itd.  Nakon ponovnog pokretanja sustava nakon instalacije SeLinux-a, upotrijebite sljedeću naredbu kao root korisnika s naredbom sudo. Ako u odjeljku statusa navodi da je SeLinux omogućen, to znači da radi i radi u pozadini.

[zaštićena e-poštom]: / home / dondilanga # sestatus

Promijenite globalnu razinu dozvole: Globalna razina dopuštenja navodi kako se SELinux ponaša kad naleti na pravilo. Prema zadanim postavkama, SeLinux se postavlja na provedbu koja učinkovito blokira sve zahtjeve, ali može se prebaciti na dopuštajuću koja je na neki način blaža prema korisniku jer omogućava pristup, ali u svoju datoteku dnevnika bilježi sva kršena pravila.

nano / etc / selinux / config 'postavi SELINUX na dopuštajući ili prisilni, SELINUXTYPE na zadani' 

Provjerite datoteku zapisnika: Datoteka dnevnika u kojoj su navedena kršena pravila po svakom zahtjevu.  Ovo čuva zapisnike samo ako je omogućen SeLinux.

grep selinux / var / log / audit / audit.zapisnik

Omogućite i onemogućite politike i koje zaštite nude: Ovo je jedna od najvažnijih opcija u SeLinux-u, jer omogućuje omogućavanje i onemogućavanje pravila. SeLinux ima velik broj unaprijed izgrađenih politika koje određuju je li navedeni zahtjev dopušten ili ne. Neki od primjera toga su allow_ftpd_full_access koji određuje sposobnost FTP usluge da se prijavi lokalnim korisnicima i pročita zapisati sve datoteke u sustavu, allow_ssh_keysign koji omogućuje upotrebu ključeva prilikom prijave na SSH, allow_user_mysql_connect koji korisnicima omogućuje povezivanje na mysql , httpd_can_sendmail koji određuje sposobnost HTTP usluge za slanje e-pošte itd ... U sljedećem primjeru koda instalira policycoreutils-python-utils što zapravo pomaže u opisnom popisivanju svake politike, a zatim navodi sve dostupne politike terminalu , napokon uči kako postaviti ili isključiti politiku, allow_ftpd_full_access je naziv politike kao što je prikazano u terminalu koji vraća semanage,

apt-get instaliraj policycoreutils-python-utils semanage boolean -l setsebool -P allow_ftpd_full_access ON 

Napredne opcije

Napredne opcije su opcije koje pomažu u proširivanju funkcionalnosti SELInuxa. Postoji ogromna količina kombinacija zbog sveobuhvatne prirode SeLinuxa, pa ovaj članak navodi neke od istaknutih i korisnih među njima.

Kontrola pristupa zasnovana na ulogama (RBAC): RBAC omogućuje administratorima da se prebace na način zasnovan na ulogama kako bi ograničili dopuštenje aplikacija. Što znači da je korisniku određene korisničke skupine dopušteno izvršavanje ili izvršavanje određenih unaprijed definiranih radnji. Sve dok je korisnik dio uloge, u redu je. To je ista stvar kao i prelazak na root kada instalirate aplikacije na Linux s administrativnim pravima.

semanage prijava -a -s 'myrole' -r 's0-s0: c0.c1023 ' 

Korisnici mogu promijeniti svoju ulogu sljedećom naredbom.

sudo -r new_role_r -i

Korisnici se također mogu daljinski povezati s poslužiteljem putem SSH-a s ulogom omogućenom pri pokretanju.

ssh / [e-pošta zaštićena]

Dopustite službi da preslušava nestandardni priključak: Ovo je vrlo korisno u prilagođavanju usluge, na primjer kada se FTP priključak promijeni u nestandardni kako bi se izbjegli neovlašteni pristupi, SELinux mora biti obaviješten u skladu s tim kako bi omogućio da takvi portovi prolaze i funkcioniraju kao i obično. Sljedeći primjer omogućuje FTP priključku da presluša 992 priključak. Isto tako, bilo koja usluga koju je vratio semanage port -l može se zamijeniti.  Neki od popularnih priključaka su http_port_t, pop_port_t, ssh_port_t.

semanage port -a -t    semanage port -a -t ftp_port_t -p tcp 992 

Kako onemogućiti

Onemogućiti SELinux je lakše jer je omogućen i instaliran. U osnovi postoje dva načina onemogućavanja. Bilo privremeno ili trajno. Onemogućavanje SeLinux-a privremeno onemogućuje ga na neko vrijeme do sljedećeg pokretanja, a čim se računalo ponovo uključi, stanje se ponovno pokreće. S druge strane, trajno onemogućavanje SeLinuxa isključuje ga u potpunosti izlažući ga prijetnjama; stoga je mudar izbor vratiti Ubuntuov zadani AppArmor barem zbog sigurnosti sustava.

Sljedeća naredba na terminalu privremeno ga isključuje:

setenforce 0 

Trajno onemogućeno uređivanje / etc / selinux / config i postavite SELINUX na onemogućen.

Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...
Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...
HD Remastered igre za Linux koje ranije nisu imale Linux izdanje
Mnogi programeri i izdavači igara dolaze s HD remasterom starih igara kako bi produžili životni vijek franšize, molimo obožavatelje da zatraže kompati...