Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
D5 AppArmor Basis Profile I.
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation
View previous topic :: View next topic  
Author Message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4160
Location: Bavaria

PostPosted: Sat Nov 28, 2020 9:57 pm    Post subject: D5 AppArmor Basis Profile I. Reply with quote

(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.

Code:
# version 2

include <local/BASE>

network inet,
network netlink,
network packet,

# we have to deny this - without audit - to avoid useless log entries
deny network inet6,

# delete this if not desired - or modify to your requirements
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:
# 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:
# 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:
# 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
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum