SELinux često postavljana pitanja (FAQ)

Bok svima! Posebno za studente kolegija "Linux sigurnost" pripremili smo prijevod službenih FAQ projekta SELinux. Čini nam se da ovaj prijevod može biti koristan ne samo studentima, pa ga dijelimo s vama.

SELinux često postavljana pitanja (FAQ)

Pokušali smo odgovoriti na neka od najčešće postavljanih pitanja o SELinux projektu. Pitanja su trenutno podijeljena u dvije glavne kategorije. Sva pitanja i odgovori su dati na stranici FAQ.

Pregled

Pregled

  1. Što je Linux s poboljšanom sigurnošću?
    Sigurnosno poboljšani Linux (SELinux) je referentna implementacija Flask sigurnosne arhitekture za fleksibilnu, prisilnu kontrolu pristupa. Napravljen je da pokaže korisnost fleksibilnih mehanizama provedbe i kako se takvi mehanizmi mogu dodati operativnom sustavu. Arhitektura Flaska naknadno je integrirana u Linux i prenesena na nekoliko drugih sustava, uključujući operativni sustav Solaris, operativni sustav FreeBSD i jezgru Darwin, što je dovelo do širokog spektra povezanih radova. Flask arhitektura pruža opću podršku za provedbu mnogih vrsta politika provedbe kontrole pristupa, uključujući one temeljene na konceptima Type Enforcement, Role-based Access Control i Multi-level Security.
  2. Što Linux s poboljšanom sigurnošću pruža, a standardni Linux ne može?
    Sigurnosno poboljšana jezgra Linuxa provodi prisilnu politiku kontrole pristupa koja ograničava korisničke programe i poslužitelje sustava na minimalni skup privilegija koje su im potrebne za obavljanje posla. Uz ovo ograničenje, sposobnost ovih korisničkih programa i demona sustava da uzrokuju štetu u slučaju kompromisa (na primjer, zbog prekoračenja međuspremnika ili pogrešne konfiguracije) je smanjena ili eliminirana. Ovaj mehanizam ograničenja radi neovisno o tradicionalnim mehanizmima kontrole pristupa Linuxu. Nema koncept "root" superkorisnika i ne dijeli dobro poznate nedostatke tradicionalnih sigurnosnih mehanizama Linuxa (npr. ovisnost o setuid/setgid binarnim datotekama).
    Sigurnost neizmijenjenog Linux sustava ovisi o ispravnosti kernela, svih privilegiranih aplikacija i svake njihove konfiguracije. Problem u bilo kojem od ovih područja može ugroziti cijeli sustav. Nasuprot tome, sigurnost modificiranog sustava temeljenog na sigurnosno poboljšanoj jezgri Linuxa prvenstveno ovisi o ispravnosti jezgre i konfiguraciji njezine sigurnosne politike. Dok problemi s ispravnošću ili konfiguracijom aplikacije mogu dopustiti ograničenu kompromitaciju pojedinačnih korisničkih programa i demona sustava, oni ne predstavljaju sigurnosni rizik za druge korisničke programe i demone sustava ili za sigurnost sustava u cjelini.
  3. Za što je ona dobra?
    Nove sigurnosno poboljšane značajke Linuxa dizajnirane su za odvajanje informacija na temelju zahtjeva povjerljivosti i integriteta. Osmišljeni su kako bi spriječili procese da čitaju podatke i programe, petljaju u podatke i programe, zaobilaze sigurnosne mehanizme aplikacija, izvršavaju nepouzdane programe ili ometaju druge procese kršeći sigurnosnu politiku sustava. Oni također pomažu u ograničavanju potencijalne štete koju mogu prouzročiti zlonamjerni softver ili programi s greškama. Također bi trebali biti korisni kako bi se osiguralo da korisnici s različitim sigurnosnim dozvolama mogu koristiti isti sustav za pristup različitim vrstama informacija s različitim sigurnosnim zahtjevima bez ugrožavanja tih zahtjeva.
  4. Kako mogu dobiti kopiju?
    Mnoge distribucije Linuxa uključuju podršku za SELinux već ugrađenu kao zadanu značajku ili kao dodatni paket. Osnovni SELinux korisnički kod dostupan je na GitHub. Krajnji bi korisnici općenito trebali koristiti pakete koje nudi njihova distribucija.
  5. Što je uključeno u vaše izdanje?
    NSA izdanje SELinuxa uključuje osnovni SELinux korisnički kod. Podrška za SELinux već je uključena u mainstream Linux 2.6 kernel, dostupan na kernel.org. Osnovni SELinux korisnički kod sastoji se od biblioteke za manipulaciju binarnom politikom (libsepol), kompajlera politike (checkpolicy), biblioteke za sigurnosne aplikacije (libselinux), biblioteke za alate za upravljanje politikom (libsemanage) i nekoliko uslužnih programa povezanih s politikom ( policycoreutils).
    Osim kernela omogućenog za SELinux i osnovnog korisničkog koda, trebat će vam politika i neki paketi korisničkog prostora zakrpani za SELinux da biste koristili SELinux. Polica se može dobiti od SELinux projekt referentne politike.
  6. Mogu li instalirati ojačani Linux na postojeći Linux sustav?
    Da, možete samo instalirati modifikacije SELinuxa na postojeći Linux sustav ili možete instalirati distribuciju Linuxa koja već uključuje podršku za SELinux. SELinux se sastoji od Linux kernela s podrškom za SELinux, osnovnog skupa biblioteka i uslužnih programa, nekih modificiranih korisničkih paketa i konfiguracije pravila. Da biste ga instalirali na postojeći Linux sustav koji nema podršku za SELinux, morate biti u mogućnosti prevesti softver i također imati druge potrebne sistemske pakete. Ako vaša distribucija Linuxa već uključuje podršku za SELinux, ne morate izgraditi ili instalirati NSA izdanje SELinuxa.
  7. Koliko je sigurnosno poboljšani Linux kompatibilan s nemodificiranim Linuxom?
    Sigurnosno poboljšani Linux pruža binarnu kompatibilnost s postojećim Linux aplikacijama i s postojećim modulima jezgre Linuxa, ali neki moduli jezgre mogu zahtijevati modifikaciju kako bi ispravno komunicirali sa SELinuxom. Ove dvije kategorije kompatibilnosti su detaljno razmotrene u nastavku:

    • Kompatibilnost aplikacija
      SELinux pruža binarnu kompatibilnost s postojećim aplikacijama. Proširili smo strukturu podataka jezgre kako bismo uključili nove sigurnosne atribute i dodali nove API pozive za sigurnosne aplikacije. Međutim, nismo promijenili nijednu strukturu podataka vidljivu aplikaciji, niti smo promijenili sučelje postojećih sistemskih poziva, tako da se postojeće aplikacije i dalje mogu izvoditi sve dok im sigurnosna politika to dopušta.
    • Kompatibilnost kernel modula
      U početku je SELinux pružao samo početnu kompatibilnost za postojeće module jezgre; bilo je potrebno ponovno kompajlirati takve module s modificiranim zaglavljima kernela kako bi se pokupila nova sigurnosna polja dodana strukturama podataka kernela. Budući da su LSM i SELinux sada integrirani u mainstream Linux 2.6 kernel, SELinux sada pruža binarnu kompatibilnost s postojećim modulima kernela. Međutim, neki moduli jezgre možda neće dobro komunicirati sa SELinuxom bez izmjena. Na primjer, ako modul jezgre izravno dodjeljuje i postavlja objekt jezgre bez korištenja uobičajenih funkcija inicijalizacije, tada objekt jezgre možda neće imati odgovarajuće sigurnosne informacije. Neki moduli jezgre također mogu nedostajati odgovarajuće sigurnosne kontrole za svoje operacije; svi postojeći pozivi funkcijama kernela ili funkcijama dopuštenja također će pokrenuti provjere dopuštenja za SELinux, ali mogu biti potrebne preciznije ili dodatne kontrole za provedbu MAC pravila.
      Sigurnosno poboljšani Linux ne bi trebao stvarati probleme interoperabilnosti s običnim Linux sustavima ako su sve potrebne operacije dopuštene konfiguracijom sigurnosne politike.
  8. Koja je svrha primjera konfiguracije sigurnosne politike?
    Na visokoj razini, cilj je demonstrirati fleksibilnost i sigurnost nametnutih kontrola pristupa i osigurati jednostavan radni sustav s minimalnim izmjenama aplikacija. Na nižoj razini, politika ima skup ciljeva, opisanih u dokumentaciji politike. Ovi ciljevi uključuju kontrolu neobrađenog pristupa podacima, zaštitu integriteta kernela, softvera sustava, informacija o konfiguraciji sustava i zapisnika sustava, ograničavanje potencijalne štete koja bi mogla biti uzrokovana iskorištavanjem ranjivosti u procesu koji zahtijeva privilegije, zaštitu povlaštenih procesa od izvođenja zlonamjernog koda, zaštititi administratorsku ulogu i domenu od prijave bez provjere autentičnosti korisnika, spriječiti normalne korisničke procese da ometaju sistemske ili administratorske procese i zaštititi korisnike i administratore od iskorištavanja ranjivosti u njihovom pregledniku zlonamjernim mobilnim kodom.
  9. Zašto je Linux odabran kao osnovna platforma?
    Linux je odabran kao platforma za početnu referentnu implementaciju ovog rada zbog sve većeg uspjeha i otvorenog razvojnog okruženja. Linux pruža izvrsnu priliku za demonstraciju da ova funkcionalnost može biti uspješna na glavnom operativnom sustavu i, u isto vrijeme, doprinijeti sigurnosti široko korištenog sustava. Linux platforma također pruža izvrsnu priliku da ovaj rad dobije najširi mogući pregled i možda posluži kao osnova za dodatna sigurnosna istraživanja od strane drugih entuzijasta.
  10. Zašto ste radili ovaj posao?
    Nacionalni istraživački laboratorij za informacijsku sigurnost Agencija za nacionalnu sigurnost odgovorna je za istraživanje i razvoj napredne tehnologije kako bi NSA-i omogućila pružanje rješenja, proizvoda i usluga informacijske sigurnosti za informacijske infrastrukture ključne za interese nacionalne sigurnosti SAD-a.
    Stvaranje održivog sigurnog operativnog sustava ostaje veliki istraživački izazov. Naš cilj je stvoriti učinkovitu arhitekturu koja pruža potrebnu podršku za sigurnost, pokreće programe na uvelike transparentan način za korisnika i privlačna je dobavljačima. Vjerujemo da je važan korak u postizanju ovog cilja pokazati kako se mehanizmi prisilne kontrole pristupa mogu uspješno integrirati u glavni operativni sustav.
  11. Kako je to povezano s prethodnim istraživanjem OS NSA?
    Istraživači u NSA-ovom National Assurance Research Laboratory udružili su se sa Secure Computing Corporation (SCC) kako bi razvili snažnu i fleksibilnu arhitekturu provedbe temeljenu na Type Enforcementu, mehanizmu koji je uveo sustav LOCK. NSA i SCC razvili su dvije prototipe arhitekture temeljene na Machu: DTMach i DTOS (http://www.cs.utah.edu/flux/dtos/). NSA i SCC su zatim radili s Flux Research Group na Sveučilištu Utah kako bi prenijeli arhitekturu na Fluke Research operativni sustav. Tijekom ove migracije, arhitektura je poboljšana kako bi pružila bolju podršku za dinamičke sigurnosne politike. Ova poboljšana arhitektura nazvana je Flask (http://www.cs.utah.edu/flux/flask/). Sada je NSA integrirao Flask arhitekturu u operativni sustav Linux kako bi tehnologiju donio široj zajednici programera i korisnika.
  12. Je li Linux s poboljšanom sigurnošću pouzdan operativni sustav?
    Izraz "pouzdani operativni sustav" općenito se odnosi na operativni sustav koji pruža dovoljnu podršku za slojevitu sigurnost i provjeru valjanosti kako bi zadovoljio određeni skup vladinih zahtjeva. Sigurnosno poboljšani Linux uključuje korisne uvide iz ovih sustava, ali se fokusira na prisilnu kontrolu pristupa. Izvorni cilj razvoja Linuxa s poboljšanom sigurnošću bio je stvoriti korisnu funkcionalnost koja pruža opipljive sigurnosne prednosti u širokom rasponu okruženja stvarnog svijeta kako bi se demonstrirala ova tehnologija. SELinux sam po sebi nije operativni sustav od povjerenja, ali pruža kritičnu sigurnosnu značajku—nametnutu kontrolu pristupa—potrebnu za operativni sustav od povjerenja. SELinux je integriran u distribucije Linuxa koje su ocijenjene prema Labeled Security Protection Profile. Informacije o testiranim i ispitanim proizvodima možete pronaći na http://niap-ccevs.org/.
  13. Je li stvarno zaštićena?
    Koncept sigurnog sustava uključuje mnoge atribute (na primjer, fizičku sigurnost, sigurnost osoblja, itd.), a Linux s naprednom sigurnošću adresira samo vrlo uzak skup tih atributa (to jest, kontrole provedbe operativnog sustava). Drugim riječima, "siguran sustav" znači dovoljno siguran da zaštiti neke informacije u stvarnom svijetu od stvarnog protivnika na koje je vlasnik i/ili korisnik informacija upozoren. Sigurnosno poboljšani Linux namijenjen je samo prikazu potrebnih kontrola u modernom operativnom sustavu poput Linuxa, pa sam po sebi teško da će odgovarati bilo kojoj zanimljivoj definiciji sigurnog sustava. Vjerujemo da će tehnologija demonstrirana u Linuxu s poboljšanom sigurnošću biti korisna ljudima koji grade sigurne sustave.
  14. Što ste učinili da poboljšate jamstvo?
    Cilj ovog projekta bio je dodati prisilne kontrole pristupa s minimalnim promjenama u Linux. Ovaj posljednji cilj ozbiljno ograničava ono što se može učiniti za poboljšanje jamstva, tako da nije bilo rada na poboljšanju jamstva za Linux. S druge strane, poboljšanja se nadovezuju na prethodni rad na dizajniranju visokosigurnosne sigurnosne arhitekture, a većina ovih načela dizajna prenesena je u Linux s poboljšanom sigurnošću.
  15. Hoće li CCEVS procijeniti Linux s poboljšanom sigurnošću?
    Sam po sebi, Linux s poboljšanom sigurnošću nije dizajniran za rješavanje cijelog skupa sigurnosnih problema koje predstavlja sigurnosni profil. Iako bi bilo moguće procijeniti samo njegovu trenutnu funkcionalnost, vjerujemo da bi takva procjena bila ograničene vrijednosti. Međutim, radili smo s drugima na uključivanju ove tehnologije u distribucije Linuxa koje su procijenjene i distribucije koje su u procjeni. Informacije o testiranim i ispitanim proizvodima možete pronaći na http://niap-ccevs.org/.
  16. Jeste li pokušali popraviti neku ranjivost?
    Ne, nismo tražili niti pronašli bilo kakve ranjivosti tijekom našeg rada. Dali smo samo onoliko koliko je potrebno da dodamo našu novu opremu.
  17. Je li ovaj sustav odobren za državnu upotrebu?
    Sigurnosno poboljšani Linux nema posebno ili dodatno odobrenje za vladinu upotrebu u odnosu na bilo koju drugu verziju Linuxa. Sigurnosno poboljšani Linux nema posebno ili dodatno odobrenje za vladinu upotrebu u odnosu na bilo koju drugu verziju Linuxa.
  18. Po čemu se ova inicijativa razlikuje od drugih?
    Linux poboljšane sigurnosti ima dobro definiranu arhitekturu za fleksibilnu prisilnu kontrolu pristupa koja je eksperimentalno testirana s nekoliko prototipskih sustava (DTMach, DTOS, Flask). Provedene su detaljne studije o sposobnosti arhitekture da podrži širok raspon sigurnosnih politika i dostupne su u http://www.cs.utah.edu/flux/dtos/ и http://www.cs.utah.edu/flux/flask/.
    Arhitektura pruža preciznu kontrolu nad mnogim apstrakcijama jezgre i uslugama koje ne kontroliraju drugi sustavi. Neke od karakteristika Linux sustava s proširenom sigurnošću su:

    • Čisto odvajanje politike od prava na provedbu
    • Dobro definirana sučelja pravila
    • Neovisnost o određenim politikama i jezicima politike
    • Neovisnost o određenim formatima i sadržaju sigurnosnih naljepnica
    • Odvojene oznake i kontrole za objekte jezgre i usluge
    • Spremanje odluka o pristupu u predmemoriju radi učinkovitosti
    • Podrška za promjene politike
    • Kontrola nad inicijalizacijom procesa i nasljeđivanjem te izvršavanjem programa
    • Upravljanje datotečnim sustavima, direktorijima, datotekama i opisima otvorenih datoteka
    • Upravljanje utičnicama, porukama i mrežnim sučeljima
    • Kontrola korištenja "Mogućnosti"
  19. Koja su ograničenja licenciranja za ovaj sustav?
    Sav izvorni kod pronađen na stranici https://www.nsa.gov, distribuira se pod istim uvjetima kao i izvorni izvorni kodovi. Na primjer, popravci za Linux kernel i popravci za mnoge postojeće uslužne programe koji su ovdje dostupni objavljeni su pod uvjetima GNU Opće javne licence (GPL).
  20. Postoje li izvozne kontrole?
    Ne postoje dodatne kontrole izvoza za Linux s proširenom sigurnošću u usporedbi s bilo kojom drugom verzijom Linuxa.
  21. Planira li ga NSA koristiti u zemlji?
    Iz očitih razloga, NSA ne komentira operativnu uporabu.
  22. Mijenja li izjava o jamstvima Secure Computing Corporation od 26. srpnja 2002. NSA-in stav da je SELinux dostupan pod GNU-ovom općom javnom licencom?
    Stav NSA nije se promijenio. NSA još uvijek vjeruje da odredbe i uvjeti GNU Opće javne licence reguliraju korištenje, kopiranje, distribuciju i modificiranje SELinuxa. Cm. NSA priopćenje za tisak 2. siječnja 2001.
  23. Podržava li NSA softver otvorenog koda?
    NSA-ine inicijative za sigurnost softvera obuhvaćaju i vlasnički i otvoreni softver, a mi smo uspješno koristili i vlasničke modele i modele otvorenog koda u našim istraživačkim aktivnostima. Rad NSA-e na poboljšanju sigurnosti softvera motiviran je jednim jednostavnim razmatranjem: maksimalno iskoristiti naše resurse kako bismo klijentima NSA-e pružili najbolje moguće sigurnosne mogućnosti u njihovim najčešće korištenim proizvodima. Cilj istraživačkog programa NSA-e je razviti tehnološki napredak koji se može podijeliti sa zajednicom koja se bavi razvojem softvera kroz različite mehanizme prijenosa. NSA ne podupire niti promovira niti jedan određeni softverski proizvod ili poslovni model. Umjesto toga, NSA promovira sigurnost.
  24. Podržava li NSA Linux?
    Kao što je gore navedeno, NSA ne podupire niti promiče bilo koji određeni softverski proizvod ili platformu; NSA samo doprinosi povećanju sigurnosti. Flask arhitektura prikazana u referentnoj implementaciji SELinuxa prenesena je na nekoliko drugih operativnih sustava uključujući Solaris, FreeBSD i Darwin, prenesena na hipervizor Xen i primijenjena na aplikacije kao što su X Window System, GConf, D-BUS i PostgreSQL . Koncepti Flask arhitekture široko su primjenjivi na širok raspon sustava i okruženja.

saradnja

  1. Kako planiramo komunicirati s Linux zajednicom?
    Imamo skup web stranica na NSA.gov, koji će služiti kao naš glavni način objavljivanja sigurnosnih informacija o Linuxu. Ako ste zainteresirani za Linux s poboljšanom sigurnošću, potičemo vas da se pridružite popisu za razvojne programere, pogledate izvorni kod i date svoje povratne informacije (ili kod). Da biste se pridružili mailing listi programera, pogledajte Stranica SELinux mailing liste programera.
  2. Tko može pomoći?
    SELinux sada održava i poboljšava zajednica otvorenog koda Linux softvera.
  3. Financira li NSA ikakav daljnji rad?
    NSA trenutno ne razmatra prijedloge za daljnji rad.
  4. Koja je vrsta podrške dostupna?
    Probleme namjeravamo rješavati putem mailing liste [e-pošta zaštićena], ali nećemo moći odgovoriti na sva pitanja vezana uz pojedinu stranicu.
  5. Tko je pomogao? Što su učinili?
    Prototip Linuxa s poboljšanom sigurnošću razvila je NSA s istraživačkim partnerima iz NAI Labsa, Secure Computing Corporation (SCC) i MITER Corporation. Puno više materijala uslijedilo je nakon prvog javnog objavljivanja. Pogledajte popis sudionika.
  6. Kako mogu saznati više?
    Potičemo vas da posjetite naše web stranice, pročitate dokumentaciju i prethodne istraživačke radove i sudjelujete na našoj listi za slanje e-pošte. [e-pošta zaštićena]

Smatrate li prijevod od pomoći? Napišite komentare!

Izvor: www.habr.com

Dodajte komentar