Commit graph

47 commits

Author SHA1 Message Date
rusty-snake
4747e0ed7f
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

*
2020-03-31 16:51:02 +00:00
glitsj16
9f90e7924d
Add wusc to more profiles (#3005)
* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add qt/qt4 support to wusc

* Add wusc to more profiles

* Add wusc to more profiles

* Update enchant.profile

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add wusc to more profiles

* Add /usr/share/ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc

* Add ca-certs to wusc
2019-10-18 22:22:06 +00:00
smitsohu
aa2bdffc4b
add disable-exec.inc to all profiles with apparmor (#2576)
* add disable-exec.inc to all profiles with apparmor - #2385 #2505

* drop disable-exec.inc from generic electron.profile
2019-03-12 20:44:51 +00:00
Tad
06c35aedc7 Disable mdwx in profiles broken by 59e30614ad 2019-03-08 12:33:38 -05:00
Tad
18e2e7bfda small profile fixups
- clamtk: disable mwde, breaks new version 6.00
- gnome-calculator: comment private-lib, breaks currency conversion
2019-02-26 15:26:19 -05:00
glitsj16
223131c24f
Harden gnome-calculator.profile (#2460) 2019-02-24 21:36:41 +00:00
glitsj16
93ac558887
Unbreak currency conversion for gnome-calculator 2019-01-20 17:16:21 +00:00
glitsj16
5e5bffc472
Harden gnome-calculator profile 2019-01-20 07:09:09 +00:00
netblue30
92bff8a23c
Merge pull request #2201 from SkewedZeppelin/u2f-ap
Add nou2f to all profiles
2018-10-17 08:00:00 -05:00
Glenn Washburn
7c533c9aa5 Remove "/etc/firejail/" from all include paths, now that profile_read will search for the file. 2018-10-17 00:43:54 -05:00
Tad
284e0750e5 Add nou2f to all profiles
- Closes #2194
2018-10-15 13:14:15 -04:00
Tad
40330b246d Add descriptions to profiles, pulled from Ubuntu 18.04 2018-08-13 21:48:41 -04:00
Tad
94a0123568 Initial adding of disable-xdg.inc 2018-07-24 08:54:45 -04:00
netblue30
7dbb224505 globbing support in private-lib 2018-05-25 07:12:00 -04:00
Fred Barclay
2d8ff695ad
WIP: Blacklist common programming interpreters. (#1837)
* Use path variable instead of full path when blacklisting devel tools.

* Part 1: blacklist python, perl, ruby, etc in disable-interpreters.inc

* Part 2: allow access to java as needed

* Typo: missing blacklist

* Part 3: allow perl access as needed

* typo

* Add xreader thumbnailer and previewer profiles

* Add xplayer audio-preview and thumbnailer profiles

* Add atril thumbnailer and previewer profiles

* More fixups after adding disable-interpreters.inc

* Blacklist javac

* More javac noblacklisting

* Remove javac from dex2jar, libreoffice, multimc5, and pdfsam profiles

* --nodbus, first draft for #1825

* dbus.c

* rework akonadi integration

the usr.sbin.mysqld-akonadi apparmor profile, enforced by default in ubuntu and
debian testing (and probably opensuse), doesn't play well with a number of firejail options.
the reason for this is that once the no_new_privs bit is set, apparmor profile
transitions are forbidden.

enforcing our own apparmor policy instead is also no solution, because
these programs don't even start without d-bus.

relaxing the kmail profile was necessary so that kmail can fire up akonadi itself,
just in case akonadi has not been started earlier already by another program.
this is always an issue when kmail is the only installed akonadi client, but
there may be more circumstances. for reasons outlined above this doesn't help
debian and ubuntu (opensuse?) users though :-/

a brief summary of the seccomp exceptions: chroot is needed for qt webengine,
io_prioset for the akonadi indexing agent, io_getevents, io_submit, io_setup
are needed for mysqld. when akonadi has an sqlite3 backend, less exceptions
to the seccomp filter are necessary, but mysqld is the default.

in the future all kontact suite profiles  (itm only kmail, knotes) should
probably be redirections to akonadi_control, but the issues with apparmor
make this somewhat impractical for now (options like 'protocol' couldn't go to
akonadi_control.local any more, if current kmail redirected to there).

* Add nodbus to some profiles - part 1

* Spotify works with nodbus on Arch

* Enable nodbus for keepassx and keepassxc profiles.

I've tested on keepassxc but should work for keepassx as well. Settings are not immutable.

* recalibrate dbus access, deploy nodbus option

see #1822 and #1825. also systematically replaces
'blacklist /run/user/*/bus' with 'nodbus'.

with contributions from @Fred-Barclay

* various blacklist additions

* Add a profile for ncdu, enable private-etc in Steam again, and fixup gnome-recipes

* comment nodbus where it interferes with dconf

pending further discussion

* Add a disabled and extensive private-bin for Steam

* Further improve private-bin in steam

* comment apparmor, net where they interfere with dconf - #1843

* gnome-calculator fixup

* spectre support for clang compiler

* spectre clang support

* enable/disable dbus handling in /etc/firejail/firejail.config

* nodbus man pages, etc.

* redirect knotes to kmail, some tweaks

* testing

* gimp fixup

* Even more fixups after adding disable-interpreters.inc

* AWS and GCP store credentials in local directories as part of project setup.

Configuration for cloud providers is sensitive information; it should be
in the default block list. I didn't see profiles for gcloud or awscli,
so haven't added any exclusions.

boto and kubectl are not provider-specific, but also store credentials for
whichever platforms they happen to be being used with.

* testing

* consolidate makefiles

* gitignore

* Use path variable instead of full path when blacklisting devel tools.

* Part 1: blacklist python, perl, ruby, etc in disable-interpreters.inc

* Part 2: allow access to java as needed

* Typo: missing blacklist

* Part 3: allow perl access as needed

* typo

* More fixups after adding disable-interpreters.inc

* Blacklist javac

* More javac noblacklisting

* Remove javac from dex2jar, libreoffice, multimc5, and pdfsam profiles

* Cleanup rebase leftovers

* imagej doesn't need javac access

* Add cc to blacklisted compilers

* Use wildcards when blacklisting some gcc paths

* Blacklist lua in disable-interpreters

* Correct blacklist for node.js

* Fred Barclay note: some of these commits (all of the ones that don't affect files inside etc/) aren't mine but were added during a rebase + squash
2018-04-02 10:56:55 -05:00
Fred Barclay
1489cd58f8
Merge pull request #1851 from glitsj16/gnome-calculator
Fix private-lib for gnome-calculator
2018-04-01 11:50:37 -05:00
glitsj16
620d3f93fb
Fix the fix
Forgot to take out [libplotinus.so](https://github.com/p-e-w/plotinus). Something I use myself in all GTK apps, but which isn't needed whatsoever for gnome-calculator.
2018-04-01 07:58:43 +00:00
glitsj16
6216347485
Fix private-lib
This fixes https://github.com/netblue30/firejail/issues/1841.
2018-04-01 07:55:24 +00:00
smitsohu
34771dde86 gnome-calculator fixup 2018-03-30 12:41:34 +02:00
smitsohu
3a6f7552de comment apparmor, net where they interfere with dconf - #1843 2018-03-30 12:13:38 +02:00
smitsohu
02d290cacf comment nodbus where it interferes with dconf
pending further discussion
2018-03-29 16:20:49 +02:00
smitsohu
7a37dc31ab recalibrate dbus access, deploy nodbus option
see #1822 and #1825. also systematically replaces
'blacklist /run/user/*/bus' with 'nodbus'.

with contributions from @Fred-Barclay
2018-03-28 03:23:59 +02:00
Tad
68fd00cfe4 Move apparmor option to the top of the options list in all profiles 2018-03-17 15:56:06 -04:00
netblue30
971c62aa56 apparmor deployment 2018-03-16 11:00:08 -04:00
Tad
27f32e45d2 More fixes for /etc/profile and mdwe
- Adds noblacklist /etc/profile.d to many profiles like 2e17082ba4 and 970f739e2b
- Disables mdwe to workaround #1803 like 970f739e2b
2018-03-12 17:48:53 -04:00
Tad
215d748143 Fix GNOME shell calculator search 2017-10-24 15:56:44 -04:00
netblue30
ab47002700 private-lib 2017-10-09 16:56:15 -04:00
Tad
e0f00fe529 Fix gnome-calculator missing theme 2017-09-24 12:49:01 -04:00
netblue30
18d83b528d whitelist /var - Xubuntu fixes 2017-09-17 13:19:06 -04:00
smitsohu
a6a8241c95 profile enhancements (mostly novideo) 2017-08-29 14:30:28 +02:00
Tad
104dde49c0 Fix nodvd placement 2017-08-13 15:53:04 -04:00
netblue30
647b6a220e added nodvd to most profiles 2017-08-13 07:36:06 -04:00
Tad
71f838b5ba Fix notv placement 2017-08-11 21:03:13 -04:00
netblue30
b97ca53e7b added notv to most profiles 2017-08-11 10:21:18 -04:00
Tad
00ea93e518 Fix comments in 88 profiles
There may actually be some other comments that were removed, but the bulk have been restored
2017-08-07 01:26:34 -04:00
Tad
9e3ba319be Unify all profiles 2017-08-07 01:22:08 -04:00
Tad
b18f42ab02 Initial adding of memory-deny-write-execute to profiles
- mdwe breaks most vm-based languages so python/java/javascript and some mono programs are not compatible
- mdwe also breaks most 3d accelerated programs such as 3d games
- mdwe is similar to PaX's mprotect meaning PaX flag managers can be used as reference
-- See https://github.com/copperhead/paxd-archive/blob/master/paxd.conf
-- See https://github.com/nning/linux-pax-flags
2017-08-02 00:13:42 -04:00
Tad
0dba38435e Harden profiles
- Added 'disable-devel.conf' to many profiles
- Added 'disable-mnt' to many profiles
- Added 'noexec' to many profiles
- Removed 'netfilter' and 'net none' from profiles with 'protocol unix'
- Cleaned up profiles using defaults
2017-08-02 00:13:42 -04:00
Tad
5354f20012 Harden 50 profiles
Hardened many profiles using disable-mnt and novideo
Fixed gnome-font-viewer
2017-07-04 11:35:29 -04:00
netblue30
dce9b9b9eb added /etc/firejail/globals.local for global customizations 2017-05-23 12:02:22 -04:00
SYN-cook
ec87428239 ipc-namespace issue 2017-05-23 13:03:14 +02:00
netblue30
f94b3bb275 gnome fixes 2017-04-18 08:36:23 -04:00
Tad
4f238b75de Harden more profiles 2017-04-17 17:11:24 -04:00
Tad
b5f29f9c21 Harden 9 more profiles 2017-04-16 08:12:31 -04:00
Tad
b7d51c2df6 Harden 19 more profiles 2017-04-15 16:07:25 -04:00
netblue30
975c6f327f persistent support for all profile files 2017-02-09 10:53:33 -05:00
Tad
6900970979 Add 10 new profiles
Added profiles for Bless, Gnome 2048, Gnome Calculator, Gnome Contacts, JD-GUI, Lollypop, MultiMC5, PDFSam, Pithos, and Xonotic
2016-11-29 07:02:03 -05:00