Cum să vă securizați serverele Linux cu SELinux

Se Linux Hero
⏱️ 10 min read

SELinux vă poate ajuta să vă asigurați serverul de procese sau aplicații care funcționează defectuos. Dezvoltată de NSA (Agenția Națională de Securitate) pentru a securiza dispozitivele guvernamentale de atacatori, arhitectura Linux îmbunătățită de securitate (SE) folosește protocoale de securitate pentru a restricționa accesul la resursele sistemului. Aflați cum îl puteți utiliza pentru serverul dvs.

Arhitectura SELinux

SELinux este un modul kernel care poate fi activat sau dezactivat de administratorul sistemului. Deoarece accesul la fișiere și porturi de rețea este limitat în urma unei politici de securitate, un program defect sau un demon configurat greșit nu poate avea un impact mare asupra securității sistemului.

Când o aplicație sau un proces solicită acces la fișiere în sistemul SELinux, mai întâi verifică cache-ul vectorului de acces (AVC). Dacă permisiunea a fost memorată anterior în cache, atunci aceasta revine cu fișierul pentru aplicația solicitată. Dacă permisiunea nu este stocată în cache, atunci trimite cererea către serverul de securitate. Serverul de securitate verifică toate politicile de securitate din baza sa de date. În funcție de politica de securitate, permisiunea este apoi acordată sau refuzată.

Nu există un concept de root sau superutilizator în SELinux. Securitatea unei distribuții Linux nemodificate fără SE Linux depinde de corectitudinea nucleului, de toate aplicațiile privilegiate și de configurațiile acestora. defecțiunea sau eroarea oricăreia dintre aceste componente poate crea o suprafață de atac și poate compromite sistemul.

Pe de altă parte, un sistem Linux modificat cu SELinux depinde în primul rând de corectitudinea nucleului și a politicilor de securitate.

Cum se instalează sau se activează SELinux

SELinux înseamnă Security Enhanced Linux. SELinux face parte din nucleul Linux din 2003. Prin urmare, nu trebuie să-l instalați separat. În majoritatea distribuțiilor Linux pentru desktop, totuși, este dezactivat implicit.

Vezi Linux 2

SELinux are trei moduri principale: Forțat, Permisiv și Dezactivat. Să le discutăm pe scurt:

  1. Aplicat: Aceasta activează și protejează sistemul Linux folosind politici de securitate.
  2. Permisiv: Nu aplică politicile de securitate, dar înregistrează totul. Acest mod este util în scopuri de depanare.
  3. Dezactivat: Dezactivează SELinux. Această opțiune nu este recomandată, iar dacă reactivați SELinux în sistemul dvs., aceasta duce la erori din cauza modificărilor etichetării.

Notă: Ubuntu este livrat cu AppArmor, o alternativă la SELinux. În timp ce SELinux este disponibil pe Ubuntu, nu este compatibil cu AppArmor și vă poate distruge sistemul dacă este activat. Dacă într-adevăr trebuie să utilizați SELinux în Ubuntu, asigurați-vă că dezactivați AppArmor și faceți testare intensivă (începeți mai întâi cu modul permisiv) înainte de a-l folosi pentru producție.

  1. Pentru a activa SELinux în sistemul dumneavoastră, trebuie să editați fișierul „/etc/selinux/config”. Deschideți acest fișier în editorul dvs. de text.
sudo nano /etc/selinux/config
  1. În interiorul fișierului de configurare, setați SELINUX=permissive . presa Ctrl + O și lovit introduce pentru a salva fișierul și apăsați Ctrl + X pentru a ieși din editor. SELinux este acum activat în sistemul dumneavoastră.

Notă: dacă încercați să aplicați SELinux direct înainte de a-l face permisiv, este posibil să etichetați greșit fișierele și procesele și să vă împiedice să porniți.

  1. Pentru a reeticheta automat sistemul de fișiere, creați un fișier numit „.autorelabel” în sistemul de fișiere rădăcină. Acum, când porniți sistemul, SELinux vă va reeticheta automat sistemul de fișiere. Pentru a reduce erorile, păstrați SELINUX=permissive opțiunea așa cum se află în folderul de configurare. După ce totul este reetichetat, setați SELinux la SELINUX=enforcing în „/etc/selinux/config” și reporniți.

SELinux va fi aplicat cu succes în sistemul dumneavoastră.

Cum se configurează SELinux

SELinux este o arhitectură care permite administratorilor de sistem să controleze ceea ce poate accesa resursele sistemului. SELinux limitează accesul la sistem utilizând politici de securitate. Există multe modalități de a configura SELinux pentru a vă proteja sistemul, cele mai populare fiind „politica vizată” și „securitate pe mai multe niveluri” (MLS).

O politică vizată este politica de securitate implicită. Acesta acoperă o gamă largă de politici de securitate, cum ar fi accesul la fișiere, sarcini, servicii etc. Securitatea pe mai multe niveluri (MLS) este utilizată în general de guvern și organizații mari, este foarte complicat de configurat și necesită o echipă dedicată pentru ao gestiona.

Puteți verifica modul curent SELinux cu comanda getenforce și sestatus.

Dacă trebuie doar să schimbați modul SELinux în sesiunea curentă, puteți rula următoarele două comenzi.

  • sudo setenforce 0: Setarea SELinux la modul permisiv pentru sesiunea curentă.
  • sudo setenforce 1: Setarea SELinux la modul de aplicare pentru sesiunea curentă.

Politici SELinux

