{"id":23815,"date":"2026-06-11T15:24:45","date_gmt":"2026-06-11T13:24:45","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=23815"},"modified":"2026-06-11T15:24:47","modified_gmt":"2026-06-11T13:24:47","slug":"apparmor-und-selinux-linux-sicherheit-im-alltag","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2026\/06\/11\/apparmor-und-selinux-linux-sicherheit-im-alltag\/","title":{"rendered":"AppArmor und SELinux \u2013 Linux-Sicherheit im Alltag"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>AppArmor<\/strong> und <strong>SELinux<\/strong> sind Sicherheitsfunktionen, die Linux-Programme zus\u00e4tzlich einschr\u00e4nken. Sie greifen erst dann ein, wenn ein Programm mehr tun will, als ausdr\u00fccklich erlaubt ist, und sch\u00fctzen so vor gr\u00f6\u00dferen Sch\u00e4den nach einem Fehlverhalten oder einem Einbruch.<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Unterschiede zwischen AppArmor und SELinux<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AppArmor arbeitet mit Profilen f\u00fcr 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\u00e4chtiger, aber auch deutlich komplexer in der Verwaltung.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">AppArmor: Der unkomplizierte T\u00fcrsteher (Standard bei Ubuntu und Debian)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Profile f\u00fcr Programme<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Zugriffsrechte werden kontrolliert<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AppArmor l\u00e4uft als Teil des Linux-Kernels. Wenn ein Programm versucht, etwas zu tun (etwa eine Datei \u00f6ffnen oder eine Verbindung ins Internet aufbauen), pr\u00fcft AppArmor:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; Ist das im Profil erlaubt?<br>&#8211; Wenn nein: Der Zugriff wird blockiert und im Systemlog notiert.<br>&#8211; Wenn ja: Alles okay, das Programm darf weiterarbeiten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorgefertigte und eigene Profile<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Viele Standardprogramme auf Linux haben bereits fertig konfigurierte Profile, die mit der Distribution kommen. Administratoren k\u00f6nnen aber auch eigene Profile erstellen. Manche Systeme bieten zudem einen Lernmodus, der beobachtet, was ein Programm normalerweise macht, und daraus ein Profil vorschl\u00e4gt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Einfacher Ansatz: Pfad-basiert<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AppArmor arbeitet vor allem mit Pfaden: \u201eProgramm X darf auf Datei Y im Ordner Z zugreifen, aber nicht auf Datei W.\u201c Das ist im Vergleich zu anderen Systemen einfacher zu verstehen und zu bearbeiten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Still im Hintergrund<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr den normalen Anwender l\u00e4uft AppArmor meist unsichtbar. Man merkt es vor allem, wenn ein Programm pl\u00f6tzlich nicht mehr funktioniert, weil ein Zugriff blockiert wurde. Dann steht im Log oft etwas wie \u201eapparmor=DENIED\u201c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Kurz gesagt<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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\u00f6chsten Systemebene.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">SELinux: Ein starker Sicherheitsw\u00e4chter mit einem ausgefeilten Ausweis- und Labelsystem<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Jedes Objekt und jeder Prozess bekommt Labels<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In SELinux erhalten alle wichtigen Dinge ein Sicherheitslabel (Security Context):<br>&#8211; Jede Datei und jedes Verzeichnis<br>&#8211; Sogar Netzwerkports<br>&#8211; Jeder Prozess<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Labels bestehen meist aus mehreren Teilen, zum Beispiel: Benutzer, Rolle und Typ.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Type Enforcement \u2013 das Kernprinzip<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SELinux nutzt vor allem das Prinzip <strong>Type Enforcement (TE)<\/strong>. Das hei\u00dft grob:<br>&#8211; Jeder Prozess l\u00e4uft in einer bestimmten Dom\u00e4ne (oft auch \u201eTyp\u201c genannt).<br>&#8211; Jede Datei hat ebenfalls einen Typ.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Richtlinie (Policy) sagt dann: \u201eEin Prozess in Dom\u00e4ne X darf nur auf Dateien mit Typ Y zugreifen \u2013 und nur unter bestimmten Bedingungen.\u201c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Zugriffe werden nach Regelwerk gepr\u00fcft<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn ein Programm versucht, etwas zu tun (etwa eine Datei \u00f6ffnen oder auf einen Port zugreifen), pr\u00fcft SELinux:<br>&#8211; Ist die Kombination aus Prozess-Label und Objekt-Label in der Policy erlaubt?<br>&#8211; Wenn nein: Der Zugriff wird blockiert und protokolliert.<br>&#8211; Wenn ja: Der Zugriff wird freigegeben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Mehr Kontrolle, aber auch mehr Aufwand<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Vergleich zu AppArmor ist SELinux viel feingranularer: Man kann nicht nur \u201ediese Datei\u201c regeln, sondern komplexe Kombinationen aus Benutzer, Rolle, Typ und sogar Level definieren. Das macht es sehr m\u00e4chtig, aber auch deutlich komplizierter zu konfigurieren und zu pflegen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Im Alltag unsichtbar, aber sp\u00fcrbar bei Blockaden<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr den normalen Anwender l\u00e4uft 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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beispiel aus der Praxis:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein typisches Beispiel ist ein Webserver (Apache):<br>&#8211; Alle Apache-Dateien bekommen den Typ \u201eapache_t\u201c.<br>&#8211; Der Apache-Prozess l\u00e4uft in der Dom\u00e4ne \u201eapache_t\u201c.<br>&#8211; Wenn das System korrekt eingestellt ist, darf Apache nur auf Dateien mit Typ \u201eapache_t\u201c zugreifen. Dateien mit anderen Typen (z. B. Postfix- oder Benutzerdaten) sind blockiert.<br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Kurz gesagt<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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\u00fcft. Was nicht passt, wird verboten und protokolliert.<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Fazit<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AppArmor und SELinux laufen auf aktuellen Linux-Systemen meist unauff\u00e4llig im Hintergrund und erh\u00f6hen die Sicherheit deutlich, ohne dass der normale Anwender st\u00e4ndig eingreifen muss. Auf Debian, Ubuntu und Linux Mint begegnet man vor allem AppArmor, w\u00e4hrend AlmaLinux typischerweise auf SELinux setzt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr Einsteiger ist wichtig: Wenn ein Programm pl\u00f6tzlich wegen fehlender Rechte scheitert, steckt oft nicht ein Fehler des Programms selbst dahinter, sondern eine aktive Sicherheitsregel, die bewusst sch\u00fctzt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Beitrag kann das Thema nur als grobe \u00dcbersicht einordnen und nicht in allen technischen Details vollst\u00e4ndig erl\u00e4utern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Titelbild: <a href=\"https:\/\/www.magnific.com\/\" data-type=\"link\" data-id=\"https:\/\/www.magnific.com\/\">Designed by Magnific<\/a><\/p>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"23815\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">17    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"23815\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\"><\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>AppArmor und SELinux sind Sicherheitsfunktionen, die Linux-Programme zus\u00e4tzlich einschr\u00e4nken. Sie greifen erst dann ein, wenn ein Programm mehr tun will, als ausdr\u00fccklich erlaubt ist, und sch\u00fctzen so vor gr\u00f6\u00dferen Sch\u00e4den nach einem Fehlverhalten oder einem Einbruch. Unterschiede zwischen AppArmor und SELinux AppArmor arbeitet mit Profilen f\u00fcr einzelne Programme: Ein Browser, ein Mailprogramm oder ein Serverdienst [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":23805,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72],"tags":[1577,1576],"class_list":["post-23815","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit","tag-apparmor","tag-selinux"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/23815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=23815"}],"version-history":[{"count":8,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/23815\/revisions"}],"predecessor-version":[{"id":23912,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/23815\/revisions\/23912"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/23805"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=23815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=23815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=23815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}