Zum Inhalt springen

Linux/SELinux/04/03 Hauptkonfigurationsdatei: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 5: Zeile 5:
; Hauptkonfigurationsdatei
; Hauptkonfigurationsdatei
/etc/selinux/config
/etc/selinux/config
* Auf Debian und RHEL ist ''/etc/selinux/config'' die zentrale SELinux-Konfigurationsdatei.
* Auf Debian und RHEL ist ''/etc/selinux/config'' die zentrale SELinux-Konfigurationsdatei
* Die Datei steuert den dauerhaften SELinux-Status und den Namen der zu ladenden SELinux-Policy.
* Die Datei steuert den dauerhaften SELinux-Status und den Namen der zu ladenden SELinux-Policy
* Änderungen in dieser Datei werden in der Regel erst nach einem Neustart wirksam.
* Änderungen in dieser Datei werden in der Regel erst nach einem Neustart wirksam
* Temporäre Laufzeitwechsel zwischen ''enforcing'' und ''permissive'' erfolgen mit ''setenforce''.
* Temporäre Laufzeitwechsel zwischen ''enforcing'' und ''permissive'' erfolgen mit ''setenforce''


=== Beispielkonfiguration ===
=== Beispielkonfiguration ===
Zeile 17: Zeile 17:


; SELINUX=
; SELINUX=
Die Option '''SELINUX''' flegt fest, ob SELinux deaktiviert oder aktiviert ist und in welchem Modus es läuft.
Die Option '''SELINUX''' flegt fest, ob SELinux deaktiviert oder aktiviert ist und in welchem Modus es läuft


{| class="wikitable options big"
{| class="wikitable options big"
Zeile 26: Zeile 26:
| ''enforcing''
| ''enforcing''
| Die SELinux-Policy wird durchgesetzt. Zugriffe werden auf Grundlage der Policy-Regeln erlaubt oder verweigert. Verweigerungen werden protokolliert.
| Die SELinux-Policy wird durchgesetzt. Zugriffe werden auf Grundlage der Policy-Regeln erlaubt oder verweigert. Verweigerungen werden protokolliert.
| Geeigneter Modus für produktive Systeme.
| Geeigneter Modus für produktive Systeme
|-
|-
| ''permissive''
| ''permissive''
| Die SELinux-Policy bleibt geladen, wird aber nicht durchgesetzt. Zugriffe werden nicht blockiert, mögliche Verweigerungen jedoch protokolliert.
| Die SELinux-Policy bleibt geladen, wird aber nicht durchgesetzt. Zugriffe werden nicht blockiert, mögliche Verweigerungen jedoch protokolliert.
| Geeignet für Fehlersuche, Policy-Analyse und die schrittweise Aktivierung von SELinux.
| Geeignet für Fehlersuche, Policy-Analyse und die schrittweise Aktivierung von SELinux
|-
|-
| ''disabled''
| ''disabled''
| Es wird keine SELinux-Policy geladen. SELinux schützt das System in diesem Zustand nicht, und AVC-Meldungen werden nicht protokolliert.
| Es wird keine SELinux-Policy geladen. SELinux schützt das System in diesem Zustand nicht, und AVC-Meldungen werden nicht protokolliert.
| In aktueller Debian- und RHEL-Dokumentation wird dieser Eintrag als veraltete Methode zum dauerhaften Deaktivieren beschrieben. Für eine vollständige Deaktivierung wird ''selinux=0'' als Kernel-Parameter verwendet.
| In aktueller Debian- und RHEL-Dokumentation wird dieser Eintrag als veraltete Methode zum dauerhaften Deaktivieren beschrieben. Für eine vollständige Deaktivierung wird ''selinux=0'' als Kernel-Parameter verwendet
|}
|}


Praktisches Beispiel für einen temporären Wechsel in den Permissive-Modus:
Praktisches Beispiel für einen temporären Wechsel in den Permissive-Modus


<syntaxhighlight lang="bash" copy line highlight="1">
<syntaxhighlight lang="bash" copy line highlight="1">
Zeile 43: Zeile 43:
</syntaxhighlight>
</syntaxhighlight>


* Die Änderung durch ''setenforce'' gilt nur bis zum nächsten Neustart.
* Die Änderung durch ''setenforce'' gilt nur bis zum nächsten Neustart


; SELINUXTYPE=
; SELINUXTYPE=
Die Option '''SELINUXTYPE''' legt die zu verwendende SELinux-Policy fest.
Die Option '''SELINUXTYPE''' legt die zu verwendende SELinux-Policy fest


