Sobes.tech
Middle+

Auf CentOS Linux, wie verwalten Sie die Begrenzung (Limitierer)? Ist sie immer deaktiviert oder aktiv?

sobes.tech KI

Antwort von AI

SeLinux (Security-Enhanced Linux) ist ein Mechanismus zur obligatorischen Zugriffskontrolle (MAC). Standardmäßig ist es aktiviert und läuft in einem der folgenden Modi:

  • Enforcing: Durchsetzung von Sicherheitsrichtlinien. Jede verbotene Operation wird blockiert.
  • Permissive: Verbote Operationen nicht, sondern erzeugt Warnungen und protokolliert sie.
  • Disabled: SeLinux ist vollständig deaktiviert.

In der Praxis versuche ich, SeLinux im Enforcing-Modus auf Produktionsservern aktiv zu halten. Dies fügt eine zusätzliche Sicherheitsebene hinzu. Das Deaktivieren von SeLinux ist eine extreme Maßnahme, die nur zur Fehlerbehebung oder in spezifischen, vollständig kontrollierten Umgebungen angewendet wird.

Zur Verwaltung von SeLinux verwende ich folgende Befehle:

  • Überprüfung des aktuellen Status und Modus:
    sestatus
    # SeLinux-Status und aktueller Modus
    
  • Wechsel zwischen Modi (ohne Neustart):
    setenforce 0 # Permissiver Modus
    setenforce 1 # Enforcing-Modus
    
  • Änderung des Standardmodus (erfordert Neustart), Bearbeitung von /etc/selinux/config:
    nano /etc/selinux/config
    # Ändern von SELINUX=enforcing zu permissive oder disabled
    
  • Verwaltung von booleschen Einstellungen (erlauben oder verbieten bestimmte Richtlinien):
    getsebool -a # Alle Boolean auflisten
    setsebool -P <boolean_name> on/off # Boolean dauerhaft setzen (-P)
    

Bei der Konfiguration neuer Dienste oder Anwendungen, die mit der aktuellen SeLinux-Politik nicht kompatibel sind, bevorzuge ich es, eine lokale Politik (Modul) zu erstellen/aktualisieren, anstatt SeLinux vollständig zu deaktivieren. Dies ist ein sichererer Ansatz.

Schritte zur Erstellung einer lokalen Politik:

  1. Notwendige Utilities installieren:
    yum install policycoreutils policycoreutils-python
    
  2. SeLinux in den Permissive-Modus versetzen, um Verstöße zu überwachen:
    setenforce 0
    
  3. Die Aktionen ausführen, die Verstöße verursachen.
  4. Eine Politik basierend auf den Logs audit.log generieren:
    grep <service_name> /var/log/audit/audit.log | audit2allow -M my_service_policy
    
    wobei <service_name> der Name des Dienstes ist, der Verstöße verursacht.
  5. Die generierte Politik installieren:
    semodule -i my_service_policy.pp
    
  6. SeLinux wieder in den Enforcing-Modus versetzen:
    setenforce 1
    

Auf diese Weise ist meine Strategie, SeLinux im Enforcing-Modus zu verwenden und es bei Bedarf anzupassen.