Abstractions
Als Abstractions bezeichnet AppArmor große Regeldateien, die von mehreren
Programmen gemeinsam genutzte Regeln enthalten. Diese Abstractions können dann
von den entsprechenden Profilen mit Include-Direktiven geladen werden. Das
erleichtert die Administration und sorgt für übersichtliche
Regeldateien. Die Abstractions befinden sich in dem Verzeichnis
/etc/apparmor.d/abstractions. Aktuell liegen dort die folgenden Dateien:
- abstractions/audio Hier wird der Zugriff auf Gerätedateien für
Audioanwendungen erlaubt.
- abstractions/authentication Diese Datei erlaubt den Zugriff auf
Dateien und Dienste, die für die Authentifizierung von Benutzern benötigt werden.
- abstractions/base Diese Datei enthält Zugriffsregeln für Dateien,
die von fast allen Programmen benötigt werden.
- abstractions/bash Hier wird der Zugriff auf die typischen von der
Bash benötigten Dateien erlaubt.
- abstractions/consoles Hier wird der Zugriff auf Konsolen und
Terminals erlaubt. Jedes Programm, welches mit dem Benutzer interagiert,
benötigt diese Zugriffe.
- abstractions/fonts Diese Datei erlaubt den Zugriff auf
Zeichensätze und die entsprechenden Bibliotheken.
- abstractions/gnome Hier wird Lese- und Schreibzugriff auf die
Gnome-Konfigurationsdateien und lesender Zugriff auf die Gnome-Bibliotheken gewährt.
- abstractions/kde Hier wird analog der Zugriff auf die
KDE-Konfigurationsdateien und -Bibliotheken gewährt.
- abstractions/kerberosclient Diese Datei erlaubt den Zugriff auf
die Kerberosbibliotheken und die Konfigurationsdateien.
- abstractions/nameservice Hier werden die Regeln für die
Namensauflösung via DNS, LDAP, NIS, SMB und lokalen Dateien zusammengefasst.
- abstractions/perl Diese Datei definiert den Lesezugriff auf die Perl-Module.
- abstractions/user-(download|mail|manpages|tmp|write) Diese
Dateien erlauben Anwenderprogrammen den Zugriff auf entsprechende
Dateien. Dies wird von Browsern und Dateibetrachtern als auch von
E-Mail-Programmen genutzt.
- abstractions/wutmp Diese Datei erlaubt den schreibenden Zugriff
auf die Dateien /var/log/wtmp und /var/log/utmp. Zum Beispiel
der SSH-Daemon benötigt diese Zugriffe.
- abstractions/X Diese Datei erlaubt lesenden Zugriff auf
X-Bibliotheken, -Konfigurationsdateien, Socket, etc.
Wenn Sie das Werkzeug Logprof einsetzen und Logprof erkennt, dass ein Zugriff
durch eine Abstraction leichter erlaubt werden kann, schlägt Logprof den Einsatz
der Abstraction vor. So können die Profile klein und übersichtlich gestaltet
werden. Dennoch sollten Sie sich vor dem Einsatz der Abstraction einen Überblick
über ihre Regeln verschaffen. Möglicherweise erlauben Sie mit einer Abstraction
mehr, als Sie möchten.
Ralf Spenneberg
2007-11-13