Whitelist runuser common (#3286)

* introduce whitelist-runuser-common.inc

 * If an applications does not need a whitelist it can/should be
   nowhitelisted. Example:

     nowhitelist ${RUNUSER}/pulse
     include whitelist-runuser-common.inc

 * ${RUNUSER}/bus is inaccessible with nodbus regardless of the
   whitelist. (as it should)

 * strange wayland setups with an second wayland-compostior need to
   whitelist ${RUNUSER}/wayland-1, ${RUNUSER}/wayland-2 and so on.

 * some display-manager store there Xauthority file in ${RUNUSER}.
   test results with fedora 31:
   - ssdm: ~/.Xauthority is used
   - lightdm: /run/lightdm/USER/Xauthority
   - gdm: /run/user/UID/gdm/Xauthority

 * IMPORTANT: ATM we can only enable this for non-graphical and GTK3
   programs because mutter (GNOMEs window-manger) stores the Xauthority
   file for Xwayland under /run/user/UID/.mutter-Xwaylandauth.XXXXXX
   where XXXXXX is random. Until we have whitelist globbing we can't
   whitelist this file. QT/KDE and other toolkits without full wayland
   support won't be able to start.

* wru update 1

- add wru to more profiles.
- blacklist ${RUNUSER} works for the most cli programs too.

* add wruc to more profiles

* fixes

* fixes

* wruc: hide pulse pid

* update

* remove wruc from all the x11 profiles

* fixes

* fix ordering

* read-only

* revert read-only

* update

*
This commit is contained in:
rusty-snake 2020-03-31 16:51:02 +00:00 committed by GitHub
parent 19eca5fd83
commit 4747e0ed7f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
74 changed files with 116 additions and 12 deletions

View file

@ -3,6 +3,7 @@ firejail (0.9.63) baseline; urgency=low
* DHCP client support
* SELinux labeling support
* 32-bit seccomp filter
* restrict ${RUNUSER} in serveral profiles
* new condition: HAS_NOSOUND
* new profiles: gfeeds, firefox-x11, tvbrowser, rtv, clipgrab, muraster
* new profiles: gnome-passwordsafe, bibtex, gummi, latex, mupdf-x11-curl

View file

@ -14,6 +14,8 @@ include disable-passwdmgr.inc
# include disable-programs.inc
# include disable-xdg.inc
include whitelist-runuser-common.inc
caps.drop all
net none
no3d

View file

@ -24,6 +24,7 @@ include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -10,6 +10,8 @@ include globals.local
noblacklist ${HOME}/.curlrc
blacklist /tmp/.X11-unix
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
include disable-common.inc
include disable-exec.inc

View file

@ -24,6 +24,7 @@ mkdir ${HOME}/.config/d-feet
whitelist ${HOME}/.config/d-feet
whitelist /usr/share/d-feet
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -16,6 +16,7 @@ include disable-xdg.inc
whitelist ${HOME}/.local/share/glib-2.0
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -11,6 +11,8 @@ noblacklist ${HOME}/.digrc
noblacklist ${PATH}/dig
blacklist /tmp/.X11-unix
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
include disable-common.inc
# include disable-devel.inc

View file

@ -18,6 +18,8 @@ include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc
include whitelist-runuser-common.inc
caps.drop all
netfilter
no3d

View file

@ -21,6 +21,7 @@ include disable-xdg.inc
mkdir ${HOME}/.config/enchant
whitelist ${HOME}/.config/enchant
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -18,6 +18,7 @@ include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -21,6 +21,7 @@ whitelist /usr/share/doc
whitelist /usr/share/evince
whitelist /usr/share/poppler
whitelist /usr/share/tracker
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -23,6 +23,8 @@ include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
caps.drop all
netfilter
# no3d breaks under wayland

View file

@ -23,6 +23,7 @@ whitelist ${HOME}/.cache/feedreader
whitelist ${HOME}/.local/share/feedreader
whitelist /usr/share/feedreader
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -14,6 +14,7 @@ include disable-passwdmgr.inc
include disable-programs.inc
whitelist /usr/share/file-roller
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -8,6 +8,7 @@ include file.local
include globals.local
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
include disable-common.inc
include disable-exec.inc

View file

@ -17,6 +17,8 @@ include disable-common.inc
include disable-devel.inc
include disable-interpreters.inc
include disable-programs.inc
include whitelist-runuser-common.inc
include whitelist-var-common.inc
caps.drop all

View file

@ -17,6 +17,8 @@ include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc
include whitelist-runuser-common.inc
caps.drop all
ipc-namespace
netfilter

View file

@ -19,6 +19,7 @@ include disable-exec.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
include whitelist-var-common.inc
# apparmor - makes settings immutable

View file

@ -29,6 +29,7 @@ whitelist ${HOME}/.cache/org.gabmus.gfeeds
whitelist ${HOME}/.config/org.gabmus.gfeeds.json
whitelist /usr/share/gfeeds
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -28,6 +28,7 @@ include disable-programs.inc
#include whitelist-common.inc
whitelist /usr/share/gitg
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -22,6 +22,7 @@ include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -17,6 +17,8 @@ include disable-common.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
caps.drop all
ipc-namespace
netfilter

View file

@ -16,6 +16,7 @@ include disable-programs.inc
include disable-xdg.inc
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -19,6 +19,7 @@ include disable-xdg.inc
whitelist /usr/share/org.gnome.Characters
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -17,6 +17,7 @@ include disable-xdg.inc
whitelist /usr/share/gnome-clocks
whitelist /usr/share/libgweather
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -17,6 +17,7 @@ include disable-programs.inc
include disable-xdg.inc
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-var-common.inc
caps.drop all

View file

@ -15,9 +15,8 @@ include disable-programs.inc
include disable-xdg.inc
mkdir ${HOME}/.cache/mesa_shader_cache
whitelist ${RUNUSER}/pulse
whitelist ${RUNUSER}/wayland-0
whitelist /usr/share/gnome-hexgl
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -22,6 +22,7 @@ include disable-programs.inc
whitelist /usr/share/gnome-latex
whitelist /usr/share/perl5
whitelist /usr/share/texlive
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
# May cause issues.
#include whitelist-var-common.inc

View file

@ -15,6 +15,7 @@ include disable-programs.inc
include disable-xdg.inc
whitelist /var/log/journal
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -35,6 +35,7 @@ whitelist ${PICTURES}
whitelist /usr/share/gnome-maps
whitelist /usr/share/libgweather
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -21,6 +21,7 @@ include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc
include whitelist-runuser-common.inc
include whitelist-var-common.inc
apparmor

View file

@ -16,6 +16,7 @@ include disable-xdg.inc
whitelist /usr/share/gnome-nettool
#include whitelist-common.inc -- see #903
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -21,13 +21,9 @@ include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc
whitelist ${RUNUSER}/bus
# If you have a second wayland compositor, whitelist its socket here.
whitelist ${RUNUSER}/wayland-0
whitelist ${RUNUSER}/gdm/Xauthority
whitelist /usr/share/cracklib
whitelist /usr/share/passwordsafe
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -17,6 +17,7 @@ include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
include whitelist-var-common.inc
apparmor

View file

@ -39,6 +39,7 @@ whitelist /usr/share/gnome-schedule
whitelist /var/spool/atd
whitelist /var/spool/cron
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -17,11 +17,8 @@ include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc
whitelist ${RUNUSER}/bus
whitelist ${RUNUSER}/pulse
whitelist ${RUNUSER}/gdm/Xauthority
whitelist ${RUNUSER}/wayland-0
include whitelist-usr-share-common.inc
include whitelist-runuser-common.inc
include whitelist-var-common.inc
apparmor

View file

@ -21,6 +21,7 @@ include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc
include whitelist-runuser-common.inc
include whitelist-var-common.inc
caps.drop all

View file

@ -21,9 +21,12 @@ include disable-xdg.inc
mkdir ${HOME}/.gnupg
whitelist ${HOME}/.gnupg
whitelist ${RUNUSER}/gnupg
whitelist ${RUNUSER}/keyring
whitelist /usr/share/gnupg
whitelist /usr/share/gnupg2
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -18,9 +18,12 @@ include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
whitelist ${RUNUSER}/gnupg
whitelist ${RUNUSER}/keyring
whitelist /usr/share/gnupg
whitelist /usr/share/gnupg2
whitelist /usr/share/pacman/keyrings
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -15,6 +15,7 @@ include disable-programs.inc
include disable-xdg.inc
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -7,6 +7,7 @@ include highlight.local
include globals.local
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
include disable-common.inc
include disable-devel.inc

View file

@ -14,6 +14,7 @@ include disable-passwdmgr.inc
include disable-programs.inc
whitelist /var/lib
include whitelist-runuser-common.inc
include whitelist-var-common.inc
caps.drop all

View file

@ -8,6 +8,7 @@ include less.local
include globals.local
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
noblacklist ${HOME}/.lesshst

View file

@ -24,6 +24,7 @@ include disable-xdg.inc
mkdir ${HOME}/.links
whitelist ${HOME}/.links
whitelist ${DOWNLOADS}
include whitelist-runuser-common.inc
include whitelist-var-common.inc
caps.drop all

View file

@ -16,6 +16,8 @@ include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc
include whitelist-runuser-common.inc
caps.drop all
netfilter
no3d

View file

@ -36,6 +36,8 @@ include disable-passwdmgr.inc
# Uncomment the next line (or put it into your meld.local) if you don't need to compare files in disable-programs.inc.
#include disable-programs.inc
include whitelist-runuser-common.inc
# Uncomment the next lines (or put it into your meld.local) if you don't need to compare files in /usr/share.
#whitelist /usr/share/meld
#include whitelist-usr-share-common.inc

View file

@ -40,6 +40,8 @@ include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
caps.drop all
netfilter
no3d

View file

@ -19,6 +19,7 @@ include disable-xdg.inc
mkdir ${HOME}/.newsboat
whitelist ${HOME}/.newsboat
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-var-common.inc
caps.drop all

View file

@ -7,6 +7,10 @@ include nslookup.local
# Persistent global definitions
include globals.local
blacklist /tmp/.X11-unix
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
noblacklist ${PATH}/nslookup
include disable-common.inc

View file

@ -8,6 +8,7 @@ include pandoc.local
include globals.local
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
noblacklist ${DOCUMENTS}

View file

@ -8,6 +8,7 @@ include patch.local
include globals.local
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
noblacklist ${DOCUMENTS}

View file

@ -7,6 +7,7 @@ include pdftotext.local
include globals.local
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
noblacklist ${DOCUMENTS}

View file

@ -7,6 +7,10 @@ include ping.local
# Persistent global definitions
include globals.local
blacklist /tmp/.X11-unix
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
include disable-common.inc
include disable-devel.inc
include disable-exec.inc

View file

@ -6,7 +6,6 @@ include pitivi.local
# Persistent global definitions
include globals.local
noblacklist ${HOME}/.config/pitivi
# Allow python (blacklisted by disable-interpreters.inc)
@ -20,6 +19,7 @@ include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
include whitelist-var-common.inc
apparmor

View file

@ -16,6 +16,8 @@ include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc
apparmor

View file

@ -28,6 +28,7 @@ whitelist ${HOME}/.local/share/TpLogger
whitelist ${HOME}/.local/share/telepathy
whitelist ${HOME}/.purple
include whitelist-common.inc
include whitelist-runuser-common.inc
caps.drop all
netfilter

View file

@ -19,6 +19,7 @@ include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc
include whitelist-runuser-common.inc
include whitelist-var-common.inc
caps.drop all

View file

@ -25,6 +25,7 @@ include disable-xdg.inc
whitelist /usr/share/rhythmbox
whitelist /usr/share/lua
whitelist /usr/share/libquvi-scripts
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -14,6 +14,7 @@ include globals.local
blacklist /tmp/.X11-unix
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
include disable-common.inc
include disable-devel.inc

View file

@ -31,7 +31,10 @@ whitelist /usr/share/gnupg
whitelist /usr/share/gnupg2
whitelist /usr/share/seahorse
whitelist /usr/share/seahorse-nautilus
whitelist ${RUNUSER}/gnupg
whitelist ${RUNUSER}/keyring
#include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -8,6 +8,7 @@ include shellcheck.local
include globals.local
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
noblacklist ${DOCUMENTS}

View file

@ -18,7 +18,10 @@ include disable-exec.inc
include disable-passwdmgr.inc
include disable-programs.inc
whitelist ${RUNUSER}/keyring/ssh
whitelist ${RUNUSER}/gnupg/S.gpg-agent.ssh
include whitelist-usr-share-common.inc
include whitelist-runuser-common.inc
caps.drop all
ipc-namespace

View file

@ -8,6 +8,7 @@ include strings.local
include globals.local
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
#include disable-common.inc
include disable-devel.inc

View file

@ -27,6 +27,7 @@
# ALLOW INCLUDES
# BLACKLISTS
# DISABLE INCLUDES
# NOWHITELISTS
# MKDIRS
# WHITELISTS
# WHITELIST INCLUDES
@ -62,6 +63,8 @@ include globals.local
#blacklist /tmp/.X11-unix
# Disable Wayland
#blacklist ${RUNUSER}/wayland-*
# Disable RUNUSER (cli only)
#blacklist ${RUNUSER}
# It is common practice to add files/dirs containing program-specific configuration
# (often ${HOME}/PROGRAMNAME or ${HOME}/.config/PROGRAMNAME) into disable-programs.inc
@ -116,6 +119,7 @@ include globals.local
##mkfile PATH
#whitelist PATH
#include whitelist-common.inc
#GTK3 only: include whitelist-runuser-common.inc
#include whitelist-usr-share-common.inc
#include whitelist-var-common.inc

View file

@ -17,6 +17,8 @@ include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
caps.drop all
netfilter
no3d

View file

@ -7,6 +7,8 @@ include transmission-gtk.local
# Persistent global definitions
include globals.local
include whitelist-runuser-common.inc
private-bin transmission-gtk
ignore memory-deny-write-execute

View file

@ -16,6 +16,7 @@ include disable-xdg.inc
whitelist /usr/share/wireshark
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -17,6 +17,8 @@ include disable-common.inc
include disable-passwdmgr.inc
include disable-programs.inc
include whitelist-runuser-common.inc
caps.drop all
netfilter
nodvd

View file

@ -20,6 +20,8 @@ include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc
include whitelist-runuser-common.inc
caps.drop all
netfilter
no3d

View file

@ -13,6 +13,7 @@ noblacklist ${HOME}/.wgetrc
blacklist /tmp/.X11-unix
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
include disable-common.inc
include disable-devel.inc

View file

@ -0,0 +1,10 @@
# Local customizations come here
include whitelist-runuser-common.local
# common ${RUNUSER} (=/run/user/$UID) whitelist for all profiles
whitelist ${RUNUSER}/bus
whitelist ${RUNUSER}/dconf
whitelist ${RUNUSER}/gdm/Xauthority
whitelist ${RUNUSER}/pulse/native
whitelist ${RUNUSER}/wayland-0

View file

@ -9,6 +9,7 @@ include globals.local
blacklist /tmp/.X11-unix
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
include disable-common.inc
include disable-devel.inc

View file

@ -23,6 +23,7 @@ whitelist /usr/share/help
whitelist /usr/share/yelp
whitelist /usr/share/yelp-xsl
include whitelist-common.inc
include whitelist-runuser-common.inc
include whitelist-usr-share-common.inc
include whitelist-var-common.inc

View file

@ -22,6 +22,7 @@ include allow-python3.inc
blacklist /tmp/.X11-unix
blacklist ${RUNUSER}/wayland-*
blacklist ${RUNUSER}
include disable-common.inc
include disable-devel.inc