SELinux w praktyce – jak działa i dlaczego jest kluczowy dla bezpieczeństwa Linuksa
Linux

SELinux w praktyce – jak działa i dlaczego jest kluczowy dla bezpieczeństwa Linuksa

🔐 SELinux w praktyce – jak działa i dlaczego jest kluczowy dla bezpieczeństwa Linuksa

SELinux (Security-Enhanced Linux) to mechanizm kontroli dostępu opracowany przez NSA i udostępniony jako open-source. Jego zadaniem jest wdrożenie ścisłej kontroli nad procesami i plikami, dzięki czemu nawet w przypadku przejęcia aplikacji przez atakującego szkody są ograniczone do minimum. Choć wielu administratorów na początku wyłącza SELinux z powodu złożoności, to w praktyce jest to jedno z najpotężniejszych narzędzi do ochrony systemu Linux.


📌 Czym jest SELinux?

Standardowe mechanizmy uprawnień w Linuksie (rwx dla właściciela, grupy i innych) działają na zasadzie DAC (Discretionary Access Control) – użytkownik lub proces może samodzielnie decydować, co robić z plikami, które posiada. To jednak otwiera drzwi dla ataków – jeśli aplikacja zostanie przejęta, to atakujący może działać w jej zakresie uprawnień.

SELinux wprowadza MAC (Mandatory Access Control), czyli obowiązkową kontrolę dostępu, która narzuca polityki bezpieczeństwa niezależnie od właściciela pliku.


⚙️ Tryby pracy SELinux

  1. Enforcing – polityki bezpieczeństwa są wymuszane, każdy niedozwolony dostęp jest blokowany.
  2. Permissive – polityki nie są blokowane, ale logowane (przydatne do testowania).
  3. Disabled – SELinux jest wyłączony.

Sprawdzenie aktualnego trybu:

getenforce

Zmiana trybu tymczasowo (do restartu):

setenforce 0   # tryb Permissive
setenforce 1   # tryb Enforcing

🛡️ Jak działa kontrola w SELinux?

Każdy plik i proces w systemie ma kontekst bezpieczeństwa (security context), np.:

ls -Z /var/www/html/index.html

Może zwrócić coś takiego:

-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 index.html

Tutaj najważniejsze jest httpd_sys_content_t – czyli etykieta wskazująca, że plik jest przeznaczony do obsługi przez serwer Apache. Jeśli Apache spróbuje otworzyć plik o innym kontekście, SELinux może to zablokować.

Czytaj  Walka z wirusami szyfrującymi dane (ransomware) w Windows 11 (najnowsze trendy)

 

SELinux w praktyce – jak działa i dlaczego jest kluczowy dla bezpieczeństwa Linuksa
SELinux w praktyce – jak działa i dlaczego jest kluczowy dla bezpieczeństwa Linuksa

🔧 Rozwiązywanie problemów z SELinux

Częstym problemem administratorów jest sytuacja, gdy aplikacja działa poprawnie po wyłączeniu SELinux, ale przestaje w trybie Enforcing. Wtedy należy:

  1. Sprawdzić logi:
ausearch -m avc -ts recent

lub

journalctl | grep AVC
  1. Dostosować kontekst pliku:
semanage fcontext -a -t httpd_sys_content_t "/var/www/myapp(/.*)?"
restorecon -Rv /var/www/myapp
  1. Włączyć odpowiednie boolean (SELinux ma opcje konfiguracyjne dla popularnych usług):
getsebool -a | grep httpd
setsebool -P httpd_can_network_connect on

🚀 Dlaczego warto używać SELinux?

  • Ochrona przed exploitami – nawet jeśli aplikacja zostanie złamana, atakujący ma ograniczony dostęp.
  • Precyzyjna kontrola – reguły można dopasować do konkretnych usług i plików.
  • Standard w enterprise – dystrybucje takie jak RHEL, CentOS, Fedora mają SELinux domyślnie włączony.
  • Spełnianie wymagań compliance – w wielu środowiskach certyfikowanych SELinux jest obowiązkowy.

📖 Podsumowanie

SELinux to potężne narzędzie, które wymaga nauki i praktyki, ale daje niesamowite korzyści w zakresie bezpieczeństwa. Administratorzy, którzy zamiast go wyłączać nauczą się korzystać z jego funkcji, zyskują znacznie bardziej odporne systemy.

 

Polecane wpisy
Bezpieczeństwo systemów: Windows vs Linux vs Android
Bezpieczeństwo systemów: Windows vs Linux vs Android

🔐 Bezpieczeństwo systemów: Windows vs Linux vs Android Aby lepiej zrozumieć, jak różnią się systemy pod kątem zagrożeń i metod Czytaj dalej

Kontrola dostępu (DAC, MAC) w Linuxie: Kiedy uprawnienia zawodzą. Analiza słabości w zarządzaniu uprawnieniami
Kontrola dostępu (DAC, MAC) w Linuxie: Kiedy uprawnienia zawodzą. Analiza słabości w zarządzaniu uprawnieniami

🔐 Kontrola dostępu (DAC, MAC) w Linuxie: Kiedy uprawnienia zawodzą. Analiza słabości w zarządzaniu uprawnieniami 📘 Wprowadzenie Systemy Linux Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.