Linux/SELinux/04/03 Hauptkonfigurationsdatei: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
{{Navigation|Linux/SELinux/04/02 Protokolldateien|Linux/SELinux/04/04 Dauerhafte Änderungen}} | {{Navigation|Linux/SELinux/04/02 Protokolldateien|Linux/SELinux/04/04 Dauerhafte Änderungen}} | ||
'''Linux/SELinux/04/03 Hauptkonfigurationsdatei''' | '''Linux/SELinux/04/03 Hauptkonfigurationsdatei''' - Hauptkonfigurationsdatei | ||
== Beschreibung == | == Beschreibung == | ||
; 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 | ||
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/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=.
Weblinks
Red Hat Documentation:
- 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