Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Deutsches Forum (German) Deutsche Dokumentation
  • Search

D9 AppArmor Basis Profile II

Dokumentation, Tipps und Tricks.
Post Reply
  • Print view
Advanced search
3 posts • Page 1 of 1
Author
Message
pietinger
Moderator
Moderator
Posts: 6608
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

D9 AppArmor Basis Profile II

  • Quote

Post by pietinger » Tue Dec 01, 2020 11:35 pm

(Dieser Post ist Teil einer Installation-Anleitung. Falls nicht schon geschehen lies bitte: Installation Guide for Paranoid Dummies Post Nr. 3)



D.9 AppArmor Basis Profile II.

Alle BP nutzen keine Variablen, damit Du nicht gezwungen bist in Deinen AP einen zusätzlichen Include zu setzen (siehe D.4).

Als ich mir die EP angesehen habe war ich gelinde gesagt schockiert über einige Profile. Zuerst wird jedes /home/*/.config/-Verzeichnis einzeln und individuell freigegeben, nur um dann letztendlich beim Applikations-Profil für den Webbrowser (beinahe) alles zu erlauben ... Warum ? Damit der Mensch vor der Tastatur jede Datei aus seinem Home mit dem Browser ins Internet hochladen kann ?! Sorry - Sicherheit bedeutet nun mal auch Einschränkung. Wenn ich nicht verlangen kann, dass solche Dateien zuerst in /home/*/Download verschoben werden müssen, dann muss ich halt auf Sicherheit verzichten. Da helfen dann auch keine virtuelle Maschinen, wenn ich alle Userdaten in der gleichen Maschine vorhalte.

Wie Du sicher erkennst, habe ich im Basis-Profil für alle KDE-Anwendungen sehr viel erlaubt, da ich Konfigurations-Daten NICHT als User-Daten ansehe. Die einzigen User-Daten die ich in home/*/.config gefunden habe, waren die Bookmarks vom "falkon" ... naja, auf die hat der "falkon" eh Zugriff. Vorsicht gilt bei home/*/.local/share. Da gibt es sehr wohl User-Daten: Mails, Kontakte, etc.

Bevor ich Dir nun das ISAKDE übergebe, kurz ein Wort zu meiner KDE-Installation: Ich habe die neueste STABLE - täglich aktualisiert - also Stand: 30.11.2020 mit dem Profil: default/linux/amd64/17.1/desktop/plasma (stable). Ebenso habe ich "libinput" und "elogind". Genauer gesagt: Exakt so wie in A.1 und A.3 beschrieben. In meiner "make.conf" habe ich NICHTS für KDE erweitert, sondern "nur" etwas ausgeschlossen:

USE="-bluetooth -gtk -gtk3 -ipv6 -phonon -pulseaudio -semantic-desktop -thumbnail -wext -wifi -xcomposite"

Ich habe geprüft, welche Programme mit "semantic-desktop" berührt werden. Dabei ist nur "gwenview" betroffen, da ich dazu ein Profil habe. Inwieweit "thumbnail" die KDE-Installation verändert, kann ich nicht sagen. Prüfe am besten immer die AUDIT-Meldungen im Systemlog.

  • Profile: /etc/apparmor.d/local/ISAKDE
  • Beschreibung/Bemerkung: Das Basis-Profil für KDE-Anwendungen. Es benötigt ISAX11, welches Du in D.8 findest.

Code: Select all

# version 6

include <local/ISAX11>

/usr/lib64/libexec/kf5/kioslave5  rix,
/usr/lib64/libexec/kf5/kioexec  rix,
/usr/lib64/libexec/drkonqi  rix,

deny /home/.*history  mrwkl,

owner /home/*/.cache/{,**}  rwk,
owner /home/*/.cache/* l -> /home/*/.cache/#[0-9]*[0-9],

owner /home/*/.config/{,**}  rwk,
owner /home/*/.config/* l -> /home/*/.config/#[0-9]*,
owner /home/*/.config/session/* l -> /home/*/.config/session/#[0-9]*,

# never allow home/*/.local/share/** rw, because we have sensitive user-data in some dirs, e.g. in .local/share/akonadi

