Linux: Firefox AppArmor Profil

Beispiel für ein AppArmor Profil für Firefox von mozilla.org unter KDE / Kubuntu. Das Profil enthält Platzhalter für Dateien, Verzeichnisse und Skripte, die genauso angepasst werden müssen wie z. B. die Entfernung von <abstractions/nvidia>, wenn man keine Nvidia Grafikkarte einsetzt, die Entfernung von deny network inet6, wenn man IPv6 nutzt oder die Anpassung der Pfade, wenn Firefox aus dem Ubuntu Repository installiert wurde.

Für die Absicherung der ~/.macromedia Unterverzeichnisse und Dateien zur Beschränkung des Flash Plugins wurden dem Benutzer bis auf sys/settings.sol alle Schreibrechte entzogen und der Eigentümer auf root geändert. Deshalb ist die Leseberechtigung auf Unterverzeichnisse und Dateien des ~/.macromedia Verzeichnisses nicht mit owner @{HOME}/.macromedia eingeschränkt und das Profil muss für die Dauer der Speicherung von Einstellungen in der settings.sol Datei in den complain Modus versetzt werden.

# Last Modified: Tue Aug  9 08:15:24 2011
#include <tunables/global>

/opt/firefox/firefox-bin {
  #include <abstractions/audio>
  #include <abstractions/dbus>
  #include <abstractions/dbus-session>
  #include <abstractions/kde>
  #include <abstractions/nvidia>
  #include <abstractions/private-files>
  #include <abstractions/ubuntu-browsers.d/kde>
  #include <abstractions/ubuntu-browsers.d/plugins-common>
  #include <abstractions/user-download>

  deny capability dac_override,
  deny capability dac_read_search,
  deny capability ipc_lock,
  deny capability sys_nice,
  deny capability sys_ptrace,

  capability mknod,

  deny network inet6 dgram,
  deny network inet6 stream,
  network inet dgram,
  network inet stream,

  deny /**~ mrwlk,
  deny /**swp mrwlk,
  deny /.*/ mrwlk,
  deny /usr/lib/gamin/gam_server rx,
  deny /{boot,root}/ mrwlk,
  deny @{HOME}/*{verzeichnis1,verzeichnis2,verzeichnisN}/ rwmkl,
  deny @{HOME}/*{datei1,datei2,dateiN} rwmkl,
  deny @{HOME}/.macromedia/Flash_Player/#SharedObjects/** mwlk,
  deny @{HOME}/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/settings.s* mwlk,

  / r,
  /**.{css,dtd,gif,htm,html,icm,ico,jpeg,jpg,png,txt,xml,xsl} r,
  /bin/{ls,pwd,ps,sh} rix,
  /dev/ r,
  /dev/tty rw,
  /etc/gnome-vfs-*/** r,
  /etc/xdg/Trolltech.conf r,
  /etc/{host.conf,hosts,mailcap,mime.types,nsswitch.conf,passwd,resolv.conf} r,
  /lib/** mr,
  /opt/bin/ r,
  /opt/bin/{starter_skript1,starter_skript2} rix,
  /opt/downloads/ r,
  /opt/downloads/* rwl,
  /opt/firefox/ r,
  /opt/firefox/** mr,
  /opt/firefox/{crashreporter,firefox-bin,plugin-container} rix,
  /opt/thunderbird/thunderbird Ux,
  @{PROC}/ r,
  @{PROC}/**{auxv,cmdline,status} r,
  owner /tmp/** mrw,
  owner /tmp/orbit-*/* rwk,
  /usr/bin/ r,
  /usr/bin/* r,
  /usr/bin/{akregator,mupdf,wget} Px,
  /usr/bin/{flash-player-properties,kcmshell?,qdbus} rix,
  /usr/lib{,32,64}/** mr,
  /usr/local/lib/** mr,
  /usr/share/kde?/config/{kdebugrc,kdebug.areas} r,
  /usr/share/kubuntu-default-settings/kde?-profile/default/share/config/{kdebugrc,kdeglobals,oxygenrc} r,
  /usr/share/{gvfs,themes}/** r,
  /var/run/resolvconf/resolv.conf r,
  owner @{HOME}/ r,
  owner @{HOME}/*{kderc,farbprofil.icm,Xresources} r,
  owner @{HOME}/.adobe/ r,
  owner @{HOME}/.adobe/** r,
  owner @{HOME}/.cache/* rw,
  owner @{HOME}/.config/gtk-?.?/* rwl,
  owner @{HOME}/.config/oxygen-gtk/argb-apps.conf r,
  owner @{HOME}/.config/{user-dirs.dirs,Trolltech.conf} r,
  owner @{HOME}/.config/{gtk-?.?,gtk-qt-engine,qtcurve}/* r,
  owner @{HOME}/.gnome2/** rw,
  owner @{HOME}/.gtkrc-* r,
  owner @{HOME}/.kde/share/apps/kfileplaces/ r,
  owner @{HOME}/.kde/share/apps/kfileplaces/* rwl,
  owner @{HOME}/.kde/share/config/{gtkrc-?.?,kcmshellrc,kdebugrc,kdeglobals,oxygenrc} rk,
  owner @{HOME}/.local/share/ r,
  owner @{HOME}/.local/share/user-places* rwl,
  @{HOME}/.macromedia/ r,
  @{HOME}/.macromedia/** r,
  owner @{HOME}/.mozilla/ r,
  owner @{HOME}/.mozilla/** rwlk,
  owner @{HOME}/.mozilla/firefox/*/extensions/addon_name*/**.so mr,

}

Verweise auf aktuelle Seite