Sobes.tech
Middle+

Na CentOS Linux, jak zarządzasz ograniczeniem (limitatorami)? Czy jest zawsze wyłączony czy aktywny?

sobes.tech AI

Odpowiedź od AI

SeLinux (Security-Enhanced Linux) to mechanizm wymuszającej kontroli dostępu (MAC). Domyślnie jest aktywny i działa w jednym z następujących trybów:

  • Enforcing: Wymuszanie polityk bezpieczeństwa. Każda zabroniona operacja jest blokowana.
  • Permissive: Zabronione operacje nie są blokowane, ale generowane są ostrzeżenia i zapisywane w logach.
  • Disabled: SeLinux jest całkowicie wyłączony.

W praktyce staram się utrzymywać SeLinux w trybie Enforcing na serwerach produkcyjnych. To dodaje dodatkową warstwę bezpieczeństwa. Wyłączenie SeLinux to ostateczność, stosowana tylko do rozwiązywania problemów lub w specyficznych, w pełni kontrolowanych środowiskach.

Do zarządzania SeLinux używam następujących poleceń:

  • Sprawdzenie aktualnego statusu i trybu:
    sestatus
    # Status SeLinux i aktualny tryb
    
  • Przełączanie między trybami (bez restartu):
    setenforce 0 # Tryb permissive
    setenforce 1 # Tryb enforcing
    
  • Zmiana domyślnego trybu (wymaga restartu), edytując /etc/selinux/config:
    nano /etc/selinux/config
    # Zmienić SELINUX=enforcing na permissive lub disabled
    
  • Zarządzanie ustawieniami booleanów (zezwalają lub zabraniają określonych polityk):
    getsebool -a # Lista wszystkich booleanów
    setsebool -P <nazwa_boolean> on/off # Ustaw boolean na stałe (-P)
    

Przy konfigurowaniu nowych usług lub aplikacji, które są niekompatybilne z obecną polityką SeLinux, wolę tworzyć lub aktualizować lokalną politykę (moduł) zamiast całkowicie wyłączać SeLinux. To jest bezpieczniejsze podejście.

Kroki tworzenia lokalnej polityki:

  1. Zainstalować niezbędne narzędzia:
    yum install policycoreutils policycoreutils-python
    
  2. Ustawić SeLinux w tryb Permissive do monitorowania naruszeń:
    setenforce 0
    
  3. Wykonać działania powodujące naruszenia.
  4. Wygenerować politykę na podstawie logów audit.log:
    grep <nazwa_usługi> /var/log/audit/audit.log | audit2allow -M moja_politica_usluga
    
    gdzie <nazwa_usługi> to nazwa usługi powodującej naruszenia.
  5. Zainstalować wygenerowaną politykę:
    semodule -i moja_politica_usluga.pp
    
  6. Przywrócić SeLinux w tryb Enforcing:
    setenforce 1
    

W ten sposób, moja strategia to korzystanie z SeLinux w trybie Enforcing i dostosowywanie go w razie potrzeby.