{| class="wikitable options big"
{| class="wikitable options big"
Zeile 54: Zeile 54:
|-
|-
| ''targeted''
| ''targeted''
| Standard-Policy mit gezielter Einschränkung ausgewählter Dienste und Domänen.
| Standard-Policy mit gezielter Einschränkung ausgewählter Dienste und Domänen
| Auf RHEL ist ''targeted'' die übliche Standard-Policy. Auf Debian ist der Wert gültig, wenn die entsprechende Policy installiert ist.
| Auf RHEL ist ''targeted'' die übliche Standard-Policy. Auf Debian ist der Wert gültig, wenn die entsprechende Policy installiert ist
|-
|-
| ''mls''
| ''mls''
Zeile 144: Zeile 144:
Red Hat Documentation:  
Red Hat Documentation:  
* https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/using_selinux/changing-selinux-states-and-modes
* https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/using_selinux/changing-selinux-states-and-modes
* https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/sect-security-enhanced_linux-working_with_selinux-main_configuration_file
 
Debian Manpages:
; Debian Manpages
* https://manpages.debian.org/testing/policycoreutils/selinux_config.5.en.html
* https://manpages.debian.org/testing/policycoreutils/selinux_config.5.en.html
* https://manpages.debian.org/testing/selinux-utils/selinux.8.en.html
* https://manpages.debian.org/testing/selinux-utils/selinux.8.en.html
* https://manpages.debian.org/testing/selinux-utils/getenforce.8.en.html
* https://manpages.debian.org/testing/selinux-utils/getenforce.8.en.html



Aktuelle Version vom 31. März 2026, 13:35 Uhr

Linux/SELinux/04/03 Hauptkonfigurationsdatei - Hauptkonfigurationsdatei

Beschreibung

Hauptkonfigurationsdatei

/etc/selinux/config

  • Auf Debian und RHEL ist /etc/selinux/config die zentrale SELinux-Konfigurationsdatei
  • Die Datei steuert den dauerhaften SELinux-Status und den Namen der zu ladenden SELinux-Policy
  • Änderungen in dieser Datei werden in der Regel erst nach einem Neustart wirksam
  • Temporäre Laufzeitwechsel zwischen enforcing und permissive erfolgen mit setenforce

Beispielkonfiguration

SELINUX=enforcing
SELINUXTYPE=targeted
SELINUX=

Die Option SELINUX flegt fest, ob SELinux deaktiviert oder aktiviert ist und in welchem Modus es läuft

Wert Wirkung Hinweis
enforcing Die SELinux-Policy wird durchgesetzt. Zugriffe werden auf Grundlage der Policy-Regeln erlaubt oder verweigert. Verweigerungen werden protokolliert. Geeigneter Modus für produktive Systeme
permissive Die SELinux-Policy bleibt geladen, wird aber nicht durchgesetzt. Zugriffe werden nicht blockiert, mögliche Verweigerungen jedoch protokolliert. Geeignet für Fehlersuche, Policy-Analyse und die schrittweise Aktivierung von SELinux
disabled Es wird keine SELinux-Policy geladen. SELinux schützt das System in diesem Zustand nicht, und AVC-Meldungen werden nicht protokolliert. In aktueller Debian- und RHEL-Dokumentation wird dieser Eintrag als veraltete Methode zum dauerhaften Deaktivieren beschrieben. Für eine vollständige Deaktivierung wird selinux=0 als Kernel-Parameter verwendet

Praktisches Beispiel für einen temporären Wechsel in den Permissive-Modus

setenforce 0
  • Die Änderung durch setenforce gilt nur bis zum nächsten Neustart
SELINUXTYPE=

Die Option SELINUXTYPE legt die zu verwendende SELinux-Policy fest

Wert Bedeutung Hinweis
targeted Standard-Policy mit gezielter Einschränkung ausgewählter Dienste und Domänen Auf RHEL ist targeted die übliche Standard-Policy. Auf Debian ist der Wert gültig, wenn die entsprechende Policy installiert ist
mls Multi-Level-Security-Policy mit zusätzlicher Trennung über Sicherheitsstufen. Spezialfall für MLS-Umgebungen.
policy_name Generischer Policy-Name. Debian dokumentiert SELINUXTYPE allgemein als Namen der installierten Policy unter /etc/selinux/{SELINUXTYPE}/.
  • Eine Änderung von SELINUXTYPE erfordert einen Neustart und kann zusätzlich ein Relabeling des Dateisystems notwendig machen.
  • Die zugehörige Policy muss installiert sein, bevor der Wert in SELINUXTYPE verwendet wird.

Aktuelle Konfiguration prüfen

Die laufende Konfiguration und die in der Datei hinterlegten Werte lassen sich direkt prüfen:

cat /etc/selinux/config
getenforce
sestatus
  • getenforce zeigt den aktuellen Modus: Enforcing, Permissive oder Disabled.
  • sestatus zeigt zusätzlich unter anderem die geladene Policy und den Modus aus der Konfigurationsdatei.

Modus ändern

Verwenden Sie das Dienstprogramm setenforce, um zwischen dem Durchsetzungs- und dem permissiven Modus zu wechseln

Mit setenforce vorgenommene Änderungen bleiben nach einem Neustart nicht erhalten

  • Um in den Durchsetzungsmodus zu wechseln, geben Sie als Linux-Root-Benutzer den Befehl setenforce 1 ein
  • Um in den permissiven Modus zu wechseln, geben Sie den Befehl setenforce 0 ein
SELinux-Modus anzeigen
sudo getenforce
Permissive
Permissive Modus setzen
sudo setenforce 0
sudo getenforce
Permissive
Enforcing Modus setzen
sudo setenforce 1
sudo getenforce
Enforcing
Permissiven Modus für Domänen

In Linux können Sie einzelne Domänen in den permissiven Modus versetzen, während das System im Enforcing-Modus läuft

Um etwa die Domäne httpd_t in den permissiven Modus zu versetzen

sudo semanage permissive -a httpd_t

Weitere Informationen finden Sie in Linux/SELinux/11_Fehlerbehebung/Lösungen#Permissive_Domänen

Hinweis
Dauerhafte Änderungen an Zuständen und Modi werden in Linux/SELinux/04/04 Dauerhafte Änderungen behandelt

Hinweise zur Änderung

  • Für dauerhafte Änderungen muss /etc/selinux/config angepasst und das System neu gestartet werden.
  • Soll SELinux auf einem System aktiviert werden, auf dem es zuvor deaktiviert war, ist permissive der sichere Zwischenschritt.
  • RHEL-Dokumentation konzentriert sich in der Grundkonfiguration meist auf SELINUX und SELINUXTYPE.
  • Debian-Manpages dokumentieren zusätzlich optionale Einträge wie AUTORELABEL= und REQUIRESEUSERS=.

Red Hat Documentation:

Debian Manpages