Zum Inhalt springen

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

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=== Hauptkonfigurationsdatei ===
{{Navigation|Linux/SELinux/04/02 Protokolldateien|Linux/SELinux/04/04 Dauerhafte Änderungen}}
; [[/etc/selinux/config]]
'''Linux/SELinux/04/03 Hauptkonfigurationsdatei''' - Hauptkonfigurationsdatei
* Steuert, ob SELinux aktiviert oder deaktiviert ist und welcher SELinux-Modus sowie welche SELinux-Richtlinie verwendet wird
 
# Diese Datei steuert den Status von SELinux auf dem System
== Beschreibung ==
# SELINUX= kann einen dieser drei Werte annehmen
; Hauptkonfigurationsdatei
# enforcing Die SELinux-Sicherheitsrichtlinie wird durchgesetzt
/etc/selinux/config
# permissive SELinux gibt Warnungen aus, anstatt die Richtlinie durchzusetzen
* Auf Debian und RHEL ist ''/etc/selinux/config'' die zentrale SELinux-Konfigurationsdatei
# disabled Es wird keine SELinux-Richtlinie geladen
* Die Datei steuert den dauerhaften SELinux-Status und den Namen der zu ladenden SELinux-Policy
SELINUX=enforcing
* Änderungen in dieser Datei werden in der Regel erst nach einem Neustart wirksam
# SELINUXTYPE= kann einen dieser beiden Werte annehmen
* Temporäre Laufzeitwechsel zwischen ''enforcing'' und ''permissive'' erfolgen mit ''setenforce''
 
# targeted – Zielgerichtete Prozesse werden geschützt,
=== Beispielkonfiguration ===
# mls – Multi-Level-Security-Schutz
<syntaxhighlight lang="ini" copy line highlight="">
SELINUXTYPE=targeted
SELINUX=enforcing
SELINUXTYPE=targeted
</syntaxhighlight>
 
; SELINUX=
Die Option '''SELINUX''' flegt fest, ob SELinux deaktiviert oder aktiviert ist und in welchem Modus es läuft
 
{| class="wikitable options big"
! 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
 
<syntaxhighlight lang="bash" copy line highlight="1">
setenforce 0
</syntaxhighlight>


; <nowiki>[[SELINUX=]]</nowiki>
* Die Änderung durch ''setenforce'' gilt nur bis zum nächsten Neustart
Die Option <nowiki>[[SELINUX]]</nowiki> legt fest, ob SELinux deaktiviert oder aktiviert ist und in welchem Modus – enforcing oder permissive – es läuft
* Bei Verwendung von [[SELINUX=enforcing]] wird die SELinux-Richtlinie durchgesetzt, und SELinux verweigert den Zugriff auf Grundlage der SELinux-Richtlinienregeln
* Verweigerungsmeldungen werden protokolliert
* Bei Verwendung von [[SELINUX=permissive]] wird die SELinux-Richtlinie nicht durchgesetzt
* SELinux verweigert keinen Zugriff, aber Verweigerungen werden für Aktionen protokolliert, die verweigert worden wären, wenn SELinux im Durchsetzungsmodus laufen würde
* Bei Verwendung von [[SELINUX=disabled]] ist SELinux deaktiviert, das SELinux-Modul ist nicht beim Linux-Kernel registriert und es werden nur DAC-Regeln verwendet


; <nowiki>[[SELINUXTYPE=]]</nowiki>
; SELINUXTYPE=
Die Option [[SELINUXTYPE]] legt die zu verwendende SELinux-Richtlinie fest
Die Option '''SELINUXTYPE''' legt die zu verwendende SELinux-Policy fest
* Die Targeted-Richtlinie ist die Standardrichtlinie
* Ändern Sie diese Option nur, wenn Sie die MLS-Richtlinie verwenden möchten
* Informationen zum Aktivieren der MLS-Richtlinie finden Sie im Abschnitt „[[Aktivieren von MLS in SELinux]]“


{| class="wikitable options big"
! 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:
<syntaxhighlight lang="bash" copy line highlight="">
cat /etc/selinux/config
getenforce
sestatus
</syntaxhighlight>
* ''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
<syntaxhighlight lang="bash" highlight="1" copy>
sudo getenforce
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="">
Permissive
</syntaxhighlight>
; Permissive Modus setzen
<syntaxhighlight lang="bash" highlight="1" copy>
sudo setenforce 0
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="1" copy>
sudo getenforce
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="">
Permissive
</syntaxhighlight>
; Enforcing Modus setzen
<syntaxhighlight lang="bash" highlight="1" copy>
sudo setenforce 1
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="1" copy>
sudo getenforce
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="">
Enforcing
</syntaxhighlight>
; 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
<syntaxhighlight lang="bash" highlight="1" copy>
sudo semanage permissive -a httpd_t
</syntaxhighlight>
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=''.
== Weblinks ==
Red Hat Documentation:
* https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/using_selinux/changing-selinux-states-and-modes
; Debian Manpages
* 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/getenforce.8.en.html
----
{{Navigation|Linux/SELinux/04/02 Protokolldateien|Linux/SELinux/04/04 Dauerhafte Änderungen}}
{{Navigation|Linux/SELinux/04/02 Protokolldateien|Linux/SELinux/04/04 Dauerhafte Änderungen}}


[[Kategorie:Linux/SELinux/04]]
[[Kategorie:Linux/SELinux/04]]

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