owner /home/*/.local/  rw,
owner /home/*/.local/share/  rw,
owner /home/*/.local/share/user-places.xbel*  rw,
owner /home/*/.local/share/recently-used.xbel*  rwk,
owner /home/*/.local/share/#[0-9]* rwk,
owner /home/*/.local/share/recently-used.xbel* l -> /home/*/.local/share/#[0-9]*,
owner /home/*/.local/share/mime/{,**}  r,
owner /home/*/.local/share/kservices5/{,**}  r,
owner /home/*/.local/share/plasma_notes/* r,
owner /home/*/.local/share/RecentDocuments/{,**}  rwk,
owner /home/*/.local/share/RecentDocuments/*.desktop l -> /home/*/.local/share/RecentDocuments/#[0-9]*,

owner /run/user/[0-9]*/{,**}  rwk,
owner /run/user/[0-9]*/*socket lrw -> /run/user/[0-9]*/#[0-9]*,

signal (receive, send) set=("term"),
Edit 2023-04-21: In Version 5 wurde diese Zeile geändert:

Code: Select all

owner /home/*/.local/share/recently-used.xbel*  rw,
auf

Code: Select all

owner /home/*/.local/share/recently-used.xbel*  rwk,
und diese Zeile ergänzt:

Code: Select all

owner /home/*/.local/share/#[0-9]* rwk,
Edit 2023-04-23: Na toll ... heute wieder neue KDE frameworks (stable) ... und schon fehlt wieder eine Zeile. In Version 6 habe ich das hinzugfügt:

Code: Select all

owner /home/*/.local/share/recently-used.xbel* l -> /home/*/.local/share/#[0-9]*,
Als erstes musst Du folgendes Profil aktivieren, um das am höchsten gefährdete Programm von KDE überhaupt einzusperren ...
  • Profile: /etc/apparmor.d/usr.bin.kcalc
  • Beschreibung/Bemerkung: Profil für den Taschenrechner von KDE. Ich habe dieses Profil nicht nur aus Nostalgie hier, sondern vielmehr weil es als Skelett für alle Deine APs dienen kann.

Code: Select all

# version 1

abi <kernel>,

profile kcalc /usr/bin/kcalc
{
include <local/ONLYLOCAL>
include <local/ISAKDE>
}
... Du hast ja sicher D.8 gelesen ... :-)


Als nächstes kommt eine Datei für Variablen. Diese wird aber nur bei Bedarf von APs inkludiert. Kein BP benötigt diese Datei. Warum ich sie überhaupt hier reinstelle ? Naja, weil man halt verschiedene Verzeichnisse hat. Bei mir ist z.b. eine zusätzlich Festplatte als "/hd" gemountet und deshalb habe ich diese Deklaration: @{MYDATADIRS}=/home/*/ /mnt/ /media/ /hd/
  • Profile: /etc/apparmor.d/local/VARIABLES
  • Beschreibung/Bemerkung: Alle Verzeichnisse in denen sich User-Daten befinden können hier zentral definiert werden.

Code: Select all

# version 1

@{MYDATADIRS}=/home/*/ /mnt/ /media/


Basis-Profile USE...
  • Profile: /etc/apparmor.d/local/USESOUND
  • Beschreibung/Bemerkung: Muss von allen AP eingebunden werden die Sound ausgeben wollen. Ist getestet mit dem Kernel-Modul "snd_hda_intel"

Code: Select all

# version 1

/dev/snd/*  rw,
/dev/sound/*  rw,

owner /home/*/.asoundrc  r,

