Obsługa Secure Linux (SELinux)
SELinux, czyli Security-Enhanced Linux, to mechanizm kontroli dostępu w jądrze systemu Linux, który wprowadza dodatkowe warstwy zabezpieczeń. SELinux został opracowany przez NSA (National Security Agency) i został włączony do jądra Linux w celu zwiększenia poziomu bezpieczeństwa systemu operacyjnego. Poniżej przedstawiam podstawowe informacje na temat obsługi SELinux:
1. Podstawowe Pojęcia:
- Policies (Polityki): SELinux opiera się na politykach, które definiują, które procesy mają dostęp do konkretnych zasobów systemowych.
- Context (Kontekst): Każdy obiekt w systemie (plik, proces, gniazdo sieciowe itp.) ma przypisany kontekst, który określa, do jakiej klasy zasobów ma dostęp.
2. Stan SELinux:
Aby sprawdzić stan SELinux, można użyć polecenia:
bash sestatus
Wynik pokaże, czy SELinux jest włączony, wyłączony lub pracuje w trybie egzekwowania.
3. Zmiana Stanu SELinux:
Aby tymczasowo wyłączyć SELinux, można użyć polecenia:
bash setenforce 0
Aby ponownie włączyć SELinux:
bash setenforce 1
4. Zarządzanie Polityką SELinux:
Narzędzie semanage umożliwia zarządzanie polityką SELinux. Instalacja narzędzia:
bash sudo yum install policycoreutils-python
(dla systemów opartych na Yum)
sudo apt-get install policycoreutils (dla systemów opartych na APT)
Przykład dodawania reguły dla portu:
bash semanage port -a -t http_port_t -p tcp 8080
5. Przegląd Logów SELinux:
- Logi SELinux są przechowywane w pliku /var/log/audit/audit.log.
- Aby przeglądać logi SELinux, można użyć polecenia ausearch lub sealert.
6. Debugowanie SELinux:
Jeśli SELinux blokuje dostęp do zasobów, można użyć trybu debugowania, który umożliwia analizę zdarzeń SELinux.
bash setsebool -P selinuxuser_debug=1
7. Zmiana Kontekstu:
Aby zmienić kontekst SELinux dla pliku lub katalogu, można użyć polecenia chcon.
bash chcon -t httpd_sys_content_t /var/www/html/index.html
8. Przywracanie Początkowej Polityki:
W przypadku problemów z własnymi modyfikacjami polityki można przywrócić domyślną politykę SELinux.
bash restorecon -R /path/to/directory
9. Zasady Boole'a:
- SELinux używa zasad Boole'a do kontrolowania pewnych funkcji. Można użyć getsebool i setsebool do zarządzania zasadami Boole'a.
SELinux dostarcza zaawansowaną warstwę zabezpieczeń, ale wymaga pewnego nakładu pracy w zakresie zarządzania polityką i debugowania problemów związanych z dostępem do zasobów. Warto zaznajomić się z dokumentacją SELinux oraz korzystać z dostępnych narzędzi, aby skonfigurować go zgodnie z wymaganiami bezpieczeństwa system