Linux/SELinux/Grundlagen: Unterschied zwischen den Versionen
K Textersetzung - „Kategorie:SELinux“ durch „Kategorie:Linux/SELinux“ |
K Dirkwagner verschob die Seite SELinux/Grundlagen nach Linux/SELinux/Grundlagen, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „SELinux“ durch „Linux/SELinux“ |
(kein Unterschied)
| |
Version vom 26. März 2026, 11:14 Uhr
SELinux/Grundlagen
Beschreibung
DAC und MAC
DAC ist das klassische Unix-/Linux-Berechtigungsmodell. Der Zugriff auf eine Ressource wird im Wesentlichen über Eigentümer, Gruppe und Modusbits wie r, w und x gesteuert.
MAC verfolgt einen anderen Ansatz. Hier entscheidet nicht der Eigentümer eines Objekts, sondern eine zentral definierte Sicherheitsrichtlinie.
- Ein Zugriff ist nur dann erlaubt, wenn sowohl DAC als auch MAC ihn zulassen.
- Ein Prozess darf also nicht allein deshalb auf eine Ressource zugreifen, weil die klassischen Dateirechte dies zulassen.
Architektur
SELinux ist ein Linux Security Module (LSM), das in den Linux-Kernel integriert ist
- Das SELinux-Subsystem im Kernel wird von einer Sicherheitsrichtlinie gesteuert, die vom Administrator kontrolliert und beim Systemstart geladen wird
- Alle sicherheitsrelevanten Zugriffsvorgänge auf Kernel-Ebene im System werden von SELinux abgefangen und im Kontext der geladenen Sicherheitsrichtlinie geprüft
- Wenn die geladene Richtlinie den Vorgang zulässt, wird er fortgesetzt
- Andernfalls wird der Vorgang blockiert und der Prozess erhält eine Fehlermeldung
Installation
Die Standardkernel von Debian enthalten bereits SELinux-Unterstützung.
Mit den Paketen selinux-basics, selinux-policy-default und auditd wird die Grundkonfiguration für ein SELinux-System installiert.
AppArmor entfernen
Da auf Debian häufig bereits AppArmor verwendet wird, sollte es für dieses Szenario entfernt bzw. deaktiviert werden, damit ausschließlich SELinux als Linux Security Module verwendet wird.
sudo apt purge apparmor sudo reboot
SELinux installieren
sudo apt install selinux-basics selinux-policy-default auditd sudo apt install apache2 attr strace sudo reboot
Das Paket selinux-policy-default liefert die Standardregeln für Debian. Diese Policy beschränkt standardmäßig vor allem exponierte Systemdienste. Benutzer-Sessions laufen in der Voreinstellung meist weitgehend unconfined.
SELinux aktivieren
SELinux wird über Kernel-Parameter aktiviert. Dazu wird die GRUB-Konfiguration angepasst.
sudo nano /etc/default/grub
In GRUB_CMDLINE_LINUX oder GRUB_CMDLINE_LINUX_DEFAULT werden folgende Parameter ergänzt:
selinux=1 security=selinux
Dateisystem neu labeln
Damit vorhandene Dateien und Verzeichnisse korrekte SELinux-Labels erhalten, wird eine vollständige Relabel-Operation für den nächsten Systemstart vorgemerkt:
sudo touch /.autorelabel sudo reboot
Standardmäßig läuft SELinux im permissiven Modus
Funktion prüfen
SELinux-Status anzeigen:
getenforce sestatus
Nach dem Neustart kann geprüft werden, ob SELinux Zugriffe blockiert hat. Solche Ereignisse erscheinen als AVC-Denials im Audit-Log.
sudo grep AVC /var/log/audit/audit.log
AVC-Denials sind Meldungen, in denen SELinux eine angeforderte Operation eines Prozesses auf ein Objekt verweigert hat. Solche Einträge enthalten unter anderem den Quellkontext (scontext), den Zielkontext (tcontext) und die Objektklasse (tclass).