Despre Linux

  • Facebook
  • Twitter
  • LinkedIn
  • Acasă
  • Linux
    • Comenzi Linux
    • Tutoriale
  • Kubernetes
  • RHCSA
    • Exerciții RHCSA
    • SELinux
    • Permisiuni
  • General
    • Open source
  • Contact

Moduri de lucru SELinux

25 august 2018 By Bobses Lasă un comentariu

SELinux poate fi dezactivat complet, sau poate rula în modul pasiv (permissive) sau activ (enforcing). Așadar, înainte de a începe să folosim SELinux, trebuie să înțelegem aceste 3 moduri de lucru.

SELinux dezactivat (disabled)

În modul dezactivat (disabled), SELinux este oprit. Aceasta înseamnă că niciun obiect linux nu este etichetat, adică nu are atașat un context de securitate, neaplicându-se nicio politică de securitate pentru SELinux. În această situație, straturile de securitate sunt doar de tipul DAC (exemplu: firewall, ugo+rwx).

SELinux permisiv/pasiv (permissive)

În modul permisiv (permissive), tuturor obiectelor Linux li se aplică etichete iar un anumit tip de politică este folosit. Trebuie reținut că, în acest mod de lucru, se execută doar monitorizarea și logarea breșelor de securitate în fișierele log, neaplicându-se interzicerea accesului la interacționarea unui obiect Linux cu altul.

Fișierul log este localizat la /var/log/audit/audit.log.

Cu alte cuvinte, SELinux este doar observator, fără să blocheze nimic. În fișierul log menționat anterior ar trebui să vedem ce ar fi putut să blocheze SELinux dacă ar fi fost activat.

SELinux activ (enforcing)

Face tot ceea ce am menționat la modul de lucru permisiv și, în plus, blochează activ accesul la anumite obiecte Linux atunci când detectează o breșă de securitate.

Vizualizare mod curent de lucru SELinux

Pentru a vedea modul curent SELinux, folosim una din următoarele comenzi:

  • comanda getenforce

$ getenforce
Enforcing

  • comanda sestatus

$ sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing --> acesta este modul care va fi păstrat după reboot-ul mașinii
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 31

Schimbare mod de lucru SELinux

Pentru a schimba modul de lucru din permissive în enforcing (sau invers) doar pentru sesiunea curentă, se folosește comanda setenforce:

# setenforce permissive
# getenforce
Permissive

De reținut! Schimbarea modului de lucru SELinux folosind comanda setenforce NU este persistentă și NU va supraviețui unui reboot!

Folosind, din nou, comanda sestatus, putem vedea care este modul de lucru curent și care va fi modul de lucru după reboot:

# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive --> mod de lucru curent
Mode from config file: enforcing --> mod de lucru DUPĂ reboot
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 31

Pentru a face aceste schimbări permanente (persistente), trebuie editat fișierul de configurare SELinux, localizat la /etc/selinux/config:

# vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive --> schimbarea acestei linii va rezista unui restart al sistemului!
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

Comenzile menționate mai sus pot fi urmărite "în acțiune" în imaginea următoare:

comenzi-status-selinux

Vizualizarea contextului de securitate SELinux pentru un obiect poate fi făcută folosind comanda ls cu opțiunea -Z:

# ls -lZ fisier-test.txt
-rw-r--r--. 1 root root unconfined_u:object_r:user_home_t:s0 0 Aug 25 10:01 fisier-test.txt

Dezactivarea SELinux

Dezactivarea completă a SELinux nu se poate face cu comanda setenforce, ci doar prin editarea fișierului de configurare /etc/selinux/config, urmată de un restart al mașinii.

În modul de lucru dezactivat, fișierele nu mai sunt etichetate cu contextul SELinux:

cat /etc/selinux/config | grep "^SELINUX="
SELINUX=disabled

# urmează un restart al sistemului:

$ getenforce
Disabled
$ ls -lZ fisier-test.txt
-rw-r--r-- root root ? fisier-test.txt

Semnul ? indică faptul că acest obiect nu are context de securitate SELinux.

Dacă restartăm sistemul după activarea Security-Enhanced Linux din disabled în permissive/enforcing, e posibil ca timpul de reboot să fie mai mare, deoarece SELinux scanează întreaga mașină pentru a descoperi obiecte neetichetate (cum este cel de mai sus) și aplicarea etichetei corespunzătoare.

Partajează asta:

  • Dă clic pentru a partaja pe Facebook(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe LinkedIn(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe Twitter(Se deschide într-o fereastră nouă)

Similare

Din categoria: SELinux Etichete: RHCSA, SELinux

Lasă un răspuns Anulează răspunsul

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Copyright © 2023 · Bobses

Administrează consimțămintele pentru cookie-uri
Pentru a oferi cea mai bună experiență, folosim tehnologii, cum ar fi cookie-uri, pentru a stoca și/sau accesa informațiile despre dispozitive. Consimțământul pentru aceste tehnologii ne permite să procesăm date, cum ar fi comportamentul de navigare sau ID-uri unice pe acest site. Dacă nu îți dai consimțământul sau îți retragi consimțământul dat poate avea afecte negative asupra unor anumite funcționalități și funcții.
Funcționale Mereu activ
Stocarea tehnică sau accesul sunt strict necesare în scopul legitim de a permite utilizarea unui anumit serviciu cerut în mod explicit de către un abonat sau un utilizator sau în scopul exclusiv de a executa transmiterea unei comunicări printr-o rețea de comunicații electronice.
Preferințe
Stocarea tehnică sau accesul este necesară în scop legitim pentru stocarea preferințelor care nu sunt cerute de abonat sau utilizator.
Statistici
Stocarea tehnică sau accesul care sunt utilizate exclusiv în scopuri statistice. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
Stocarea tehnică sau accesul sunt necesare pentru a crea profiluri de utilizator pentru a trimite publicitate sau pentru a urmări utilizatorul pe un site web sau pe mai multe site-uri web în scopuri de marketing similare.
Administrează opțiunile Administrează serviciile Administrează vânzătorii Citește mai multe despre aceste scopuri
Vizualizează preferințele
{title} {title} {title}