Zum Inhalt springen

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

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
=== Hauptkonfigurationsdatei ===
=== Hauptkonfigurationsdatei ===
; [[/etc/selinux/config]]
; ''/etc/selinux/config''
* Steuert, ob SELinux aktiviert oder deaktiviert ist und welcher SELinux-Modus sowie welche SELinux-Richtlinie verwendet wird
* Auf Debian und RHEL ist ''/etc/selinux/config'' die zentrale SELinux-Konfigurationsdatei.
# Diese Datei steuert den Status von SELinux auf dem System
* Die Datei steuert den dauerhaften SELinux-Status und den Namen der zu ladenden SELinux-Policy.
# SELINUX= kann einen dieser drei Werte annehmen
* Änderungen in dieser Datei werden in der Regel erst nach einem Neustart wirksam.
# enforcing – Die SELinux-Sicherheitsrichtlinie wird durchgesetzt
* Temporäre Laufzeitwechsel zwischen ''enforcing'' und ''permissive'' erfolgen mit ''setenforce''.
# permissive – SELinux gibt Warnungen aus, anstatt die Richtlinie durchzusetzen
# disabled – Es wird keine SELinux-Richtlinie geladen
SELINUX=enforcing
# SELINUXTYPE= kann einen dieser beiden Werte annehmen
# targeted – Zielgerichtete Prozesse werden geschützt,
# mls – Multi-Level-Security-Schutz
SELINUXTYPE=targeted


; <nowiki>[[SELINUX=]]</nowiki>
=== Beispielkonfiguration ===
Die Option <nowiki>[[SELINUX]]</nowiki> legt fest, ob SELinux deaktiviert oder aktiviert ist und in welchem Modus – enforcing oder permissive – es läuft
<syntaxhighlight lang="ini" copy line highlight="">
* Bei Verwendung von [[SELINUX=enforcing]] wird die SELinux-Richtlinie durchgesetzt, und SELinux verweigert den Zugriff auf Grundlage der SELinux-Richtlinienregeln
SELINUX=enforcing
* Verweigerungsmeldungen werden protokolliert
SELINUXTYPE=targeted
* Bei Verwendung von [[SELINUX=permissive]] wird die SELinux-Richtlinie nicht durchgesetzt
</syntaxhighlight>
* 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>
; SELINUX=
Die Option [[SELINUXTYPE]] legt die zu verwendende SELinux-Richtlinie fest
Die Option <nowiki>[[SELINUX]]</nowiki> legt fest, ob SELinux deaktiviert oder aktiviert ist und in welchem Modus es läuft.
* Die Targeted-Richtlinie ist die Standardrichtlinie
 
* Ändern Sie diese Option nur, wenn Sie die MLS-Richtlinie verwenden möchten
{| class="wikitable options big"
* Informationen zum Aktivieren der MLS-Richtlinie finden Sie im Abschnitt „[[Aktivieren von MLS in SELinux]]“
! 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>
 
* Die Änderung durch ''setenforce'' gilt nur bis zum nächsten Neustart.
 
; SELINUXTYPE=
Die Option '''SELINUXTYPE''' legt die zu verwendende SELinux-Policy fest.
 
{| 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.
 
=== 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=''.


{{Navigation|Linux/SELinux/04/02 Protokolldateien|Linux/SELinux/04/04 Dauerhafte Änderungen}}
{{Navigation|Linux/SELinux/04/02 Protokolldateien|Linux/SELinux/04/04 Dauerhafte Änderungen}}


== Weblinks ==
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/7/html/selinux_users_and_administrators_guide/sect-security-enhanced_linux-working_with_selinux-main_configuration_file
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


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

Version vom 30. März 2026, 01:41 Uhr

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]] legt 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.

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: