|
|
| (5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| '''SELinux/Grundlagen'''
| | #WEITERLEITUNG [[Linux/SELinux/01 Einführung]] |
| | |
| == 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).
| |
| | |
| [[Kategorie:SELinux]]
| |