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

D5 AppArmor Basis Profile I.

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

D5 AppArmor Basis Profile I.

  • Quote

Post by pietinger » Sat Nov 28, 2020 9:57 pm

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



D.5 AppArmor Basis Profile I.

Alle BP nutzen keine Variablen, damit Du nicht gezwungen bist in Deinen AP einen zusätzlichen Include zu setzen (siehe D.4). Da das BASE-Profil von den beiden anderen includiert wird, benötigst Du ebenfalls keinen Include von BASE.
  • Profile: /etc/apparmor.d/local/ONLYNETWORK
  • Beschreibung/Bemerkung: Das BP für alle Programme die Netzwerk-Zugang benötigen. Ich war hier sehr großzügig und erlaube auch gleich einen RAW-Zugriff. Das sollte unproblematisch sein, da ein Programm ja noch zusätzlich die Capability "net_raw" benötigt, die ich dann natürlich nur in den AP des jeweiligen Programms vergebe. Edit 2025-05-02: Version 3 ist mit AA Version 4.x kompatibel.

Code: Select all

# version 3

include <local/BASE>

network,

# delete this if not desired
owner /home/*/Downloads/{,**}  rw,
  • Profile: /etc/apparmor.d/local/ONLYLOCAL
  • Beschreibung/Bemerkung: Das BP für alle Programme die keine Netzwerk-Zugang haben sollen. Falls Du nicht so paranoid wie ich bist, KANNST Du hier einen lesenden Zugriff auf alle Deine Daten-Verzeichnisse (/home, /mnt, /media) reinsetzen. Ich habe dies in den jeweiligen APs individuell erlaubt (und dann gleich mit dem jeweils benögigten Schreib-Zugriff).

Code: Select all

# version 2

include <local/BASE>

audit deny network inet,
audit deny network netlink,
audit deny network packet,
audit deny network inet6,
  • Profile: /etc/apparmor.d/local/BASE
  • Beschreibung/Bemerkung: Das BP für alle Programme. Ich habe mich hier vom Profil "abstractions/base" aus den EP inspirieren lassen. Die einzigen Schreibzugriffe die hiermit erlaubt werden sollten sicherheitsunkritisch sein. Du solltest hier auch keinerlei weitere Freigaben reinsetzen, sondern nur weitere DENYs um eventuell weitere sensitive Dateien oder Verzeichnisse zu schützen. Folgende Verzeichnisse sollten in keinem AP jemals komplett freigegeben werden: /bin, /sbin, /usr/bin, /usr/sbin, /dev

Code: Select all

# version 2

/dev/log        w,
/dev/null       rw,
/dev/random     r,
/dev/urandom    r,
/dev/zero       rw,

audit deny /etc/apparmor.d/{,**}        mrwkl,
audit deny /etc/ima/{,**}               mrwkl,
audit deny /etc/MY/{,**}                mrwklx,
audit deny /etc/ssh/{,**}               mrwkl,
/etc/**                                 r,
/etc/ld.so.cache                        mr,

audit deny /home/*/.ssh/{,**}           mrwkl,

/lib64/**                               r,
/lib64/**.so*                           mr,

/proc/{,**}                             r,

audit deny /root/.ssh/{,**}             mrwkl,

/run/{,**}                              r,

audit deny /sys/kernel/security/{,**}   mrwkl,
/sys/{,**}                              r,

/usr/lib64/**                           r,
/usr/lib64/**.so*                       mr,

/usr/share/**                           r,

owner /var/tmp/**                       rwkl,
/var/tmp/                               rw,

owner /tmp/**                           rwkl,
/tmp/                                   rw,

signal (receive) peer=unconfined,
signal (receive, send) set=("exists"),

unix (create),
unix (receive) peer=(label=unconfined),
unix (getattr, getopt, setopt, shutdown),
  • Profile: /etc/apparmor.d/local/USECONSOLE
  • Beschreibung/Bemerkung: Dies ist eine exakte Kopie des Profiles "abstractions/consoles" aus den EP und sollte nur in APs verwendet werden, die das zwingend benötigen, wie z.B. der "dhcpcd". Includiere dieses BP nicht, nur weil es ein Konsolen-Programm ist. Die wenigsten benötigen das.

Code: Select all

# version 1

/dev/console rw,
/dev/tty     rw,

# this next entry is a tad unfortunate; /dev/tty will always be
# associated with the controlling terminal by the kernel, but if a
# program uses the /dev/pts/ interface, it actually has access to
# -all- xterm, sshd, etc, terminals on the system.

/dev/pts/[0-9]*   rw,
/dev/pts/         r,

Alle weiteren "USE..."-Profile findest Du in D.9
Last edited by pietinger on Fri May 02, 2025 2:30 pm, edited 1 time in total.
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

Update

  • Quote

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

Durch die heutige Umstellung auf KDE6 habe ich bemerkt, dass eine Berechtigung auf /usr/bin fehlt. Dies dürfte das Ergebnis von der Umstellung von split-usr auf merged-usr sein; wurde bis jetzt aber nicht beanstandet. Erst jetzt mit dem Update auf KDE6 haben sich einige Anwendungen beschwert :-D

Hier also ein aktualisiertes BASE Profil mit der zusätzlichen Berechtigung auf /usr/bin:

Code: Select all

# version 3

/dev/log        w,
/dev/null       rw,
/dev/random     r,
/dev/urandom    r,
/dev/zero       rw,

audit deny /etc/apparmor.d/{,**}        mrwkl,
audit deny /etc/ima/{,**}               mrwkl,
audit deny /etc/MY/{,**}                mrwklx,
audit deny /etc/ssh/{,**}               mrwkl,
/etc/**                                 r,
/etc/ld.so.cache                        mr,

audit deny /home/*/.ssh/{,**}           mrwkl,

/lib64/**                               r,
/lib64/**.so*                           mr,

/proc/{,**}                             r,

audit deny /root/.ssh/{,**}             mrwkl,

/run/{,**}                              r,

audit deny /sys/kernel/security/{,**}   mrwkl,
/sys/{,**}                              r,

/usr/bin/{,**}                          r,

/usr/lib/**                             r,
/usr/lib/**.so*                         mr,

/usr/lib64/**                           r,
/usr/lib64/**.so*                       mr,

/usr/share/**                           r,

owner /var/tmp/**                       rwkl,
/var/tmp/                               rw,

owner /tmp/**                           rwkl,
/tmp/                                   rw,

signal (receive) peer=unconfined,
signal (receive, send) set=("exists"),

unix (create),
unix (receive) peer=(label=unconfined),
unix (getattr, getopt, setopt, shutdown),
https://wiki.gentoo.org/wiki/User:Pietinger --> https://wiki.gentoo.org/wiki/User:Pieti ... _at_Gentoo
Top
Post Reply
  • Print view

2 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