+40 (21) 655-55-55

Ce este SELinux și de ce este important pentru securitatea serverelor Linux

În lumea serverelor Linux, securitatea este un subiect care nu poate fi ignorat. Chiar dacă Linux este considerat, prin natura sa, un sistem de operare sigur, atacurile, configurările greșite și…

Căutare inteligentă

Adaugă în căsuța de mai jos cuvinte cheie de care ești interesat pentru a găsi articole din domeniul IT.

În lumea serverelor Linux, securitatea este un subiect care nu poate fi ignorat. Chiar dacă Linux este considerat, prin natura sa, un sistem de operare sigur, atacurile, configurările greșite și erorile umane pot crea breșe serioase. Aici intervine SELinux (Security-Enhanced Linux) – un mecanism de securitate puternic, dar adesea greșit înțeles sau dezactivat din comoditate.

În acest articol vom explica ce este SELinux, cum funcționează, de ce provoacă erori aparent misterioase și dacă este o idee bună să-l dezactivezi.

Ce este SELinux?

SELinux (Security-Enhanced Linux) este un modul de securitate integrat în kernelul Linux, dezvoltat inițial de NSA și menținut în prezent de comunitatea open-source. Scopul său principal este să ofere un nivel suplimentar de protecție printr-un sistem numit Mandatory Access Control (MAC).

Pe scurt, SELinux controlează ce poate face fiecare proces, ce fișiere poate accesa și ce acțiuni sunt permise, chiar dacă procesul rulează cu drepturi de root.

De ce este SELinux diferit de permisiunile clasice Linux?

În mod tradițional, Linux folosește Discretionary Access Control (DAC), bazat pe:

  • owner
  • group
  • permisiuni (read, write, execute)

Problema apare atunci când:

  • un proces este compromis
  • o aplicație rulează cu prea multe drepturi
  • un atacator obține acces root

👉 SELinux limitează daunele, chiar și în aceste scenarii, pentru că aplică reguli stricte, independente de permisiunile clasice.

Cum funcționează SELinux?

SELinux funcționează pe bază de politici de securitate care definesc:

  • ce tip de proces poate accesa un anumit tip de fișier
  • ce acțiuni sunt permise sau blocate

Concept-cheie: etichetele (labels)

Fiecare:

  • fișier
  • director
  • proces
  • port

are asociată o etichetă SELinux (security context).

Exemplu:

system_u:system_r:httpd_t:s0

Această etichetă spune exact cine, ce este, și ce are voie să facă.

Modurile de funcționare SELinux

SELinux poate rula în trei moduri:

1. Enforcing (recomandat)

  • Regulile sunt aplicate strict
  • Accesul nepermis este blocat
  • Ideal pentru servere de producție

2. Permissive

  • Regulile nu sunt aplicate
  • Încălcările sunt doar logate
  • Foarte util pentru debugging

3. Disabled

  • SELinux este complet dezactivat
  • ❌ Nu este recomandat în producție

Poți verifica modul curent cu:

getenforce

De ce „strică” SELinux aplicațiile?

Mulți administratori dezactivează SELinux pentru că:

  • site-ul nu pornește
  • serviciul dă eroare 403
  • aplicația nu poate scrie într-un director

De cele mai multe ori, SELinux nu este problema, ci:

  • fișierele nu au eticheta corectă
  • aplicația încearcă să acceseze resurse nepermise
  • configurarea nu respectă politica de securitate

Exemplu clasic:

  • WordPress nu poate încărca fișiere
  • Apache nu poate accesa un director custom
  • PHP nu poate face conexiuni externe

Cum verifici dacă SELinux blochează ceva?

Primul pas este verificarea logurilor:

ausearch -m avc -ts recent

sau

journalctl -t setroubleshoot

Mesajele de tip AVC denied indică exact ce a fost blocat și de ce.

Soluții corecte (nu dezactivarea SELinux)

1. Setarea contextului corect

chcon -t httpd_sys_content_t /cale/director

sau permanent:

semanage fcontext -a -t httpd_sys_content_t "/cale/director(/.*)?"
restorecon -Rv /cale/director

2. Permisiuni speciale pentru aplicații web

Exemplu:

setsebool -P httpd_can_network_connect on

Ar trebui să dezactivezi SELinux?

Răspuns scurt: NU, decât în cazuri foarte bine justificate.

Dezactivarea SELinux:

  • reduce drastic securitatea
  • expune serverul la atacuri
  • este o practică proastă în producție

În schimb:

  • folosește modul permissive pentru testare
  • corectează etichetele și politicile
  • învață să interpretezi logurile

Distribuții care folosesc SELinux

SELinux este activ implicit în:

  • CentOS
  • Rocky Linux
  • AlmaLinux
  • Red Hat Enterprise Linux
  • Fedora

Pe Ubuntu, alternativa este AppArmor, un sistem similar, dar diferit ca abordare.

Concluzie

SELinux este unul dintre cele mai puternice mecanisme de securitate din Linux, dar și unul dintre cele mai neînțelese. Deși poate părea complicat la început, odată ce înțelegi conceptele de bază, devine un aliat extrem de valoros.

👉 Un server cu SELinux configurat corect este mult mai greu de compromis, chiar și atunci când alte măsuri de securitate eșuează.

Articole relevante

05 Jun2026

Ghid pentru Configurarea Zonei DNS

Citește mai departe
02 Jun2026

Cum să Menținem Site-urile la Zi

Citește mai departe
25 May2026

Errors în cPanel – Cum identifici și rezolvi rapid erorile de pe site

Citește mai departe
22 May2026

Când un plugin WordPress îți poate pune site-ul la pământ: riscuri, cauze și soluții

Citește mai departe
05 May2026

Port Forwarding în Linux

Citește mai departe
01 May2026

Ce înseamnă „Request Timeout” și cum îl rezolvi

Citește mai departe