Întrebări frecvente despre SELinux (FAQ)

Salut tuturor! Special pentru studenții cursului „Securitatea Linux” am pregătit o traducere a FAQ-ului oficial al proiectului SELinux. Ni se pare că această traducere ar putea fi utilă nu doar studenților, așa că o împărtășim cu voi.

Întrebări frecvente despre SELinux (FAQ)

Am încercat să răspundem la câteva dintre cele mai frecvente întrebări despre proiectul SELinux. În prezent, întrebările sunt împărțite în două categorii principale. Toate întrebările și răspunsurile sunt listate pe pagina FAQ.

Prezentare generală

Prezentare generală

  1. Ce este Linux cu securitate îmbunătățită?
    Linux cu securitate îmbunătățită (SELinux - Security-enhanced Linux) este o implementare standard a arhitecturii de securitate Flask pentru controlul de acces obligatoriu flexibil. A fost creat pentru a demonstra utilitatea mecanismelor flexibile de gestionare a accesului obligatoriu și modul în care aceste mecanisme pot fi adăugate într-un sistem de operare. Arhitectura Flask a fost ulterior integrată în Linux și portată pe mai multe alte sisteme, inclusiv sistemul de operare Solaris, FreeBSD și nucleul Darwin, generând o gamă largă de lucrări asociate. Arhitectura Flask oferă suport general pentru aplicarea diverselor tipuri de politici de control al accesului obligatoriu, inclusiv cele bazate pe conceptele de Type Enforcement, Controlul accesului bazat pe roluri și Securitate multi-nivel.
  2. Ce oferă Linux cu securitate îmbunătățită, ceea ce standard Linux nu poate oferi?
    Nucleul Linux cu securitate îmbunătățită stabilește politici de control al accesului obligatoriu, care limitează programele utilizatorilor și serverele de sistem la un set minim de privilegii necesare pentru a-și desfășura activitatea. Prin această limitare, capacitatea acestor programe utilizator și demoni de sistem de a provoca daune în cazul unei compromiteri (de exemplu, din cauza unui overflow de buffer sau a unei configurări incorecte) este redusă sau complet eliminată. Acest mecanism de limitare funcționează independent de mecanismele tradiționale de control al accesului Linux. Nu are noțiunea de superutilizator „root” și nu împărtășește dezavantajele binecunoscute ale mecanismelor de protecție tradiționale Linux (de exemplu, dependența de fișierele binare setuid/setgid).
    Securitatea unui sistem Linux nemodificat depinde de corectitudinea kernel-ului, a tuturor aplicațiilor privilegiate și a fiecărei configurații a acestora. O problemă în oricare dintre aceste domenii poate duce la compromiterea întregului sistem. Pe de altă parte, securitatea unui sistem modificat, bazat pe un kernel Linux cu un nivel de securitate îmbunătățit, depinde, în primul rând, de corectitudinea kernel-ului și de configurația politicii sale de securitate. Deși problemele de corectitudine sau configurație ale aplicațiilor pot permite o compromitere limitată a anumitor programe utilizator și demoni de sistem, acestea nu reprezintă o amenințare de securitate pentru celelalte programe utilizator și demoni de sistem sau pentru securitatea sistemului în ansamblu.
  3. La ce este bun?
    Noile funcții Linux cu securitate îmbunătățită sunt concepute pentru a asigura separarea informațiilor pe baza cerințelor de confidențialitate și integritate. Acestea sunt destinate să împiedice procesele de citire a datelor și programelor, falsificarea datelor și programelor, ocolirea mecanismelor de securitate ale aplicațiilor, executarea programelor nesigure sau intervenția în alte procese, încălcând politica de securitate a sistemului. De asemenea, ele contribuie la limitarea potențialului de daune care ar putea fi cauzate de programele malițioase sau defecte. De asemenea, acestea ar trebui să fie utile pentru a permite utilizarea unei singure sisteme de către utilizatori cu diferite permisiuni de securitate pentru accesarea diferitelor tipuri de informații cu cerințe variate de securitate, fără a afecta aceste cerințe.
  4. Cum pot obține o copie?
    Multe distribuții Linux includ suportul SELinux, deja integrat ca funcție implicită sau ca pachet suplimentar. Codul de bază al utilizatorului pentru SELinux este disponibil la GitHub. Utilizatorii finali trebuie să utilizeze, în general, pachetele furnizate de distribuția lor.
  5. Ce conține versiunea dumneavoastră?
    Lansarea NSA SELinux include codul de bază al utilizatorului SELinux. Suportul pentru SELinux este deja inclus în nucleul principal Linux 2.6, disponibil pe kernel.org. Codul de bază al utilizatorului SELinux constă dintr-o bibliotecă pentru manipularea politicii binare (libsepol), un compilator de politică (checkpolicy), o bibliotecă pentru aplicațiile care asigură securitatea (libselinux), o bibliotecă pentru instrumentele de gestionare a politicii (libsemanage) și câteva utilitare asociate politicilor (policycoreutils).
    Pe lângă nucleul cu suport pentru SELinux și codul de bază al utilizatorului, veți avea nevoie de o politică și de câteva pachete modificate pentru SELinux în spațiul utilizatorului pentru a utiliza SELinux. Politica poate fi obținută din proiectul de politică de referință SELinux.
  6. Pot instala Linux cu securitate îmbunătățită pe un sistem Linux existent?
    Da, puteți instala doar modificările SELinux pe un sistem Linux existent sau puteți instala o distribuție Linux care include deja suport pentru SELinux. SELinux constă din nucleul Linux cu suport pentru SELinux, un set de biblioteci și utilitare de bază, câteva pachete de utilizator modificate și configurația politicii. Pentru a-l instala pe un sistem Linux existent care nu are suport pentru SELinux, trebuie să aveți capacitatea de a compila software-ul, precum și alte pachete de sistem necesare. Dacă distribuția dumneavoastră Linux include deja suport pentru SELinux, nu trebuie să compilezi sau să instalezi lansarea NSA SELinux.
  7. Cât de compatibil este Linux cu securitate îmbunătățită față de Linux-ul nemodificat?
    Linux cu securitate îmbunătățită oferă compatibilitate binară cu aplicațiile existente Linux și cu modulele existente ale nucleului Linux, dar unele module ale nucleului pot necesita modificări pentru a interacționa corect cu SELinux. Cele două categorii de compatibilitate sunt discutate detaliat mai jos:
    • Compatibilitatea aplicațiilor
      SELinux asigură compatibilitate binară cu aplicațiile existente. Am extins structurile de date ale nucleului, incluzând noi atribute de securitate, și am adăugat noi apeluri API pentru aplicațiile care asigură securitatea. Cu toate acestea, nu am modificat nici o structură de date vizibilă pentru aplicații și nu am schimbat interfața niciunor apeluri de sistem existente, astfel încât aplicațiile existente pot funcționa fără modificări, dacă politica de securitate le permite.
    • Compatibilitatea modulelor nucleului
      Inițial, SELinux oferea compatibilitate de bază doar pentru modulele nucleului existente; era necesar să se recompilze astfel de module conform antetelor modificate ale nucleului pentru a integra noile câmpuri de securitate adăugate în structurile de date ale nucleului. Deoarece LSM și SELinux sunt acum integrate în nucleul principal Linux 2.6, SELinux asigură acum compatibilitate binară cu modulele nucleului existente. Cu toate acestea, unele module nucleului pot interacționa prost cu SELinux fără modificări. De exemplu, dacă un modul al nucleului alocă și stabilește direct un obiect al nucleului fără a folosi funcțiile standard de inițializare, atunci obiectul nucleului poate să nu aibă informații de securitate adecvate. De asemenea, unele module nucleului pot să nu aibă un control de securitate adecvat asupra operațiunilor lor; orice apeluri existente la funcțiile nucleului sau la funcțiile de permisiuni vor activa, de asemenea, verificările de permisiuni SELinux, dar pentru a asigura respectarea politicilor MAC pot fi necesare controale mai detaliate sau suplimentare.
      Linux cu securitate îmbunătățită nu ar trebui să creeze probleme de interacțiune cu sistemele Linux obișnuite, dacă toate operațiunile necesare sunt permise de configurația politicii de securitate.
  8. Care sunt obiectivele exemplului de configurare a politicii de securitate?
    La un nivel înalt, scopul este de a demonstra flexibilitatea și securitatea măsurilor de control al accesului și de a oferi un sistem funcțional simplu cu modificări minime în aplicații. La un nivel mai mic, politica are o serie de obiective descrise în documentația de politică. Aceste obiective includ gestionarea accesului neautorizat la date, protecția integrității nucleului, software-ului de sistem, informațiilor de configurație a sistemului și jurnale de sistem, limitarea daunelor potențiale care ar putea fi cauzate de utilizarea unei vulnerabilități într-un proces care necesită privilegii, protejarea proceselor privilegiate de executarea codului malware, protecția rolului de administrator și a domeniului de accesul fără autentificarea utilizatorului, prevenirea intervenției proceselor utilizatorilor obișnuiți în procesele sistemului sau ale administratorului, precum și protejarea utilizatorilor și administratorilor de utilizarea vulnerabilităților din browserul lor de către coduri malware mobile.
  9. De ce a fost ales Linux ca platformă de bază?
    Linux a fost ales ca platformă pentru implementarea inițială de referință a acestei lucrări datorită succesului său în creștere și a mediului deschis de dezvoltare. Linux oferă o oportunitate excelentă de a demonstra că această funcționalitate poate fi de succes în sistemul de operare principal și, în același timp, contribuie la securitatea unui sistem utilizat pe scară largă. Platforma Linux oferă, de asemenea, o oportunitate excelentă pentru ca această lucrare să obțină o viziune cât mai largă posibilă și, poate, să servească ca bază pentru cercetări de securitate suplimentare de către alți entuziaști.
  10. De ce ați realizat această lucrare?
    Laboratorul Național de Cercetare în Securitatea Informațională Agenția Națională de Securitate este responsabilă pentru cercetările și dezvoltările avansate de tehnologii necesare pentru ca NSA să poată oferi soluții, produse și servicii pentru securitatea informațională a infrastructurilor informaționale esențiale pentru interesele naționale de securitate ale SUA.
    Crearea unui sistem de operare viabil și sigur rămâne o sarcină de cercetare esențială. Obiectivul nostru este de a dezvolta o arhitectură eficientă, care să ofere suportul necesar pentru securitate, să execute programele într-un mod care să fie în mare parte transparent pentru utilizator și atrăgător pentru furnizori. Considerăm că un pas important în atingerea acestui obiectiv este demonstrarea modului în care mecanismele de control al accesului pot fi integrate cu succes în sistemul de operare de bază.
  11. Cum se leagă acest lucru de cercetările anterioare ale OS NSA?
    Cercetătorii de la Laboratorul Național pentru Siguranța Informațiilor NSA, împreună cu Secure Computing Corporation (SCC), au dezvoltat o arhitectură puternică și flexibilă de control al accesului bazată pe Type Enforcement, un mecanism dezvoltat în premieră pentru sistemul LOCK. NSA și SCC au creat două prototipuri ale arhitecturii pe baza Mach: DTMach și DTOS (http://www.cs.utah.edu/flux/dtos/). NSA și SCC au colaborat apoi cu echipa de cercetare Flux de la Universitatea din Utah pentru a transfera arhitectura în sistemul de operare de cercetare Fluke. În timpul acestui transfer, arhitectura a fost perfecționată pentru a oferi un suport mai bun pentru politicile de securitate dinamice. Această arhitectură îmbunătățită a fost denumită Flask (http://www.cs.utah.edu/flux/flask/). Acum, NSA a integrat arhitectura Flask în sistemul de operare Linux pentru a transmite această tehnologie unei comunități mai largi de dezvoltatori și utilizatori.
  12. Este Linux cu securitate îmbunătățită un sistem de operare fiabil?
    Expresia „Sistem de operare de încredere” se referă, în general, la un sistem de operare care oferă un suport adecvat pentru protecția multilayer și confirmarea corectitudinii, pentru a se conforma unui set specific de cerințe guvernamentale. Linux cu securitate îmbunătățită include idei utile din aceste sisteme, dar se concentrează pe controlul de acces obligatoriu. Sarcina inițială a dezvoltării Linux cu securitate îmbunătățită a fost de a crea funcționalități utile care să asigure avantaje semnificative în materie de securitate în diverse medii reale pentru a demonstra această tehnologie. SELinux, în sine, nu este un sistem de operare de încredere, dar oferă o funcție crucială de securitate — controlul de acces obligatoriu — necesară pentru un sistem de operare de încredere. SELinux a fost integrat în distribuții Linux care au fost evaluate în conformitate cu Profilul de Protecție a Securității Etichetate. Informații despre produsele certificate și verificate pot fi găsite la http://niap-ccevs.org/.
  13. Este într-adevăr protejat?
    Conceptul de sistem securizat include multiple atribute (de exemplu, securitate fizică, securitate a personalului etc.), iar Linux cu securitate îmbunătățită abordează doar un set foarte restrâns din aceste atribute (adică elementele de control al accesului obligatoriu în sistemul de operare). Cu alte cuvinte, un „sistem securizat” înseamnă că este suficient de protejat pentru a păstra informații în lumea reală împotriva unui adversar real, de care se teme proprietarul și/sau utilizatorul informațiilor. Linux cu securitate îmbunătățită este destinat doar pentru a demonstra elementele obligatorii de control într-un sistem de operare modern, cum ar fi Linux, și de aceea, în sine, este greu de catalogat ca respectând o definiție interesantă a unui sistem securizat. Credem că tehnologia demonstrată în Linux cu securitate îmbunătățită va fi utilă persoanelor care construiesc sisteme securizate.
  14. Ce ați făcut pentru a îmbunătăți garanția?
    Scopul acestui proiect a fost de a adăuga elemente de control al accesului în Linux, cu modificări minime. Această ultimă țintă limitează semnificativ ce se poate face pentru a îmbunătăți garanția, așadar nu au fost realizate lucrări pentru a spori garanția Linux. Pe de altă parte, îmbunătățirile se bazează pe lucrări anterioare de dezvoltare a unei arhitecturi de securitate cu un nivel ridicat de fiabilitate, iar majoritatea acestor principii de proiectare au fost transferate în Linux cu securitate îmbunătățită.
  15. Va evalua CCEVS Linux cu securitate îmbunătățită?
    Linux cu securitate îmbunătățită nu este destinat, de sine stătător, să rezolve toate problemele de securitate prezente în profilul de protecție. Deși ar fi posibil să evaluăm doar funcționalitatea sa actuală, considerăm că o astfel de evaluare ar avea o valoare limitată. Cu toate acestea, am colaborat cu alții pentru a include această tehnologie în distribuțiile Linux care au fost evaluate și în cele care sunt în evaluare. Informații despre produsele verificate și verificate pot fi găsite la http://niap-ccevs.org/.
  16. Ați încercat să remediați vreo vulnerabilitate?
    Nu, nu am căutat și nu am găsit nicio vulnerabilitate în timpul lucrării noastre. Am făcut doar minimul necesar pentru a adăuga noile noastre mecanisme.
  17. Este acest sistem aprobat pentru utilizarea guvernamentală?
    Linux cu securitate îmbunătățită nu are nicio aprobată specială sau suplimentară pentru utilizarea guvernamentală față de orice altă versiune de Linux.
  18. Ce îl diferențiază de alte inițiative?
    Linux cu securitate îmbunătățită are o arhitectură bine definită pentru controlul accesului obligatoriu flexibil, care a fost verificată experimental prin intermediul mai multor sisteme prototip (DTMach, DTOS, Flask). Studiile detaliate au fost realizate pentru a evalua capacitatea arhitecturii de a susține o gamă largă de politici de securitate și sunt disponibile la http://www.cs.utah.edu/flux/dtos/ și http://www.cs.utah.edu/flux/flask/.
    Arhitectura oferă control detaliat asupra multor abstracții ale kernelului și serviciilor care nu sunt controlate de alte sisteme. Unele dintre caracteristicile distinctive ale sistemului Linux cu securitate extinsă includ:
    • Separarea clară a politicii de drepturile de aplicare
    • Interfețe de politică clar definite
    • Independență față de politici specifice și limbaje de politică
    • Independență față de formate specifice și conținutul etichetelor de securitate
    • Etichete și controale separate pentru obiecte și servicii de bază
    • Cache pentru deciziile de acces pentru eficiență
    • Suport pentru modificările politicii
    • Control asupra inițializării procesului, moștenirii și executării programului
    • Gestionarea sistemelor de fișiere, directoarelor, fișierelor și descrierilor fișierelor deschise
    • Gestionarea socket-urilor, mesajelor și interfețelor de rețea
    • Control asupra utilizării „Capabilităților”
  19. Care sunt restricțiile de licențiere pentru acest sistem?
    Toate codurile sursă găsite pe site https://www.nsa.gov, sunt distribuite în aceleași condiții ca și codurile sursă originale. De exemplu, corecțiile pentru nucleul Linux și corecțiile pentru multe utilitare existente disponibile aici sunt emise conform condițiilor Licența Publică Generală GNU (GPL).
  20. Există un control al exportului?
    Pentru Linux cu securitate extinsă, nu există elemente suplimentare de control al exportului comparativ cu orice altă versiune de Linux.
  21. Își propune NSA să o folosească în interiorul țării?
    Din motive evidente, NSA nu comentează utilizarea operațională.
  22. Modifică Declarația de garanții din 26 iulie 2002 a Secure Computing Corporation poziția NSA cu privire la faptul că SELinux a fost oferit sub Licența Publică Generală GNU?
    Poziția NSA nu s-a schimbat. NSA consideră în continuare că termenii și condițiile Licenței Comunității Publice GNU reglementează utilizarea, copierea, distribuția și modificarea SELinux. Vezi. Comunicatul de presă al NSA din 2 ianuarie 2001.
  23. Sprijină NSA software-ul cu sursă deschisă?
    Inițiativele NSA pentru creșterea securității software-ului acoperă atât software-ul proprietar, cât și pe cel open-source, și am folosit cu succes atât modele proprietare, cât și deschise în activitățile noastre de cercetare. Lucrările NSA pentru îmbunătățirea securității software-ului sunt motivate de un singur raționament simplu: de a utiliza resursele noastre cât mai eficient, pentru a oferi clienților NSA cele mai bune opțiuni de securitate în cele mai utilizate produse. Scopul programului de cercetare al NSA este dezvoltarea realizărilor tehnologice pe care le putem împărtăși comunității dezvoltatorilor de software prin diverse mecanisme de transfer. NSA nu susține și nu promovează niciun produs software specific sau model de afaceri. În schimb, NSA contribuie la creșterea securității.
  24. Susține NSA Linux?
    După cum s-a menționat mai sus, NSA nu susține și nu promovează niciun produs software sau platformă specifică; NSA contribuie doar la creșterea securității. Arhitectura Flask, demonstrată în implementarea de referință a SELinux, a fost portată pe mai multe alte sisteme de operare, inclusiv Solaris, FreeBSD și Darwin, a fost portată pe hipervizorul Xen și este aplicată în aplicații precum X Window System, GConf, D-BUS și PostgreSQL. Noțiunile arhitectonice ale Flask sunt larg aplicabile într-o varietate de sisteme și medii.

Colaborare

  1. Cum ne planificăm să interacționăm cu comunitatea Linux?
    Avem set de pagini web pe NSA.gov, care va servi drept principala noastră modalitate de publicare a informațiilor despre Linux cu securitate îmbunătățită. Dacă sunteți interesat de Linux cu securitate îmbunătățită, vă recomandăm să vă alăturați listei de discuții a dezvoltatorilor, să examinați codul sursă și să oferiți feedback-ul dvs. (sau cod). Pentru a vă alătura listei de discuții a dezvoltatorilor, consultați. Pagina listei de discuții a dezvoltatorilor SELinux.
  2. Cine poate ajuta?
    SELinux este acum susținut și dezvoltat de comunitatea dezvoltatorilor de software open-source pentru Linux.
  3. Finanțează NSA vreo muncă ulterioară?
    În prezent, NSA nu ia în considerare propunerile pentru muncă ulterioară.
  4. Ce tip de suport este disponibil?
    Intenționăm să soluționăm problemele prin lista de corespondență selinux@tycho.nsa.gov, dar nu vom putea răspunde la toate întrebările legate de un site specific.
  5. Cine a ajutat? Ce au făcut ei?
    Un prototip Linux cu securitate îmbunătățită a fost dezvoltat de NSA împreună cu partenerii de cercetare de la NAI Labs, Secure Computing Corporation (SCC) și MITER Corporation. După lansarea publică inițială, au urmat multe alte materiale. Vedeți lista participanților.
  6. Cum pot afla mai multe?
    Vă recomandăm să vizitați paginile noastre web, să citiți documentația și lucrările de cercetare anterioare, precum și să participați la lista noastră de corespondență selinux@vger.kernel.org

Credeți că traducerea este utilă? Lăsați comentarii!

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster