AppArmor und SELinux sind Sicherheitsfunktionen, die Linux-Programme zusätzlich einschränken. Sie greifen erst dann ein, wenn ein Programm mehr tun will, als ausdrücklich erlaubt ist, und schützen so vor größeren Schäden nach einem Fehlverhalten oder einem Einbruch.

Unterschiede zwischen AppArmor und SELinux

AppArmor arbeitet mit Profilen für einzelne Programme: Ein Browser, ein Mailprogramm oder ein Serverdienst bekommt Regeln, die festlegen, welche Dateien, Ordner und Netzwerkzugriffe erlaubt sind. SELinux arbeitet mit Sicherheitslabels und einer strengeren, meist feineren Politik. Das macht SELinux mächtiger, aber auch deutlich komplexer in der Verwaltung.

AppArmor: Der unkomplizierte Türsteher (Standard bei Ubuntu und Debian)

Profile für Programme

Jeder wichtigen Anwendung (z. B. Browser, Webserver, Mailprogramm) wird ein AppArmor-Profil gegeben. In diesem Profil steht, was das Programm darf und was nicht: welche Dateien und Ordner es lesen oder schreiben darf, welche Netzwerkzugriffe erlaubt sind und vieles mehr.

Zugriffsrechte werden kontrolliert

AppArmor läuft als Teil des Linux-Kernels. Wenn ein Programm versucht, etwas zu tun (etwa eine Datei öffnen oder eine Verbindung ins Internet aufbauen), prüft AppArmor:

– Ist das im Profil erlaubt?
– Wenn nein: Der Zugriff wird blockiert und im Systemlog notiert.
– Wenn ja: Alles okay, das Programm darf weiterarbeiten.

Vorgefertigte und eigene Profile

Viele Standardprogramme auf Linux haben bereits fertig konfigurierte Profile, die mit der Distribution kommen. Administratoren können aber auch eigene Profile erstellen. Manche Systeme bieten zudem einen Lernmodus, der beobachtet, was ein Programm normalerweise macht, und daraus ein Profil vorschlägt.

Einfacher Ansatz: Pfad-basiert

AppArmor arbeitet vor allem mit Pfaden: „Programm X darf auf Datei Y im Ordner Z zugreifen, aber nicht auf Datei W.“ Das ist im Vergleich zu anderen Systemen einfacher zu verstehen und zu bearbeiten.

Still im Hintergrund

Für den normalen Anwender läuft AppArmor meist unsichtbar. Man merkt es vor allem, wenn ein Programm plötzlich nicht mehr funktioniert, weil ein Zugriff blockiert wurde. Dann steht im Log oft etwas wie „apparmor=DENIED“.

Kurz gesagt

AppArmor gibt jedem Programm eine begrenzte Liste von erlaubten Aktionen. Was nicht erlaubt ist, wird verboten und protokolliert. Das passiert direkt im Kernel, also auf der höchsten Systemebene.

SELinux: Ein starker Sicherheitswächter mit einem ausgefeilten Ausweis- und Labelsystem

Jedes Objekt und jeder Prozess bekommt Labels

In SELinux erhalten alle wichtigen Dinge ein Sicherheitslabel (Security Context):
– Jede Datei und jedes Verzeichnis
– Sogar Netzwerkports
– Jeder Prozess

Diese Labels bestehen meist aus mehreren Teilen, zum Beispiel: Benutzer, Rolle und Typ.

Type Enforcement – das Kernprinzip

SELinux nutzt vor allem das Prinzip Type Enforcement (TE). Das heißt grob:
– Jeder Prozess läuft in einer bestimmten Domäne (oft auch „Typ“ genannt).
– Jede Datei hat ebenfalls einen Typ.

Die Richtlinie (Policy) sagt dann: „Ein Prozess in Domäne X darf nur auf Dateien mit Typ Y zugreifen – und nur unter bestimmten Bedingungen.“

Zugriffe werden nach Regelwerk geprüft

Wenn ein Programm versucht, etwas zu tun (etwa eine Datei öffnen oder auf einen Port zugreifen), prüft SELinux:
– Ist die Kombination aus Prozess-Label und Objekt-Label in der Policy erlaubt?
– Wenn nein: Der Zugriff wird blockiert und protokolliert.
– Wenn ja: Der Zugriff wird freigegeben.

Mehr Kontrolle, aber auch mehr Aufwand

Im Vergleich zu AppArmor ist SELinux viel feingranularer: Man kann nicht nur „diese Datei“ regeln, sondern komplexe Kombinationen aus Benutzer, Rolle, Typ und sogar Level definieren. Das macht es sehr mächtig, aber auch deutlich komplizierter zu konfigurieren und zu pflegen.

Im Alltag unsichtbar, aber spürbar bei Blockaden

Für den normalen Anwender läuft SELinux meist still im Hintergrund. Wenn etwas blockiert wird, kommt oft eine eher vage Fehlermeldung, die nicht sofort klar sagt, was fehlt. Die Fehlersuche ist dann aufwendiger.

Beispiel aus der Praxis:

Ein typisches Beispiel ist ein Webserver (Apache):
– Alle Apache-Dateien bekommen den Typ „apache_t“.
– Der Apache-Prozess läuft in der Domäne „apache_t“.
– Wenn das System korrekt eingestellt ist, darf Apache nur auf Dateien mit Typ „apache_t“ zugreifen. Dateien mit anderen Typen (z. B. Postfix- oder Benutzerdaten) sind blockiert.

Kurz gesagt

SELinux erweitert das normale Linux-Berechtigungssystem um ein Label-basiertes, streng kontrolliertes Modell. Jeder Versuch, eine Ressource zu nutzen, wird gegen eine detaillierte Richtlinie geprüft. Was nicht passt, wird verboten und protokolliert.

Fazit

AppArmor und SELinux laufen auf aktuellen Linux-Systemen meist unauffällig im Hintergrund und erhöhen die Sicherheit deutlich, ohne dass der normale Anwender ständig eingreifen muss. Auf Debian, Ubuntu und Linux Mint begegnet man vor allem AppArmor, während AlmaLinux typischerweise auf SELinux setzt.

Für Einsteiger ist wichtig: Wenn ein Programm plötzlich wegen fehlender Rechte scheitert, steckt oft nicht ein Fehler des Programms selbst dahinter, sondern eine aktive Sicherheitsregel, die bewusst schützt.

Dieser Beitrag kann das Thema nur als grobe Übersicht einordnen und nicht in allen technischen Details vollständig erläutern.

Titelbild: Designed by Magnific

Categories:

Schreibe einen Kommentar

Noch keine Reaktion

Neue Themen im Forum
passwortverschlüsselte Dateien od …zebolon, ich mache alles mit Boardmitteln. Das hier habe ich … Weiterlesen
XNView Zugriff auf externes Laufw …"Eine" solltet wine lauten. Sorry. Weiterlesen
Statistik für den Mai 2026Die Entwicklung im WIKI im Mai 2026 Der Mai ist offensichtlich … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

Juni 2026
M D M D F S S
1234567
891011121314
15161718192021
22232425262728
2930  
Archiv