Goldene Käfige
System abschotten mit AppArmor
Kindprozesse
Nach der Analyse der Ereignisse, die bis zu einigen Minuten dauern kann, fragt der Assistent, ob Sie jeden dieser Zugriffe erlauben möchten. Dabei schlägt er immer eine Aktion vor. Ruft das zu überwachende Programm zum Beispiel ein weiteres Programm auf (Abbildung 5), so bietet der Profilassistent die folgenden Wahlmöglichkeiten:
- Inherit: Die neue Anwendung
kdialogunterliegt den gleichen Einschränkungen wie Kpdf. - Profile: Diese Applikation verfügt über ein eigenes Profil.
- Unconfined: AppArmor soll dieses Programm nicht überwacht.
- Deny: Den Aufruf der neuen Applikation verweigern
Da Kpdf das Programm kdialog verwendet, um Dateien zu öffnen und zu schließen, ist Unconfined eine mögliche Wahl. Weil das Hilfsprogramm damit freie Hand hat, warnt der Assistent vor möglichen Sicherheitslücken (Abbildung 6). Besser wäre es, für KDialog ein eigenes Profil zu erzeugen, mit dem das Programm nur noch auf PDF-Dateien zugreifen darf.
Tipp: AppArmor testen
Beim Erstellung des Profils mit dem Assistenten verzichten Sie auf den Druckbefehl. Dann wird der Assistent die entsprechenden Funktionen im Profil auch nicht aufnehmen. Beim späteren Einsatz von Kpdf werden Sie feststellen, dass alles außer dem Drucken funktioniert.
Dateizugriffe
Sobald Sie für jede der von Kpdf aufgerufenen Anwendungen eine Entscheidung getroffen haben, fragt der Assistent nach den von Kpdf genutzten Dateien (Abbildung 7). Sie können bei den meisten Files den Zugriff mit Allow gestatten. Bei einigen Dateien bietet der Assistent aber auch eine Include-Direktive zur Auswahl (Abbildung 8).
Viele Applikationen brauchen Zugang zu KDE-Konfigurationsdateien. Statt jeden einzelnen Zugriff zu erlauben und so das Profil unnötig aufzublähen, können Sie vorgefertigte Profilvorlagen Ihrem Profil hinzufügen. Wählen Sie hierzu die Zeile #include <abstractions/kde> aus. Die vorgefertigten Profile heißen im AppArmor-Jargon "Abstraktion".
Es existieren weitere Abstraktionen zum Beispiel für die Bash-Shell und für die Namensauflösung per DNS. Sobald Sie alle Fragen beantwortet haben, kehren Sie wieder zum Ausgangsbildschirm des Profilassistenten zurück. Das fertige Profil befindet sich in /etc/subdomain.d/opt.kde3.bin.kpdf (Ausschnitt in Listing 2). Sie können nun den Profilassistenten schließen und die Applikation verwenden.
Listing 2
# vim:syntax=subdomain
# Last Modified: Sun Jan 22 10:16:55 2006
/opt/kde3/bin/kpdf flags=(complain) {
#include <abstractions/authentication>
#include <abstractions/base>
#include <abstractions/bash>
#include <abstractions/gnome>
#include <abstractions/kde>
#include <abstractions/nameservice>
#include <abstractions/user-write>
/ r,
/etc r,
/etc/X11/.kstylerc.lock rw,
/etc/X11/.qt_plugins_3.3rc.lock rw,
/etc/X11/.qtrc.lock rw,
/etc/exports r,
/etc/rpc r,
…
}