/proc/asound/**  rw,
  • Profile: /etc/apparmor.d/local/USECD
  • Beschreibung/Bemerkung: Wenn ein AP Zugriff auf das CD- oder auch DVD-Laufwerk benötigt. Habe ich getestet mit dem VLC. Dabei habe ich eine Audio-CD und auch eine DVD abspielen können. Muss evtl. für Blu-Ray noch erweitert werden.

Code: Select all

# version 1

/dev/  r,
/dev/sr0  rw,

# for playing a DVD
owner /home/*/.dvdcss/**  rw,
  • Profile: /etc/apparmor.d/local/USECUPS
  • Beschreibung/Bemerkung: Habe ich mangels Drucker NICHT gestestet. Sollte nach menschlichen Ermessen aber funktionieren, da ich einfach aus den EP abgeschrieben habe ...

Code: Select all

# version 0

owner /home/*/.cups/client.conf  r,
owner /home/*/.cups/lpoptions r,

/run/cups/cups.sock   rw,
  • Profile: /etc/apparmor.d/local/USEWEBCAM
  • Beschreibung/Bemerkung: Habe ich ebenfalls mangels Webcam nicht getestet. Fraglich ob dies hier reichen soll. Ich glaube fast nicht; und freue mich über jede Rückmeldung !

Code: Select all

# version 0

/dev/video[0-9]*  rw,

Du bist herzlich eingeladen diesen Thread mit Deinen Profilen zu erweitern.

.
Last edited by pietinger on Sat May 13, 2023 11:51 am, edited 2 times in total.
Top
pietinger
Moderator
Moderator
Posts: 6608
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Fri Apr 21, 2023 10:17 pm

Ich habe soeben das Basis-Profile für KDE (ISAKDE) angepasst. Da habe ich wohl (vermutlich schon seit längerem) was übersehen ... :oops:
Top
pietinger
Moderator
Moderator
Posts: 6608
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Sun Sep 01, 2024 5:29 pm

Nach der heutigen Umstellung auf KDE6 musste ich 4 Zeilen im Profil ISAKDE ergänzen (die ersten 4 Zeilen nach dem include von ISAX11). Möglicherweise sind dafür andere Zeilen obsolet geworden - ich habe aber (noch) nichts entfernt, damit auch für KDE5 noch alles funktioniert.

Achtung: Ich fahre KDE6 (immer noch) unter X11 ! (Die erste Anmeldung mit Wayland war ein ... Desaster :evil: )

Code: Select all

# version 10

include <local/ISAX11>

/etc/igfx_user_feature_report.txt  rwk,
/usr/lib64/qt6/**  rix,
/usr/libexec/kf6/**  rwix,
/usr/share/qt6/**  rwk,
owner /home/*/.local/state/*  lrwk,


/usr/lib64/libexec/kf5/kioslave5  rix,
/usr/lib64/libexec/kf5/kioexec  rix,
/usr/lib64/libexec/drkonqi  rix,

deny /home/.*history  mrwkl,

owner /home/*/.cache/{,**}  rwk,
owner /home/*/.cache/* l -> /home/*/.cache/#[0-9]*[0-9],

owner /home/*/.config/{,**}  rwk,
owner /home/*/.config/* l -> /home/*/.config/#[0-9]*,
owner /home/*/.config/session/* l -> /home/*/.config/session/#[0-9]*,
owner /home/*/.config/kde.org/* l -> /home/*/.config/kde-org/#[0-9]*,
owner /home/*/.fonts.conf  rwk,

# never allow home/*/.local/share/** rw, because we have sensitive user-data in some dirs, e.g. in .local/share/akonadi

owner /home/*/.local/  rw,
owner /home/*/.local/share/  rw,
owner /home/*/.local/share/user-places.xbel*  rw,
owner /home/*/.local/share/recently-used.xbel*  rwk,
owner /home/*/.local/share/#[0-9]* rwk,
owner /home/*/.local/share/recently-used.xbel* l -> /home/*/.local/share/#[0-9]*,
owner /home/*/.local/share/mime/{,**}  r,
owner /home/*/.local/share/kservices5/{,**}  r,
owner /home/*/.local/share/plasma_notes/* r,
owner /home/*/.local/share/RecentDocuments/{,**}  rwk,
owner /home/*/.local/share/RecentDocuments/*.desktop l -> /home/*/.local/share/RecentDocuments/#[0-9]*,

owner /run/user/[0-9]*/{,**}  rwk,
owner /run/user/[0-9]*/*socket lrw -> /run/user/[0-9]*/#[0-9]*,

signal (receive, send) set=("term"),
ptrace read,
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
Post Reply
  • Print view

3 posts • Page 1 of 1

Return to “Deutsche Dokumentation”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy