pietinger Moderator
Joined: 17 Oct 2006 Posts: 5036 Location: Bavaria
|
Posted: Mon Nov 30, 2020 3:48 pm Post subject: D8 AppArmor Profile + BP für X11 |
|
|
(Dieser Post ist Teil einer Installation-Anleitung. Falls nicht schon geschehen lies bitte: Installation Guide for Paranoid Dummies Post Nr. 3)
D.8 AppArmor Profile + BP für X11
Eines meiner Ziele war, die unnötige Komplexität der EP zu vermeiden, indem ich Freigaben in die Basis-Profile integriert habe die bei den EP in jeweils eigenen Profilen liegen. Natürlich kann EP viel feiner granulieren, aber sicherheitstechnisch bringt es mir wenig <user-tmp> als eigenes Profil zu schreiben, wenn dann doch jedes KDE-Programm diese Freigaben wieder über das Profil <kde> bekommt. Mein ursprüngliches Regelwerk sah nur die beiden Basis-Profile "ONLY...", das BP "ISAKDE" und einige "USE..."-Profile vor.
Dann habe ich an die GNOME-User gedacht und einen Teil aus ISAKDE herausgelöst. Das folgende Basis-Profil sollte eigentlich auch unter GNOME einwandfrei laufen. Ich kann das leider nicht unter GNOME testen, würde mich aber sehr über Rückmeldungen freuen.
Da ich kein großer Anwender von X11-Programmen bin (eigentlich nur xboard), konnte ich das BP nur mit zwei X11-Programmen testen. Dabei bin ich genauso vorgegangen, wie mit meinem Test des BP für KDE. Damals habe ich tatsächlich den Taschenrechner von KDE (kcalc) mit einem Profil versehen, NUR um das Basis-Profil ISAKDE selbst zu testen. Ein Programm welches sonst nichts kann und will sollte deshalb mit einem "nackten" Profil zurecht kommen, weil ja alle KDE-spezifischen Freigaben im BP selbst schon definiert wurden. Für X11 war das Spiel "xskat" ideal, da es bis auf seine zwei Dateien wunschlos glücklich ist. Wundere Dich deshalb nicht, wenn ich für zwei absolut sicherheitsunkritische X-Programme zwei Profile erstellt habe. Diese beiden Profile waren nur zum Test von ISAX11.
Es ist im Verglich zum äquivalenten Profil der EP nicht sehr umfangreich, da ich ja bereits in BASE sehr großzügig mit den Freigaben war. Da ich jedoch lieber etwas zu wenig als zu viel freigeben möchte, kann dieses Basis-Profil vielleicht nicht ausreichend für andere X11-Anwendungen sein. Aber dann kann man es ja erweitern.
- Profile: /etc/apparmor.d/local/ISAX11
- Beschreibung/Bemerkung: Basis-Profil für alle X11-Anwendungen. Wird auch vom Basis-Profil ISAKDE inkludiert und muss deshalb auch für KDE installiert sein.
Code: | # version 1
/dev/dri/ r,
/dev/dri/** rw,
owner /home/*/.drirc r,
owner /home/*/.Xauthority r,
owner /home/*/.XCompose r,
owner /home/*/.config/fontconfig/fonts.conf r,
# maybe these two lines are needed in BASE
# if this is true then CUT and copy them to BASE
/usr/lib/** r,
/usr/lib/**.so* mr,
/usr/lib64/gconv/gconv-modules* mr,
/var/cache/fonts/** r,
/var/cache/fontconfig/** mr,
signal peer=@{profile_name},
unix peer=(label=@{profile_name}),
unix (connect, receive, send)
type=stream
peer=(addr="@/tmp/.X11-unix/X[0-9]*"),
unix (connect, receive, send)
type=stream
peer=(addr="@/tmp/.ICE-unix/[0-9]*"),
# I found these lines in <abstraction/X>
# either outdated or possibly required
# if you need them uncomment to activate
# owner /home/*/.local/share/sddm/.Xauthority r,
# owner /home/*/.ICEauthority r, |
- Profile: /etc/apparmor.d/usr.bin.xskat
- Beschreibung/Bemerkung: Das Spiel sollte absoulut sicherheitsunkritisch sein und benötigt daher sicher kein Profil. Dieses Profil ist nur zu Testzwecken erstellt worden. Lösche (oder verschiebe) es nach einem test wieder aus /etc/apparmor.d heraus.
Code: | # version 1
abi <kernel>,
profile xskat /usr/bin/xskat
{
include <local/ONLYLOCAL>
include <local/ISAX11>
owner /home/*/.xskat.opt wr,
owner /home/*/.xskat.lst wr,
} |
- Profile: /etc/apparmor.d/usr.bin.xboard
- Beschreibung/Bemerkung: Das oben gesagte gilt auch hier. Hinweis: Bei mir stürzt xboard regelmässig ab, wenn ich in "Optionen" - "Klang" reingehe. Das liegt aber nicht an AA. (Dafür habe ich den Aufruf der bash absichtlich nicht erlaubt. Ich will ja nur ISAX11 testen und nicht xboard absichern.
Code: | # version 1
abi <kernel>,
profile xboard /usr/bin/xboard
{
include <local/ONLYLOCAL>
include <local/ISAX11>
/usr/bin/aplay ix,
/usr/bin/gnuchess ix,
/usr/bin/polyglot ix,
/usr/bin/stockfish ix,
owner /home/*/.xboardrc rwk,
owner /home/*/{,**} r,
owner /home/*/**.pgn w,
owner /home/*/**.fen w,
} |
Wenn Du einige X11-Anwendungen hast, die Du mit diesem BP geschützt hast, dann =>
Du bist herzlich eingeladen diesen Thread mit Deinen Profilen zu erweitern.
. |
|