SELinux und AppArmor
Kurz: SELinux und AppArmor sind Zusatzschutz im Linux-Kernel: Sie legen fest, was ein Programm darf, selbst wenn es als Administrator läuft. Wird ein Dienst gehackt, bleibt der Schaden begrenzt.
Genauer: Das klassische Rechtesystem fragt „wem gehört die Datei?“. Mandatory Access Control (MAC) fragt zusätzlich „darf dieses Programm das überhaupt?“.
Im Detail
- SELinux: Von NSA und Red Hat. Jede Datei und jeder Prozess hat ein Label (Typ). Regeln erlauben bestimmte Zugriffe. Standard bei Fedora, RHEL, Rocky, Alma. Modi: enforcing, permissive, disabled.
getenforce,setenforce 0(vorübergehend), Meldungen mitausearch -m avcoderjournalctl. - AppArmor: Profile pro Programm mit Pfaden. Einfacher zu lesen. Standard bei Ubuntu, Debian, SUSE.
aa-status, Profile unter/etc/apparmor.d. - Gängige Probleme: Ein Dienst kann nicht auf ein Verzeichnis zugreifen, obwohl die Rechte stimmen: SELinux-Label prüfen (
ls -Z,restorecon). - Nicht abschalten: Besser Regel anpassen als SELinux ganz ausschalten.
- Weitere Mechanismen: Seccomp (erlaubte Systemaufrufe), Namespaces und cgroups bei Container unter Linux: Namespaces und cgroups.
Siehe auch: Benutzer, Gruppen und Dateirechte unter Linux, systemaufrufe-und-kernel-modus