Mandatory Access Control (MAC) ist ein Sicherheitsmodell, das den Zugriff auf Ressourcen strikt kontrolliert und durchsetzt. In diesem Beitrag zeigen wir die Hintergründe von MAC und wie es sich in der Praxis in Linux-Systemen einsetzen lässt.
AppArmor ist ein Mandatory Access Control-System für Linux und bietet eine flexible und leistungsfähige Methode, um die Sicherheit in Linux-Umgebungen zu erhöhen.
(Bild: Dall-E / KI-generiert)
Mandatory Access Control (MAC) unterscheidet sich von Discretionary Access Control (DAC) durch die zentrale Verwaltung und die Unabhängigkeit vom Benutzer. In Linux-Systemen spielt AppArmor eine bedeutende Rolle bei der Implementierung von MAC, indem es die Zugriffsrechte von Prozessen und Anwendungen steuert. AppArmor bietet eine flexible und leistungsfähige Methode, um die Sicherheit in Linux-Umgebungen zu erhöhen, indem es Profile erstellt, die definieren, welche Ressourcen ein Prozess nutzen darf.
Grundlagen von Mandatory Access Control
Der Hauptunterschied zwischen DAC und MAC liegt in der Art und Weise, wie Zugriffskontrollen verwaltet und durchgesetzt werden. Während DAC dem Besitzer der Ressource die Kontrolle über Zugriffsrechte überlässt, wird bei MAC die Zugriffskontrolle zentral verwaltet und ist für Benutzer nicht veränderbar. MAC bietet eine höhere Sicherheit, da es verhindern kann, dass Prozesse auf unerlaubte Weise auf Ressourcen zugreifen, selbst wenn sie von böswilligen Benutzern oder Malware gestartet werden.
Bildergalerie
Einführung in AppArmor
AppArmor ist ein Mandatory Access Control-System für Linux. Es wurde entwickelt, um die Sicherheit von Linux-Systemen zu erhöhen, indem es den Zugriff von Anwendungen auf das System einschränkt. Im Vergleich zu anderen MAC-Systemen wie SELinux ist AppArmor leichter zu konfigurieren und zu verwalten. Die Lösung arbeitet mit Profilen, die den Zugriff von Anwendungen auf Dateien, Netzwerke und andere Ressourcen beschreiben. Diese Profile können angepasst werden, um spezifische Sicherheitsanforderungen zu erfüllen.
Installation und Konfiguration von AppArmor
Die Installation von AppArmor ist auf verschiedenen Linux-Distributionen einfach durchzuführen. Auf Ubuntu erfolgt die Installation mittels des folgenden Befehls:
sudo apt-get install apparmor apparmor-utils
Nach der Installation muss AppArmor aktiviert werden. Dies geschieht durch den folgenden Befehl:
Um den Status von AppArmor zu überprüfen, dient der Befehl:
sudo apparmor_status
Die grundlegenden Konfigurationsdateien von AppArmor befinden sich im Verzeichnis "/etc/apparmor.d/". Hier werden die Profile gespeichert, die die Zugriffsrechte der Anwendungen definieren.
AppArmor-Profile nutzen
AppArmor-Profile definieren, welche Dateien und Ressourcen eine Anwendung nutzen darf. Diese Profile bestehen aus verschiedenen Sektionen, die spezifische Berechtigungen festlegen. Ein einfaches Profil für eine Anwendung könnte folgendermaßen aussehen:
Dieses Profil erlaubt der Anwendung "/usr/bin/example" das Lesen aller Dateien im Verzeichnis "/etc/example" und das Schreiben in das Verzeichnis "/var/log/example". Es gibt drei Modi für AppArmor-Profile: Enforce, Complain und Unconfined. Im Enforce-Modus wird das Profil strikt durchgesetzt, während im Complain-Modus nur Verstöße protokolliert, aber nicht blockiert werden. Der Unconfined-Modus bedeutet, dass die Anwendung nicht durch AppArmor eingeschränkt wird.
Verwaltung von AppArmor-Profilen
AppArmor bietet mehrere Tools zur Verwaltung von Profilen. Mit aa-genprof können neue Profile generiert werden:
sudo aa-genprof /usr/bin/example
Das Tool aa-logprof hilft beim Anpassen von Profilen basierend auf den Protokolldateien:
sudo aa-logprof
Mit aa-complain kann ein Profil in den Complain-Modus versetzt werden:
sudo aa-complain /usr/bin/example
Um ein Profil in den Enforce-Modus zu versetzen, wird aa-enforce verwendet:
sudo aa-enforce /usr/bin/example
Ein praktisches Beispiel ist die Erstellung eines Profils für einen Webserver. Nachdem der Webserver gestartet und der Traffic überwacht wurde, können mit aa-logprof die notwendigen Berechtigungen hinzugefügt werden, um den Betrieb abzusichern.
Erweiterte AppArmor-Funktionen
AppArmor kann nicht nur den Zugriff auf Dateien, sondern auch auf Netzwerkressourcen und Systemfähigkeiten (Capabilities) steuern. Das folgende Profil zeigt, wie Netzwerkzugriffe beschränkt werden können:
Hier wird der Zugriff auf Netzwerke beschränkt und nur TCP-Verbindungen erlaubt. Außerdem wird der Zugriff auf spezifische Verzeichnisse und Dateien geregelt. Die Integration von AppArmor mit anderen Sicherheitstools, wie Firewalls oder Intrusion Detection Systemen, kann die Gesamtsicherheit weiter erhöhen. AppArmor kann beispielsweise zusammen mit iptables verwendet werden, um sowohl Netzwerksicherheit als auch Anwendungssicherheit zu gewährleisten.
Bildergalerie
Praxisbeispiele und Anwendungsszenarien
In der Praxis kann AppArmor verwendet werden, um Webserver wie Apache oder Nginx abzusichern. Ein Profil für Nginx kann folgendermaßen aussehen:
Datenbankserver wie MySQL können ebenfalls durch AppArmor geschützt werden. Ein Beispielprofil für MySQL:
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Ein wichtiger Aspekt bei der Verwaltung von AppArmor ist die regelmäßige Überprüfung und Anpassung der Profile, um sicherzustellen, dass sie stets den aktuellen Sicherheitsanforderungen entsprechen. Hierbei kann das Tool aa-cleanprof nützlich sein, welches dazu dient, unnötige und veraltete Einträge aus den Profilen zu entfernen. Zudem bietet das Tool aa-notify eine Möglichkeit, Benachrichtigungen über AppArmor-Ereignisse in Echtzeit anzuzeigen, was besonders hilfreich ist, um sofort auf potenzielle Sicherheitsvorfälle zu reagieren.
Um die Effizienz der Profilverwaltung zu erhöhen, kann auch die Verwendung von AppArmor-Parsern wie apparmor_parser empfohlen werden, die Profile validieren und kompilieren, bevor sie aktiviert werden. Dies hilft, Syntaxfehler zu vermeiden und sicherzustellen, dass die Profile korrekt angewendet werden.
Ein weiterer Praxistipp ist die Integration von AppArmor in Continuous Integration/Continuous Deployment (CI/CD)-Pipelines, um automatisch Profile zu generieren und zu testen, bevor neue Anwendungen in die Produktionsumgebung übernommen werden. Dies gewährleistet, dass Sicherheitsrichtlinien von Anfang an berücksichtigt werden und kontinuierlich überprüft werden können.