-
Notifications
You must be signed in to change notification settings - Fork 570
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Too many features #5190
Comments
And that's exactly what we are going to do! I would say for most features we'll have compile time and run time configuration. Then we need to talk what we keep in the default configuration most people are using. |
You can split privileged parts into a much smaller binary. Then, you can add more features in another binary. |
We've been doing it for a few years now. The files starting in "f" in /usr/lib/firejail directory (fseccomp, fcopy etc.) have been split out from SUID binary and are run in a temporary sandbox (see src/firejail/sbox.c). We even run external some programs this way - the largest one is ISC DHCP client (dhclient). I would say adding new fancy features in this moment is quite easy. |
Is anybody using --tracelog or --cgroup? I would take them out, I mean completely gone! |
Does it even work with an unified hierarchy (aka. v2)? No, I don't think there is any relevant use.
It's still useful I think. Maybe we can keep libtracelog.so and make --tracelog just an alias for |
I do use Although I've used the BUT, and this is a Personally I always liked Firejail's more
|
My two cents to your two cents: Firstly I fully agree with "implement[ing] a finer-grained compile/run time configuration model and have a 'reasonable' set of defaults." Secondly I think we should cut of code/feature. More precisely features that are less used, have high complexity and haven't seen any love since they were implemented. |
@rusty-snake Thanks for your reply. I don't see much - if any - difference in our stance here. Underdeveloped features are indeed a sore point and I can understand if those would get dropped. Currently we have zero profiles that carry the |
OK, let's keep trackelog in, but we disable it by default in /etc/firejail/firejail.config I have removed cgroups code, maybe we will bring it back if we ever implement the "unified" cgroups interface in the kernel. More to come, I'll keep a list with what was done on the top item. |
Has there been discussion on eventually dropping
|
@netblue30 commented on Jun 13:
I don't have strong feelings on either change related to the issues below, but |
@WhyNotHugo I don't think that's part of the discussion here. It can be awkward to get used to the difference between those options, very true. I prefer whitelisting profiles (too), but not every application can (easily) be sandboxed like that. So I guess a |
Agreeing with @glitsj16 making
|
I disabled private-lib in /etc/firejail/firejail.config. Out of 1191 profiles only 70 were using it. |
private-lib is still initialized as firejail/src/firejail/checkcfg.c Lines 49 to 63 in db0349a
|
Fixed, thanks! |
Before running test/fs/private-lib.exp. Inspired by the configuration changes that are done on test/root/checkcfg.exp. Reason: Since commit 9741d0b ("fix disabled private-lib in /etc/firejail/firejail.config", 2022-06-23), the "build_and_test" job fails with the following error[1]: TESTING: private-lib (test/fs/private-lib.exp) spawn /bin/bash firejail --private-lib --private-bin=sh,bash,dash,ps,grep,ls,find,echo,stty runner@fv-az489-993:~/work/firejail/firejail/test/fs$ <private-bin=sh,bash,dash,ps,grep,ls,find,echo,stty Error: private-lib feature is disabled in Firejail configuration file runner@fv-az489-993:~/work/firejail/firejail/test/fs$ TESTING ERROR 1 This fixes CI. Fixes netblue30#5214. Relates to netblue30#5190. [1] https://github.com/netblue30/firejail/runs/7030862406
Before running test/fs/private-lib.exp. Inspired by the configuration changes that are done on test/root/checkcfg.exp. Reason: Since commit 9741d0b ("fix disabled private-lib in /etc/firejail/firejail.config", 2022-06-23), the "build_and_test" job fails with the following error[1]: TESTING: private-lib (test/fs/private-lib.exp) spawn /bin/bash firejail --private-lib --private-bin=sh,bash,dash,ps,grep,ls,find,echo,stty runner@fv-az489-993:~/work/firejail/firejail/test/fs$ <private-bin=sh,bash,dash,ps,grep,ls,find,echo,stty Error: private-lib feature is disabled in Firejail configuration file runner@fv-az489-993:~/work/firejail/firejail/test/fs$ TESTING ERROR 1 This fixes CI. Fixes netblue30#5214. Relates to netblue30#5190. [1] https://github.com/netblue30/firejail/runs/7030862406
Before running test/fs/private-lib.exp. Inspired by the configuration changes that are done on test/root/checkcfg.exp. Reason: Since commit 9741d0b ("fix disabled private-lib in /etc/firejail/firejail.config", 2022-06-23), the "build_and_test" job fails with the following error[1]: TESTING: private-lib (test/fs/private-lib.exp) spawn /bin/bash firejail --private-lib --private-bin=sh,bash,dash,ps,grep,ls,find,echo,stty runner@fv-az489-993:~/work/firejail/firejail/test/fs$ <private-bin=sh,bash,dash,ps,grep,ls,find,echo,stty Error: private-lib feature is disabled in Firejail configuration file runner@fv-az489-993:~/work/firejail/firejail/test/fs$ TESTING ERROR 1 This fixes CI. Fixes netblue30#5214. Relates to netblue30#5190. [1] https://github.com/netblue30/firejail/runs/7030862406
Before running test/fs/private-lib.exp. Inspired by the configuration changes that are done on test/root/checkcfg.exp. Reason: Since commit 9741d0b ("fix disabled private-lib in /etc/firejail/firejail.config", 2022-06-23), the "build_and_test" job fails with the following error[1]: TESTING: private-lib (test/fs/private-lib.exp) spawn /bin/bash firejail --private-lib --private-bin=sh,bash,dash,ps,grep,ls,find,echo,stty runner@fv-az489-993:~/work/firejail/firejail/test/fs$ <private-bin=sh,bash,dash,ps,grep,ls,find,echo,stty Error: private-lib feature is disabled in Firejail configuration file runner@fv-az489-993:~/work/firejail/firejail/test/fs$ TESTING ERROR 1 This fixes CI. Fixes #5214. Relates to #5190. [1] https://github.com/netblue30/firejail/runs/7030862406
Closing it for now. Any other ideas we'll reopen it. |
And add the missing issue/PR references. Misc: The items in question were added on commit 6d740d7 ("RELNOTES and README.md - existing functionality modified for the next version", 2022-08-29). Relates to netblue30#5190 netblue30#5196 netblue30#5200 netblue30#5209 netblue30#5216.
This reverts commit 393c5be. Which broke mpv: $ mpv --version Cannot start application: No such file or directory Probably because mpv itself uses many libraries and it has plugins that may depend on files in /usr/lib as well: $ pacman -Qlq mpv | grep /lib/ | grep -v '/$' /usr/lib/libmpv.so /usr/lib/libmpv.so.1 /usr/lib/libmpv.so.1.109.0 /usr/lib/pkgconfig/mpv.pc $ strings /usr/bin/mpv | grep '^lib.*\.so' | sort -u | wc -l 53 $ pacman -Qlq yt-dlp | grep /lib/ | grep -v '/$' | cut -f -4 -d / | sort -u /usr/lib/python3.10 $ pacman -Q mpv yt-dlp mpv 1:0.34.1-5 yt-dlp 2022.09.01-1 Environment: Artix Linux. Also, private-lib is disabled by default in firejail.config (see netblue30#5190) and mpv.profile does not use private-lib, so there should be no need to whitelist anything in /usr/lib in the default profile.
Done so far:
Discussed in #5183
Originally posted by SkewedZeppelin June 8, 2022
The past few versions have been adding more and more arguable unnecessary features further increasing attack surface of firejail.
The best part of firejail is the collection of ready to use profiles for programs, nothing else offers this.
What ever happened to the minimal LTS version?
Can these be #ifdef'ed out?
any others?
Originaly posted by rusty-snake June 8, 2022
While for us #ifdef works good, the most users will get their firejail binary from their package-manager. Therefore we should make sure that there are options in firejail.config to disable those features too (--appimage has one).
The text was updated successfully, but these errors were encountered: