Sieć i bezpieczeństwo Podstawowy+ 45 min

SELinux — podstawowe pojęcia

Poznasz podstawowe tryby SELinux, znaczenie kontekstów bezpieczeństwa oraz pierwsze komendy do sprawdzania stanu SELinux w systemach takich jak Rocky Linux.

Wróć do listy lekcji

1. Krótka teoria

SELinux to mechanizm kontroli dostępu, który działa obok klasycznych uprawnień Linuxa. Nawet jeśli użytkownik i uprawnienia pliku wyglądają poprawnie, SELinux może zablokować działanie, jeśli polityka bezpieczeństwa na to nie pozwala. W trybie enforcing SELinux egzekwuje reguły i blokuje niedozwolone akcje. W trybie permissive nie blokuje, ale zapisuje ostrzeżenia, co pomaga w diagnozie. Tryb disabled oznacza, że SELinux jest wyłączony. Ważnym pojęciem jest kontekst bezpieczeństwa, widoczny na przykład przez ls -Z. Kontekst opisuje między innymi typ obiektu, a polityka SELinux decyduje, które procesy mogą korzystać z danych typów plików. Początkujący administrator nie musi od razu pisać polityk SELinux, ale powinien umieć sprawdzić tryb pracy, status systemu i konteksty plików. W Rocky Linux SELinux jest istotną warstwą bezpieczeństwa, dlatego nie należy traktować wyłączenia go jako pierwszego rozwiązania problemu.

2. Przykłady komend

getenforce

Pokazuje bieżący tryb SELinux w krótkiej formie.

$ getenforce
sestatus

Wyświetla szczegółowy status SELinux.

$ sestatus
ls -Z

Pokazuje pliki z kontekstami bezpieczeństwa SELinux.

$ ls -Z
ls -Zd /var/www/html

Pokazuje kontekst bezpieczeństwa wskazanego katalogu.

$ ls -Zd /var/www/html
ps -eZ | head

Pokazuje przykładowe procesy razem z kontekstami SELinux.

$ ps -eZ | head
id -Z

Pokazuje kontekst SELinux aktualnego użytkownika, jeśli jest dostępny.

$ id -Z

3. Zadanie praktyczne

Na maszynie z SELinux wykonaj getenforce i sestatus. Zapisz, czy system działa w trybie enforcing, permissive czy disabled. Następnie uruchom ls -Z w katalogu domowym oraz ls -Zd /tmp, aby zobaczyć konteksty plików i katalogów. Jeśli masz katalog webowy w środowisku testowym, porównaj jego kontekst z kontekstem zwykłego pliku w katalogu domowym. Nie zmieniaj polityki ani nie wyłączaj SELinux w tym ćwiczeniu.

4. Typowe błędy

  • Traktowanie SELinux jako zwykłych uprawnień rwx.
  • Wyłączanie SELinux jako pierwsza reakcja na problem z usługą.
  • Pomijanie kontekstu pliku podczas diagnozowania dostępu.
  • Mylenie trybu permissive z całkowitym wyłączeniem SELinux.
  • Zakładanie, że poprawny właściciel pliku zawsze wystarcza aplikacji.
  • Ignorowanie faktu, że procesy także mają konteksty SELinux.

5. Podsumowanie

SELinux jest dodatkową warstwą kontroli dostępu. Tryb enforcing blokuje działania niezgodne z polityką, permissive głównie loguje naruszenia, a disabled oznacza wyłączenie mechanizmu. getenforce, sestatus i ls -Z pomagają rozpocząć diagnozę bez zmieniania konfiguracji bezpieczeństwa.

Flow nauki
  1. Teoria
  2. Przykład
  3. Ćwiczenie
  4. Quiz
  5. Praktyka
  6. Podsumowanie