AppArmor/HowTo

Aus Foxwiki

AppArmor/HowTo - Kurzbeschreibung

Beschreibung

Installation

Seit 2007 ist AppArmor mit Hilfswerkzeugen in der Standardinstallation von Ubuntu enthalten. Ansonsten kann es über die folgenden Pakete nachinstalliert werden [1]:* apparmor

Befehl zum Installieren der Pakete:

sudo apt-get install apparmor

Oder mit apturl installieren, Link: [apt://apparmor apt://apparmor]

Hilfsprogramme

Die Hilfsprogramme zu AppArmor sind im Paket* apparmor-utils


Befehl zum Installieren der Pakete:

sudo apt-get install apparmor-utils

Oder mit apturl installieren, Link: [apt://apparmor-utils apt://apparmor-utils]

enthalten, welches man manuell nachinstallieren muss.

Wer DENIED Nachrichten in der Desktopumgebung erhalten möchte, muss zusätzlich das Paket* apparmor-notify (universe)


Befehl zum Installieren der Pakete:

sudo apt-get install apparmor-notify

Oder mit apturl installieren, Link: [apt://apparmor-notify apt://apparmor-notify]

installieren. Dies ist normalerweise nur notwendig, wenn man ein Programm oder selber erstellte Profile sehr gezielt beobachten möchte. Bei normaler Nutzung des Rechners wird das Paket nicht benötigt.

weitere Regelsätze

In der Installation sind nur sehr wenige Regeln enthalten. Ein größerer Regelsatz kann über die Pakete* apparmor-profiles

  • apparmor-profiles-extra (universe)


Befehl zum Installieren der Pakete:

sudo apt-get install apparmor-profiles apparmor-profiles-extra

Oder mit apturl installieren, Link: [apt://apparmor-profiles,apparmor-profiles-extra apt://apparmor-profiles,apparmor-profiles-extra]

installiert werden. Darin sind eine Reihe von AppArmor Profilen für diverse Programme enthalten.

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Fehlerbehebung

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

RFC
RFC Titel
0000
Man-Pages
Info-Pages

Links

Projekt
Weblinks
  1. https://wiki.ubuntuusers.de/AppArmor/
  2. Homepage der AppArmor-Entwickler mit ausführlicher
    1. Dokumentation und
    2. FAQ
  3. AppArmor-Übersichtsseiteim englischen Ubuntu-Wiki, enthält Infos zu allen unterstützen Ubuntu-Versionen plus Server-Guides für die LTS-Versionen
  4. Using AppArmor- Eintrag im englischen Wiki der Ubuntu-Community
  5. AppArmor mit Ubuntu nutzen- Einführung von Kai Raven

TMP

Datei:Apparmor.png

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich
  1. Installation von Programmen
  2. Ein Terminal öffnen
  3. mit Root-Rechten arbeiten

AppArmor ist ein Sicherheitsframework für Linux. Als Mandatory Access Control (MAC) System kontrolliert es Anwendungen einzeln. Für diese können in Profilen Zugriffsrechte festgelegt werden, die feiner als die allgemeinen Dateirechte sind. Neben den vordefinierten können eigene Profile aufgestellt werden. Für jedes Profil kann einer von drei Eingriffs-Modi gesetzt werden.

Zweck von AppArmor ist der Schutz von sicherheitskritischen Anwendungen, in erster Linie also Anwendungen/Prozesse mit Netzwerkzugriff, aber auch von z.B. Büroanwendungen, die durch das Laden verseuchter Dokumente u.U. das System kompromittieren könnten.

AppArmor ist seit Kernel 2.6.36 offiziell integriert Ab Ubuntu 7.10 wird es beim Systemstart geladen. Das gilt auch für die zugehörigen Profile (Regelsätze).

Von 2005 bis 2007 wurde AppArmor maßgeblich von Novell entwickelt. Seit 2009 engagiert sich Canonical verstärkt für das Sicherheitsframework, wodurch dann auch die bereits erwähnte Aufnahme in den Linux-Kernel erreicht wurde.

AppArmor wurde als Alternative zum als schwer konfigurierbar geltenden SELinux konzipiert. Von den "großen" Linux-Distributionen verwendet neben Ubuntu noch openSUSE in der Standardinstallation das Framework.

Verzeichnisstruktur

Globale und Systemeinstellungen sind in /etc/apparmor gespeichert. Die Anwendungsprofile sowie mehrere vordefinierte Unterverzeichnisse befinden sich in /etc/apparmor.d/. Eine ausführliche Darstellung der Verzeichnisstruktur nebst Inhalten ist unter Policy Layout verfügbar.

disable und force-complain

Enthält /etc/apparmor.d/disable eine Verknüpfung zu einem Profil, so wird dieses nicht automatisch geladen. Ähnlich sorgen Verknüpfungen unter /etc/apparmor.d/force-complain dafür, dass Profile nur im complain-Modus geladen werden (siehe unten).

Schutz durch AppArmor

AppArmor wird automatisch geladen. Möchte man eine neue Regel laden, so muss man dies von Hand erledigen. Grundsätzlich sollte jedes Programm, das eine Angriffsfläche bietet, durch AppArmor geschützt werden. Eine Auflistung der nicht profilierten Online-Anwendungen erhält man durch ein AppArmor-Werkzeug, das man im Terminal[2] aufruft:

sudo aa-unconfined

Dieses ermittelt mittels netstat, welche Programme offene Netzwerk-Sockets (TCP/UDP) besitzen und ob sie ein AppArmor-Profil besitzen. Eine Ausgabe kann folgendermaßen aussehen:

5460 /usr/sbin/avahi-daemon not confined 5460 /usr/sbin/avahi-daemon not confined 5806 /sbin/dhclient3 not confined 18367 /usr/sbin/cupsd confined by '/usr/sbin/cupsd (enforce)'

Man sieht hier drei Dienste, von denen nur einer geschützt wird (cups). Man besitzt also zwei ungeschützte Dienste: avahi-daemon und dhclient3. avahi-daemon wird wahrscheinlich doppelt gelistet, weil es sowohl auf TCP wie auch UDP lauscht. Diese beiden Dienste sind standardmäßig auf Ubuntu installiert. Sie sind nur aus dem lokalen Netzwerk, aber nicht aus dem Internet zu erreichen und gelten deshalb als sicher und nicht ausnutzbar. Mehr dazu kann man im Artikel Offene Ports lesen. Paranoide werden wahrscheinlich trotzdem eine Regel dafür haben wollen, aber nach derzeitigem Kenntnisstand ist dies nicht erforderlich.

Sollte aa-unconfined weitere Dienste anzeigen, wie zum Beispiel Privoxy oder Tor, sollte man diese von AppArmor schützen lassen. Als Anmerkung sei noch gesagt, dass aa-unconfined mit großer Wahrscheinlichkeit nur Dienste anzeigen wird und nicht normale Internetanwendungen (wie zum Beispiel einen Browser). Das bedeutet aber nicht, dass diese nicht geschützt werden sollten. Wie bereits gesagt ist die aa-unconfined-Liste nur ein kleiner Ausschnitt der schützenswerten Anwendungen und in keinem Fall vollständig.

Auch Windows-Anwendungen über Wine lassen sich mit AppArmor kontrollieren. Ausführliche Hinweise dazu finden sich unter AppArmorWine und im Forum.

Woher weitere Profile beziehen?

Ubuntu bringt bereits für ein paar Programme Profile mit, wobei diese jedoch teilweise deaktiviert sein könnten. Um nun weitere Profile zu beziehen kann man* Pakete mit weiteren Regeln installieren (siehe Abschnitt Installation)

  • fremde Profile übernehmen
  • selber Profile selber erstellen.


Es sollte aber bedacht werden, dass diese Regeln nicht blind übernommen werden sollen/können, sondern den individuellen Bedürfnissen angepasst werden müssen.

Im Internet kursieren noch zahlreiche weitere Profile für AppArmor, doch es sollte immer überlegt werden, wie vertrauenswürdig die Quelle ist und wie kompetent im Erstellen von Profilen. Außerdem sind diese Regeln meist nicht auf die eigenen Bedürfnisse angepasst, sondern müssen nachträglich feinjustiert werden. Auch hier gilt, dass keine Profile blind übernommen werden sollten.