SELinux funcționează ca un sistem de etichetare. Asociază fiecare fișier, port și proces cu o etichetă. Etichetele sunt un mod logic de a grupa lucrurile. Nucleul este responsabil pentru gestionarea etichetei în timpul pornirii.

Vezi Linux 1
Sursa imaginii: MIT

Politicile SELinux pot fi gestionate de booleeni. De exemplu, să setăm boolean la un demon numit httpd. httpd este un daemon server Apache HTTP pe care îl folosim pentru a rula servere web în Linux.

Pentru a enumera toate modulele specifice httpdrulați următoarea comandă în terminalul dvs.:

getsebool -a | grep httpd

Aici -a opțiunea listează toate valorile booleene și le folosim grep pentru a filtra booleanul asociat numai httpd. Citiți acest articol pentru a afla mai multe despre grep în Linux.

Ieșirea din comanda de mai sus arată ca imaginea de mai jos.

httpd_builtin scripting --> on 
httpd_can_check_spam --> off 
httpd can connect ftp --> off 
httpd_can_connect_ldap --> off 
httpd_can_connect_mythty --> off 
httpd_can_connect_zabbix --> off 
httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off 
httpd_can_network_memcache --> off 
httpd_can_network_relay --> off 
httpd_can_sendmail --> off 
httpd_dbus_avahi --> off 
httpd dbus sssd--> off

Din lista de mai sus, luăm httpd_can_connect_ftp boolean și modificați valoarea acestuia. Mai întâi, citiți valoarea lui httpd_can_connect_ftpindiferent dacă este pornit sau oprit:

getsebool httpd_can_connect_ftp

Să setăm valoarea lui httpd_can_connect_ftp a permite.

setsebool -P httpd_can_connect_ftp 1

Aici, 1 reprezintă allow sau on. The -P eticheta este folosită pentru a face schimbarea permanentă. Dacă enumerați din nou booleanele legate de httpd, atunci putem vedea schimbarea în httpd_can_connect_ftp valoare pentru on.

httpd_builtin_scripting --> on 
httpd_can_check_spam --> off 
httpd can connect ftp --> on 
httpd_can_connect_ldap --> off 
httpd_can_connect_mythty --> off 
httpd_can_connect_zabbix --> off 
httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off 
httpd_can_network_memcache --> off 
httpd_can_network_relay --> off 
httpd_can_sendmail --> off 
httpd_dbus_avahi --> off 
httpd dbus sssd--> off

Cum să gestionați erorile SELinux

SELinux are 4 tipuri de erori în general:

  1. Sistemul a fost stricat: SELinux vă protejează sistemul prin restricţionarea accesului, dar uneori, acest lucru nu este suficient. Dacă primiți aceste erori, atunci sistemul dumneavoastră poate fi compromis. Luați măsurile necesare cât mai repede posibil.
  2. Bug în politică: dacă există o eroare în politică care trebuie remediată, apare această eroare.
  3. Etichetele sunt greșite: Acest mesaj de eroare apare în timpul personalizării etichetării de către utilizator sau când etichetarea automată de către SELinux merge spre sud. Există multe instrumente pe piață pentru a remedia aceste erori de etichetă.
  4. Trebuie stabilită o politică: Aceste erori apar atunci când faceți unele modificări în sistem și nu informați SELinux despre aceasta. Puteți remedia această eroare folosind module booleene sau de politică.

Cum se dezactivează SELinux

Dezactivarea SELinux nu este niciodată o opțiune bună pentru serverele întreprinderilor și guvernamentale și dispozitivele publice care sunt foarte predispuse la atacuri. Dar dacă doriți să dezactivați SELinux în sistemul dvs., urmați aceste instrucțiuni.

  1. Accesați fișierul de configurare SE Linux în „/etc/selinux” și schimbați modul de configurare SE Linux de la enforcing la permissiveapoi reporniți sistemul.
  2. Schimbați modul SELinux de la permissive la disabled.

După următoarea repornire, SELinux din sistemul dumneavoastră este dezactivat și devine o mașină Linux normală.

întrebări frecvente

SELinux este prezent pe Android?

Da, SELinux este implementat în Android de la versiunea 4.3. A îmbunătățit securitatea Android pentru a proteja utilizatorii Android de atacurile cibernetice.

SELinux este un firewall?

SELinux nu este un firewall. Firewall-ul controlează traficul dintre computer și rețea. În timp ce SELinux controlează și guvernează sistemul de fișiere și accesul la rețea al diferitelor programe din interiorul sistemului, ne putem gândi la SELinux ca un firewall intern pentru a proteja sistemul de programele sale.

SELinux este un sistem de operare?

SELinux nu este un sistem de operare. Este un modul de securitate al nucleului care există în nucleul Linux. Oferă suport pentru politicile de securitate pentru controlul accesului și controalele obligatorii de acces (MAC). Pentru a-l numi sistem de operare, are nevoie de mai mult decât nucleul în sine. În majoritatea sistemelor de operare bazate pe Linux, puteți utiliza SELinux.

Ar trebui să utilizați SELinux?

Dacă sunteți administrator de sistem și cunoașteți sistemul Unix, ar trebui să utilizați SELinux, deoarece sporește securitatea serverului dvs. și minimizează suprafața de atac. Dacă nu sunteți foarte familiarizat cu sistemele Unix, puteți utiliza și Apparmour. Acest lucru este relativ mai ușor decât SELinux. Dacă sunteți un utilizator acasă și utilizați Linux numai pe computerul dvs. desktop, nu este nevoie să utilizați SELinux. Îți va da doar bătaie de cap să configurați și să vă reduceți productivitatea.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

You may also like...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x