AppArmor ist ein Mandatory Access Control (MAC)-System, das speziell auf Ubuntu und anderen Debian-basierten Linux-Distributionen weit verbreitet ist. Im Gegensatz zu SELinux arbeitet AppArmor profilbasiert und erlaubt eine granulare Steuerung, welche Ressourcen eine Anwendung nutzen darf. Durch korrekt konfigurierte Profile können Angriffsflächen reduziert und unautorisierte Aktionen verhindert werden, ohne den normalen Betrieb von Diensten zu stören.
Grundlagen von AppArmor
AppArmor funktioniert über Profile, die Prozessen bestimmte Rechte zuweisen. Jedes Profil definiert, auf welche Dateien, Verzeichnisse, Netzwerkressourcen und Systemaufrufe ein Programm zugreifen darf.
- Enforce Mode: Das Profil wird strikt durchgesetzt. Nicht erlaubte Aktionen werden blockiert.
- Complain Mode: Aktionen, die gegen das Profil verstoßen, werden protokolliert, aber nicht blockiert. Ideal für Test und Debugging.
- Disabled: Das Profil wird nicht angewendet.
AppArmor-Status prüfen
Bevor Profile aktiviert oder angepasst werden, sollte der aktuelle Status von AppArmor überprüft werden:
# Status der AppArmor-Profile anzeigen
sudo aa-status
Die Ausgabe zeigt aktive Profile, Profile im Complain Mode und inaktiven Dienste an.
Profile aktivieren
AppArmor-Profile liegen in /etc/apparmor.d/ und können für einzelne Anwendungen aktiviert werden:
# Beispiel: Profil für /usr/sbin/sshd aktivieren
sudo aa-enforce /etc/apparmor.d/usr.sbin.sshd
Complain Mode aktivieren
sudo aa-complain /etc/apparmor.d/usr.sbin.sshd
Profile können sowohl systemweit als auch benutzerdefiniert erstellt werden. Für neue Anwendungen empfiehlt es sich, zunächst Complain Mode zu nutzen und die Logs zu überprüfen, bevor man auf Enforce Mode wechselt.
Logs und Troubleshooting
Verstöße gegen AppArmor-Regeln werden im Syslog oder unter /var/log/syslog protokolliert. Hilfreiche Tools:
# Verstöße anzeigen
sudo journalctl -k | grep apparmor
Profilverletzungen zusammenfassen
sudo aa-logprof
Mit aa-logprof lassen sich Verstöße analysieren und Profilanpassungen interaktiv vornehmen.
Eigenes Profil erstellen
Für Anwendungen ohne Standardprofil kann ein benutzerdefiniertes Profil erstellt werden:
# Profil im Complain Mode anlegen
sudo aa-genprof /usr/bin/meineapp
Befolgen Sie die Anweisungen, während die Anwendung normal läuft,
um notwendige Berechtigungen zu erfassen
Nach ausreichender Beobachtungsphase kann das Profil in Enforce Mode gesetzt werden:
sudo aa-enforce /etc/apparmor.d/meineapp
Best Practices für AppArmor
- Profile zunächst im Complain Mode testen, bevor sie strikt durchgesetzt werden
- Regelmäßig Logs prüfen und Profilanpassungen dokumentieren
- Nur notwendige Rechte vergeben, um die Angriffsfläche zu minimieren
- System- und Anwendungsprofile versionieren, um Änderungen nachvollziehbar zu halten
- Neue Anwendungen nur mit geprüften Profilen freigeben
Integration in den Serverbetrieb
AppArmor eignet sich besonders für Serverdienste wie SSH, Webserver oder Datenbankprozesse. Durch konsequente Profilierung lassen sich Sicherheitsvorfälle minimieren, ohne dass der reguläre Betrieb eingeschränkt wird.
# Beispiel: Apache2 Profil aktivieren
sudo aa-enforce /etc/apparmor.d/usr.sbin.apache2
Fazit
AppArmor bietet eine flexible und effektive Möglichkeit, Linux-Server auf Ubuntu sicher zu betreiben. Durch das Verständnis von Profilen, Modi und Logs lassen sich Anwendungen gezielt absichern. Ein systematisches Vorgehen – prüfen, Profil erstellen, Complain Mode, Audit, Enforce Mode – sorgt für maximale Sicherheit bei minimalen Betriebsunterbrechungen.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

