Pogosto zastavljena vprašanja (FAQ) o SELinuxu

Pozdravljeni vsi skupaj! Še posebej za tečajnike "Varnost Linuxa" smo pripravili prevod uradnih FAQ projekta SELinux. Zdi se nam, da je ta prevod lahko koristen ne le za študente, zato ga delimo z vami.

Pogosto zastavljena vprašanja (FAQ) o SELinuxu

Poskušali smo odgovoriti na nekatera najpogostejša vprašanja o projektu SELinux. Vprašanja so trenutno razdeljena v dve glavni kategoriji. Vsa vprašanja in odgovori so podani na strani s pogostimi vprašanji.

Pregled

Pregled

  1. Kaj je Linux z izboljšano varnostjo?
    Varnostno izboljšan Linux (SELinux) je referenčna izvedba varnostne arhitekture Flask za prilagodljiv, vsiljen nadzor dostopa. Ustvarjen je bil, da bi prikazal uporabnost prilagodljivih mehanizmov uveljavljanja in kako je mogoče takšne mehanizme dodati operacijskemu sistemu. Arhitektura Flask je bila nato integrirana v Linux in prenesena v več drugih sistemov, vključno z operacijskim sistemom Solaris, operacijskim sistemom FreeBSD in jedrom Darwin, kar je povzročilo širok spekter povezanega dela. Arhitektura Flask zagotavlja splošno podporo za uveljavljanje številnih vrst politik uveljavljanja nadzora dostopa, vključno s tistimi, ki temeljijo na konceptih uveljavljanja tipa, nadzora dostopa na podlagi vlog in varnosti na več ravneh.
  2. Kaj nudi Linux z izboljšano varnostjo, česar standardni Linux ne more?
    Jedro Linuxa z izboljšano varnostjo uveljavlja politiko vsiljenega nadzora dostopa, ki omejujejo uporabniške programe in sistemske strežnike na minimalni nabor privilegijev, ki jih potrebujejo za opravljanje svojega dela. S to omejitvijo je zmožnost teh uporabniških programov in sistemskih demonov, da povzročijo škodo v primeru ogroženosti (na primer zaradi prepolnitve medpomnilnika ali napačne konfiguracije), zmanjšana ali odpravljena. Ta mehanizem omejevanja deluje neodvisno od tradicionalnih mehanizmov za nadzor dostopa Linux. Nima koncepta "korenskega" superuporabnika in ne deli dobro znanih pomanjkljivosti tradicionalnih varnostnih mehanizmov Linuxa (npr. odvisnost od binarnih datotek setuid/setgid).
    Varnost nespremenjenega sistema Linux je odvisna od pravilnosti jedra, vseh privilegiranih aplikacij in vsake njihove konfiguracije. Težava na katerem koli od teh področij lahko ogrozi celoten sistem. Nasprotno pa je varnost spremenjenega sistema, ki temelji na jedru Linuxa z izboljšano varnostjo, odvisna predvsem od pravilnosti jedra in konfiguracije njegove varnostne politike. Čeprav lahko težave s pravilnostjo ali konfiguracijo aplikacije dovolijo omejeno ogrožanje posameznih uporabniških programov in sistemskih demonov, ne predstavljajo varnostnega tveganja za druge uporabniške programe in sistemske demone ali za varnost sistema kot celote.
  3. Za kaj je dobra?
    Nove funkcije Linuxa z izboljšano varnostjo so zasnovane tako, da zagotavljajo ločevanje informacij na podlagi zahtev glede zaupnosti in celovitosti. Zasnovani so tako, da procesom preprečijo branje podatkov in programov, poseganje v podatke in programe, izogibanje varnostnim mehanizmom aplikacij, izvajanje nezaupljivih programov ali poseganje v druge procese, ki kršijo varnostno politiko sistema. Prav tako pomagajo omejiti morebitno škodo, ki jo lahko povzroči zlonamerna programska oprema ali nepravilni programi. Uporabni bi morali biti tudi za zagotovitev, da lahko uporabniki z različnimi varnostnimi dovoljenji uporabljajo isti sistem za dostop do različnih vrst informacij z različnimi varnostnimi zahtevami, ne da bi pri tem ogrozili te zahteve.
  4. Kako lahko dobim kopijo?
    Številne distribucije Linuxa vključujejo podporo za SELinux, ki je že vgrajena kot privzeta funkcija ali kot izbirni paket. Osnovna koda uporabniškega območja SELinux je na voljo na GitHub. Končni uporabniki bi morali na splošno uporabljati pakete, ki jih ponuja njihova distribucija.
  5. Kaj je vključeno v vašo izdajo?
    Izdaja NSA za SELinux vključuje jedro uporabniške kode SELinux. Podpora za SELinux je že vključena v glavno jedro Linuxa 2.6, ki je na voljo na kernel.org. Jedro uporabniške kode SELinux je sestavljeno iz knjižnice za manipulacijo binarnih pravilnikov (libsepol), prevajalnika pravilnikov (checkpolicy), knjižnice za varnostne aplikacije (libselinux), knjižnice za orodja za upravljanje pravilnikov (libsemanage) in več pripomočkov, povezanih s pravilniki ( policycoreutils).
    Poleg jedra, ki podpira SELinux, in osnovne kode uporabniškega območja boste za uporabo SELinux potrebovali pravilnik in nekaj paketov uporabniškega prostora s popravki SELinux. Polico lahko dobite na Projekt referenčne politike SELinux.
  6. Ali lahko namestim utrjeni Linux na obstoječi sistem Linux?
    Da, v obstoječi sistem Linux lahko namestite samo spremembe SELinux ali pa namestite distribucijo Linuxa, ki že vključuje podporo za SELinux. SELinux je sestavljen iz jedra Linuxa s podporo za SELinux, osnovnega nabora knjižnic in pripomočkov, nekaterih spremenjenih uporabniških paketov in konfiguracije pravilnika. Če ga želite namestiti v obstoječi sistem Linux, ki nima podpore za SELinux, morate biti sposobni prevesti programsko opremo in imeti tudi druge zahtevane sistemske pakete. Če vaša distribucija Linuxa že vključuje podporo za SELinux, vam ni treba zgraditi ali namestiti izdaje NSA za SELinux.
  7. Kako združljiv je Linux z izboljšano varnostjo in nespremenjenim Linuxom?
    Linux z izboljšano varnostjo zagotavlja binarno združljivost z obstoječimi aplikacijami Linux in z obstoječimi moduli jedra Linuxa, vendar bo nekatere module jedra morda treba spremeniti, da bodo pravilno delovali s SELinuxom. Ti dve kategoriji združljivosti sta podrobno obravnavani spodaj:

    • Združljivost aplikacij
      SELinux zagotavlja binarno združljivost z obstoječimi aplikacijami. Razširili smo podatkovne strukture jedra, da vključujejo nove varnostne atribute in dodali nove klice API za varnostne aplikacije. Vendar nismo spremenili podatkovnih struktur, ki so vidne aplikaciji, niti nismo spremenili vmesnika nobenih obstoječih sistemskih klicev, tako da se obstoječe aplikacije lahko še vedno izvajajo, dokler jim varnostna politika to dovoljuje.
    • Združljivost modula jedra
      Na začetku je SELinux zagotavljal samo začetno združljivost za obstoječe module jedra; potrebno je bilo ponovno prevesti take module s spremenjenimi glavami jedra, da bi pobrali nova varnostna polja, dodana podatkovnim strukturam jedra. Ker sta LSM in SELinux zdaj integrirana v glavno jedro Linuxa 2.6, SELinux zdaj zagotavlja binarno združljivost z obstoječimi moduli jedra. Vendar nekateri moduli jedra morda ne bodo dobro delovali s SELinuxom brez sprememb. Na primer, če modul jedra neposredno dodeli in nastavi objekt jedra brez uporabe običajnih inicializacijskih funkcij, potem objekt jedra morda nima ustreznih varnostnih informacij. Nekateri moduli jedra morda tudi nimajo ustreznih varnostnih kontrol za svoje delovanje; vsi obstoječi klici funkcij jedra ali funkcij dovoljenj bodo prav tako sprožili preverjanje dovoljenj SELinux, vendar bodo za uveljavljanje pravilnikov MAC morda potrebni bolj podrobni ali dodatni nadzori.
      Linux z izboljšano varnostjo ne bi smel povzročati težav z interoperabilnostjo z običajnimi sistemi Linux, če konfiguracija varnostne politike dovoljuje vse potrebne operacije.
  8. Kaj je namen primera konfiguracije varnostne politike?
    Na visoki ravni je cilj prikazati prilagodljivost in varnost uveljavljenih kontrol dostopa ter zagotoviti preprost delovni sistem z minimalnimi spremembami aplikacij. Na nižji ravni ima pravilnik nabor ciljev, opisanih v dokumentaciji pravilnika. Ti cilji vključujejo nadzor dostopa do neobdelanih podatkov, zaščito celovitosti jedra, sistemske programske opreme, informacij o konfiguraciji sistema in sistemskih dnevnikov, omejevanje potencialne škode, ki bi jo lahko povzročilo izkoriščanje ranljivosti v procesu, ki zahteva privilegije, zaščito privilegiranih procesov pred izvajanjem zlonamernih kodo, zaščiti skrbniško vlogo in domeno pred prijavo brez avtentikacije uporabnika, prepreči običajnim uporabniškim procesom motenje sistemskih ali skrbniških procesov ter zaščiti uporabnike in skrbnike pred izkoriščanjem ranljivosti v njihovem brskalniku z zlonamerno mobilno kodo.
  9. Zakaj je bil Linux izbran kot osnovna platforma?
    Linux je bil izbran kot platforma za začetno referenčno izvedbo tega dela zaradi vse večjega uspeha in odprtega razvojnega okolja. Linux ponuja odlično priložnost za prikaz, da je ta funkcionalnost lahko uspešna v gostiteljskem operacijskem sistemu in hkrati prispeva k varnosti široko uporabljanega sistema. Platforma Linux ponuja tudi odlično priložnost za to delo, da dobi čim širši pogled in morda služi kot osnova za dodatne varnostne raziskave drugih navdušencev.
  10. Zakaj ste se lotili tega dela?
    Nacionalni raziskovalni laboratorij za informacijsko varnost Agencija za nacionalno varnost je odgovorna za raziskave in razvoj napredne tehnologije, ki NSA omogoča zagotavljanje rešitev, izdelkov in storitev za informacijsko varnost informacijskim infrastrukturam, ki so ključne za interese nacionalne varnosti ZDA.
    Ustvarjanje vzdržljivega varnega operacijskega sistema ostaja velik raziskovalni izziv. Naš cilj je ustvariti učinkovito arhitekturo, ki zagotavlja potrebno podporo za varnost, poganja programe na pretežno pregleden način za uporabnika in je privlačna za prodajalce. Verjamemo, da je pomemben korak pri doseganju tega cilja pokazati, kako je mogoče mehanizme nadzora prisilnega dostopa uspešno integrirati v glavni operacijski sistem.
  11. Kako je to povezano s prejšnjimi raziskavami OS NSA?
    Raziskovalci Nacionalnega laboratorija za raziskave zagotovil pri NSA so sodelovali s podjetjem Secure Computing Corporation (SCC), da bi razvili zmogljivo in prilagodljivo arhitekturo uveljavljanja, ki temelji na uveljavljanju tipov, mehanizmu, ki ga je uvedel sistem LOCK. NSA in SCC sta razvila dve prototipni arhitekturi, ki temeljita na Machu: DTMach in DTOS (http://www.cs.utah.edu/flux/dtos/). NSA in SCC sta nato sodelovala z raziskovalno skupino Flux na Univerzi v Utahu, da sta arhitekturo prenesla na operacijski sistem Fluke Research. Med to selitvijo je bila arhitektura izboljšana, da zagotovi boljšo podporo za dinamične varnostne politike. To izboljšano arhitekturo so poimenovali Flask (http://www.cs.utah.edu/flux/flask/). Zdaj je NSA integrirala arhitekturo Flask v operacijski sistem Linux, da bi tehnologijo prinesla širši skupnosti razvijalcev in uporabnikov.
  12. Je Linux z izboljšano varnostjo zanesljiv operacijski sistem?
    Besedna zveza "Zaupanja vreden operacijski sistem" se na splošno nanaša na operacijski sistem, ki zagotavlja zadostno podporo za večplastno varnost in preverjanje veljavnosti za izpolnjevanje določenega niza vladnih zahtev. Linux z izboljšano varnostjo vključuje koristne vpoglede iz teh sistemov, vendar se osredotoča na vsiljen nadzor dostopa. Prvotni cilj razvoja Linuxa z izboljšano varnostjo je bil ustvariti uporabno funkcionalnost, ki zagotavlja oprijemljive varnostne prednosti v številnih okoljih resničnega sveta za predstavitev te tehnologije. SELinux sam po sebi ni zaupanja vreden operacijski sistem, vendar zagotavlja kritično varnostno funkcijo – vsiljen nadzor dostopa – ki je potreben za zaupanja vreden operacijski sistem. SELinux je bil integriran v distribucije Linuxa, ki so bile ocenjene v skladu z označenim varnostnim zaščitnim profilom. Informacije o testiranih in testiranih izdelkih najdete na http://niap-ccevs.org/.
  13. Je res zaščitena?
    Koncept varnega sistema vključuje številne atribute (na primer fizično varnost, varnost osebja itd.), Linux z napredno varnostjo pa naslavlja le zelo ozek nabor teh atributov (to je nadzor uveljavljanja operacijskega sistema). Z drugimi besedami, "varen sistem" pomeni dovolj varen, da zaščiti nekatere informacije v resničnem svetu pred resničnim nasprotnikom, pred katerim je opozorjen lastnik in/ali uporabnik informacij. Linux z izboljšano varnostjo je namenjen le predstavitvi potrebnih kontrol v sodobnem operacijskem sistemu, kot je Linux, in zato sam po sebi verjetno ne bo ustrezal kakšni zanimivi definiciji varnega sistema. Verjamemo, da bo tehnologija, predstavljena v Linuxu z izboljšano varnostjo, koristna ljudem, ki gradijo varne sisteme.
  14. Kaj ste storili za izboljšanje garancije?
    Cilj tega projekta je bil dodati vsiljene kontrole dostopa z minimalnimi spremembami v Linux. Ta zadnji cilj močno omejuje, kaj je mogoče storiti za izboljšanje garancije, zato ni bilo nobenega dela za izboljšanje garancije za Linux. Po drugi strani pa izboljšave temeljijo na prejšnjem delu pri oblikovanju visokovarne varnostne arhitekture in večina teh načel oblikovanja je bila prenesena v Linux z izboljšano varnostjo.
  15. Ali bo CCEVS ocenil Linux z izboljšano varnostjo?
    Linux z izboljšano varnostjo sam po sebi ni zasnovan tako, da obravnava celoten niz varnostnih težav, ki jih predstavlja varnostni profil. Čeprav bi bilo mogoče oceniti samo njegovo trenutno funkcionalnost, menimo, da bi imela taka ocena omejeno vrednost. Vendar smo sodelovali z drugimi, da bi to tehnologijo vključili v distribucije Linuxa, ki so bile ocenjene, in distribucije, ki so v fazi vrednotenja. Informacije o testiranih in testiranih izdelkih najdete na http://niap-ccevs.org/.
  16. Ste že poskusili odpraviti kakšno ranljivost?
    Ne, pri svojem delu nismo iskali ali našli nobenih ranljivosti. Prispevali smo le dovolj minimalnega zneska za dodajanje naše nove opreme.
  17. Ali je ta sistem odobren za vladno uporabo?
    Linux z izboljšano varnostjo nima posebne ali dodatne odobritve za vladno uporabo v primerjavi s katero koli drugo različico Linuxa. Linux z izboljšano varnostjo nima posebne ali dodatne odobritve za vladno uporabo v primerjavi s katero koli drugo različico Linuxa.
  18. Kako se to razlikuje od drugih pobud?
    Linux z izboljšano varnostjo ima dobro definirano arhitekturo za prilagodljiv nadzor dostopa, ki je bil eksperimentalno preizkušen z več prototipnimi sistemi (DTMach, DTOS, Flask). Izvedene so bile podrobne študije o zmožnosti arhitekture, da podpira široko paleto varnostnih politik in so na voljo v http://www.cs.utah.edu/flux/dtos/ и http://www.cs.utah.edu/flux/flask/.
    Arhitektura zagotavlja natančen nadzor nad številnimi abstrakcijami in storitvami jedra, ki jih drugi sistemi ne nadzorujejo. Nekatere značilnosti sistema Linux z razširjeno varnostjo so:

    • Čisto ločevanje politike od pravic izvrševanja
    • Dobro definirani vmesniki politik
    • Neodvisnost od posebnih politik in jezikov politike
    • Neodvisnost od določenih formatov in vsebine varnostnih nalepk
    • Ločene oznake in kontrolniki za objekte in storitve jedra
    • Predpomnjenje odločitev o dostopu za večjo učinkovitost
    • Podpora za spremembe politike
    • Nadzor nad inicializacijo procesa in dedovanjem ter izvajanjem programa
    • Upravljajte datotečne sisteme, imenike, datoteke in opise odprtih datotek
    • Upravljanje vtičnic, sporočil in omrežnih vmesnikov
    • Nadzor nad uporabo "Priložnosti"
  19. Kakšne so omejitve licenciranja za ta sistem?
    Vso izvorno kodo najdete na spletnem mestu https://www.nsa.gov, se distribuira pod enakimi pogoji kot izvirne izvorne kode. Na primer, popravki za jedro Linuxa in popravki za številne obstoječe pripomočke, ki so na voljo tukaj, so izdani pod pogoji GNU splošna javna licenca (GPL).
  20. Ali obstaja nadzor izvoza?
    Za Linux ni dodatnih izvoznih kontrol z razširjeno varnostjo v primerjavi s katero koli drugo različico Linuxa.
  21. Ali ga NSA namerava uporabiti doma?
    Iz očitnih razlogov NSA ne komentira operativne uporabe.
  22. Ali izjava o garancijah podjetja Secure Computing Corporation z dne 26. julija 2002 spreminja stališče NSA, da je bil SELinux na voljo pod splošno javno licenco GNU?
    Stališče NSA se ni spremenilo. NSA še vedno verjame, da določila in pogoji splošne javne licence GNU urejajo uporabo, kopiranje, distribucijo in spreminjanje SELinuxa. Cm. Sporočilo za javnost NSA 2. januarja 2001.
  23. Ali NSA podpira odprtokodno programsko opremo?
    Pobude NSA za varnost programske opreme obsegajo tako lastniško kot odprtokodno programsko opremo in v naših raziskovalnih dejavnostih smo uspešno uporabili tako lastniške kot odprtokodne modele. Delo NSA za izboljšanje varnosti programske opreme je motivirano z enim preprostim premislekom: kar najbolje izkoristiti naše vire, da strankam NSA zagotovimo najboljše možne varnostne možnosti v njihovih najbolj razširjenih izdelkih. Cilj raziskovalnega programa NSA je razviti tehnološki napredek, ki ga je mogoče deliti s skupnostjo razvijalcev programske opreme prek različnih mehanizmov prenosa. NSA ne podpira ali promovira nobenega določenega programskega izdelka ali poslovnega modela. Namesto tega NSA spodbuja varnost.
  24. Ali NSA podpira Linux?
    Kot je navedeno zgoraj, NSA ne podpira ali promovira nobenega določenega programskega izdelka ali platforme; NSA samo prispeva k večji varnosti. Arhitektura Flask, prikazana v referenčni implementaciji SELinux, je bila prenesena v več drugih operacijskih sistemov, vključno s Solarisom, FreeBSD in Darwinom, prenesena v hipervizor Xen in uporabljena v aplikacijah, kot so X Window System, GConf, D-BUS in PostgreSQL . Koncepti arhitekture steklenic so na splošno uporabni za široko paleto sistemov in okolij.

Sodelovanje

  1. Kako nameravamo sodelovati s skupnostjo Linux?
    Imamo niz spletnih strani na NSA.gov, ki bo služil kot naš glavni način za objavo informacij o Linuxu z izboljšano varnostjo. Če vas zanima Linux z izboljšano varnostjo, vas spodbujamo, da se pridružite poštnemu seznamu razvijalcev, si ogledate izvorno kodo in posredujete svoje povratne informacije (ali kodo). Če se želite pridružiti poštnemu seznamu razvijalcev, glejte Stran z poštnim seznamom razvijalcev SELinux.
  2. Kdo lahko pomaga?
    SELinux zdaj vzdržuje in izboljšuje skupnost odprtokodne programske opreme Linux.
  3. Ali NSA financira nadaljnje delo?
    NSA trenutno ne obravnava predlogov za nadaljnje delo.
  4. Kakšna vrsta podpore je na voljo?
    Težave nameravamo reševati prek poštnega seznama [e-pošta zaščitena], vendar ne bomo mogli odgovoriti na vsa vprašanja v zvezi z določeno stranjo.
  5. Kdo je pomagal? Kaj so storili?
    Prototip Linuxa z izboljšano varnostjo je razvila NSA z raziskovalnimi partnerji iz NAI Labs, Secure Computing Corporation (SCC) in MITER Corporation. Po prvi javni objavi je sledilo veliko več materiala. Oglejte si seznam udeležencev.
  6. Kako lahko izvem več?
    Vabimo vas, da obiščete naše spletne strani, preberete dokumentacijo in pretekle raziskovalne članke ter sodelujete na našem poštnem seznamu. [e-pošta zaščitena]

Se vam zdi prevod uporaben? Napišite komentarje!

Vir: www.habr.com

Dodaj komentar