Commit graph

23 commits

Author SHA1 Message Date
netblue30
018d75775e reorganize github etc directory 2020-04-21 08:24:28 -04:00
netblue30
a81a8b4539 profile fixes 2020-03-18 12:28:19 -04:00
rusty-snake
f1646d20bd fix brasero 2019-12-06 19:07:05 +01:00
rusty-snake
4c93526960
many profile cleanup (4)
containing:
 - files forgotten in 4beaf8f9
 - workarounds for #903
 - commented useless private-etc lines removed
 - remove commented seccomp.keep lines
 - much more
2019-06-16 13:04:28 +02:00
netblue30
b9c8a94590 adding disable-exec.inc to the remaining profiles 2019-04-12 11:53:09 -04:00
Fred-Barclay
83ddb3e5b2
Add alternatives to private-etc for profiles in etc/
See discussion in #2399
2019-02-17 12:09:02 -06: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
40330b246d Add descriptions to profiles, pulled from Ubuntu 18.04 2018-08-13 21:48:41 -04:00
Tad
b885aec301 Add private-cache to many profiles
grep "cache" -L $(grep "redirect" -iL $(grep "whitelist" -RL))
2018-06-14 17:28:34 -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
Tad
5018a209d2 Misc profile hardening and fixes 2018-03-18 21:35:55 -04:00
Fred-Barclay
eb4b505ac2 Consistent home directory nomenclature 2017-11-17 12:32:32 -06: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
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
Fred Barclay
05fbfe6389
test: add novideo to profiles (part 1) 2017-06-15 12:02:43 -05:00
netblue30
2fcac103e5 commented out ipc-namespace in most profiles - it breaks newer versions of GDK with the following error: Gdk-ERROR **: The program 'thunderbird' received an X Window System error 2017-05-25 07:27:26 -04:00
netblue30
dce9b9b9eb added /etc/firejail/globals.local for global customizations 2017-05-23 12:02:22 -04:00
Tad
0502ac9cb5 Harden some more profiles 2017-04-17 21:43:06 -04:00
netblue30
975c6f327f persistent support for all profile files 2017-02-09 10:53:33 -05:00
valoq
fa10ab0e09
many new profiles 2016-11-19 21:57:42 +01:00