cross-posted from: https://lemmy.ml/post/12400033 (Thank you https://lemmy.ml/u/Kory !)
I first used Linux about 5 years ago (Ubuntu). Since then, I have tried quite a few distros:
Kali Linux (Use as a secondary)
Linux Mint (Used for a while)
Arch Linux (Could not install)
Tails (Use this often)
Qubes OS (Tried it twice, not ready yet)
Fedora (Current main)
For me, it has been incredibly difficult to find a properly privacy oriented Linux distro that also has ease of use. I really enjoy the GNOME desktop environment, and I am most familiar with Debian. My issue with Fedora is the lack of proper sandboxing, and it seems as though Qubes is the only one that really takes care in sandboxing apps.
Apologies if this is the wrong community for this question, I would be happy to move this post somewhere else. I’ve been anonymously viewing this community after the Rexodus, but this is my first time actually creating a post. Thank you!
UPDATE:
Thank you all so much for your feedback! The top recommended distro by far was SecureBlue, an atomic distro, so I will be trying that one. If that doesn’t work, I may try other atomic distros such as Fedora Atomic or Fedora Silverblue (I may have made an error in my understanding of those two, please correct my if I did!). EndeavourOS was also highly recommended, so if I’m not a fan of atomic distros I will be using that. To @leraje@lemmy.blahaj.zone, your suggestion for Linux Mint Debian Edition with GNOME sounds like a dream, so I may use it as a secondary for my laptop. Thank you all again for your help and support, and I hope this helps someone else too!
No you dont haha. I used it in a VM, then on a seperate SSD. In the beginning it was a total mess with random packages removed and we needed to find out ways to disable stuff like printing, so they can be added back.
Btw if you find a reliable way to 100% disable kde-connect, that would be awesome as it could be added back.
override remove
d packages on these images can neither be added back nor resetted, an rpm-ostree bug/issue.Firefox from Fedora now supports using hardened_malloc instead of their jemalloc, so a custom image just adding back Firefox would already work.
After rebasing my ublue kinoite to secureblue I found that Firefox no longer started, lol. Learned how to compile it myself and dug into mozconfigs, really interesting stuff (short: if you optimize too much you break their build for some reason). Now because of weird mercurial stuff it doesnt compile anymore at all, so I use Chromium which sucks a lot.
Also had my system not boot twice, because of shitty Lenovo firmware and then because of the iwlwifi firmware bug.
Aaaand more. At the beginning there was no flatpak support, then only with
bubblewrap-suid
which is controversial and podman is broken, luckily there are userns images now.The hack to use hardened_malloc on Flatpaks is also very nonstandard and electron apps do completely random things it seems (dont use electron, but its everywhere! Nextcloud, mullvadVPN, Signal, Element, …)
Isn’t that supposed to work with BlueBuild (or any custom image tooling)?
You’re strong! I’ve been weak and have (instead) resorted to Librewolf. Initially, I had chosen to stick to Chromium. But, at least for now, I have to use Thunderbird anyways. So, might as well continue the use of Librewolf in the mean time.
I’ve also experienced some issues recently with boot times taking a lot more time than previously. But I’ve since changed some kernel arguments and it has been better since.
This is indeed big; I wouldn’t have been able to make the switch without the userns images.
Thank you for your continued contributions and efforts that go into ever-improving secureblue!
Does Librewolf (RPM) work?
I only know that Chromium browsers use userns or setuid namespaces to isolate tabs. This is not allowed by the flatpak seccomp filter (applied for all apps) which is why bubblejail is a thing. But bubblejail is veeeeery alpha, portals, theming, running random binaries etc all broken or difficult.
Flatpak Chromium browsers use zypak instead, which will have a weaker seccomp filter than the tab sandbox in Chromium (because flatpak apps do more than browser tabs and there is only a single filter for them all).
No idea about firefox, they just support the flatpak without any mention if the sandboxing is better, worse, unaffected etc.
Librewolf builds firefox themselves, if they just add
allow-replace-malloc
or how its called in their mozconfig it works with hardened_malloc. And I think that is the easiest solution. If they dont add that it should probably not launch. Flatpak works for some reason, probably because somehow it doesnt use hardened_malloc.Tbh I want to compile firefox and the kernel with -O4 as I have a x86_64-v4 CPU. They will not do that as people run old hardware.
Thunderbird is the same, btw everything is built on the same codebase. My dream would be to build Firefox, Thunderbird and Torbrowser on COPR (or Github so the Fedora people dont kill me) with hardened configs.
Longer than on vanilla fedora, or longer than before on secureblue? They distrust the hardware and generate random values as far as I understood, also use kernel lockdown mode. Those are important and increase boot times but not performance. Btw also if your CPU is affected by spectre/meltdown attacks it will automatically disable hyperthreading. Very cool karg that should totally be the default.
Yeah secureblue is nice and very needed. Wanted to do something similar (as did a lot of other people) and found qoijjjs awesome ground work. He invests hours in that project, look at the “secureblue Chromium vs Vanadium” table its crazy.
Have not tested it. I rely on the flatpak.
Isn’t bubblejail mostly a frontend to bubblewrap? Therefore, is it perhaps possible that, if well-understood, reliance on bubblewrap instead should translate to a less buggy (but indeed harder) experience?
I’ve often heard that the flatpak Chromium browsers are (somehow) less secure, but never heard why that’s the case. Thank you for offering a very concise explanation on the matter!
WOW, that would be awesome! You’ve already found yourself a ‘client’/‘customer’ :P . And I’m sure that a lot of others would be interested as well.
Yes. To be clear, it’s both longer than on vanilla Fedora Atomic and also longer than before on secureblue.
Reminds me of this project, I wanted to wait until it stabilized…, but it never got that far 😅. But I hope its maintainer will join team secureblue, if they haven’t yet*.
For reference; WOW, we definitely can’t deny their commitment. I feel indebted. Perhaps I should support them 😅. Do you happen to know if there are any other channels besides Github to support them (and the project)?
Bubblejail allows to create different seccomp filters per app. This means you can allow the browsers to create namespaces, which fixes that problem. There are tons of problems though.
Yup needed some time to understand that zypak thing too. I think it boils down to that issue, they will be okay but less secure than possible, so… why not use something else?
Yeah there are a ton of hardening arguments. Currently I cant build that damn stuff anymore because somehow I have missing build deps that I have installed and added to my path 100%.
In this repo I collect my mozconfig, and if everything goes well I will use github builder to make RPMs. That would be lit, because I would have all of them hardened, but for v3 and v4 optimized. Put in a directory, do some rpm repo magic and I have my own repo.
Feel free to help me figure that stuff out. Librewolf has a nice build pipeline, I created a PR to just support replacing the malloc, that would be the easiest and best solution.
Then fedora firefox and librewolf would allow that, only flathub firefox missing really. Replacing the malloc is a very unsupported case for flatpak though, as the apps should be OS-unspecific.
That’s very neat! Hopefully it comes through!
But even with the ability to replace malloc, isn’t Firefox still vastly inferior compared to Chromium if security is desired? Or are they actually operating in close proximity of each other in terms of security features?
Arguable. Chromium is just horrible to use. No sync, that would require something NOT Brave or Vivaldi to step up. Floccus is overcomplicated, xbrowsersync unmaintained.
Firefox had core components rewritten in rust too.
Hard agree, except for PWAs; those at least work on Chromium-based browsers.
But honestly, it’s just very unfortunate that the closest we have to an ungoogled, secure, private and anonymous web browser is particularly platform-locked; I’m indeed referring to Vanadium.
On the desktop side of things, it’s just a mess; at least in my opinion*. I guess our best bet would be like running Tor Browser or Mullvad Browser in a disposable qube on Qubes OS 🤣. Furthermore, it would have to be connected through their respective network of choice; be it Tor network (and/)or VPN. And, ideally, without additional configuration changes to blend in as much as possible. Which comes down to foregoing your favorite extensions and even not maximizing the app window.
*sigh*, such a drag…
Those are just Firefox. Using some other routing doesnt improve security.
Vanadium might be degoogled and not send critical platform data, but it is not fingerprint resistant afaik.
On mobile, browsers cant really be that though. On Desktop there only is ungoogled Chromium which is a beginning. But especially secureblue doesnt use it for some reason.
@Pantherina @Throwaway1234
GrapheneOS authors stated that Firefox is less secure. The biggest issue is that Android is very reliant on WebView and so you inevitably have to increase your attack surface if you install a new browser.
We are talking about different platforms here.
Firefox on Android (fenix) has no process isolation at all. Same with all those tiny browsers that use the webview (every Browser with less than 50MB download size uses the webview, like Edge, DDG “privacy browser”, the common FOSS browsers and likely more).
Currently for some reason 3rd party Browsers cant use the Chrome Trichrome library to use the full process isolation stuff, but need to ship it in their APK.
Then on Linux Firefox (gecko) has process isolation, which for some reason is supposed to be compatible with sandbox. I opened an issue about that, asking for an explanation as there is none afaik.
Only on Windows does Firefox have some form of advanced memory protection, which is unfortunate.
So on Android, full Chromium Browsers have sandboxing, fenix and webview wrappers (and every app) can only spawn a single process.
Also on Android there is a Webview based on Chromium, which most apps utilize, which can lead to the assumption (firefox on Android increases attack surface). Not though, that apps only connect to dedicated websites mostly. Also, this only makes a difference if hackers would target Firefox mobile, which has tiny marketshare.
Meanwhile it should be more likely they target Chromium on mobile, do not using Chromium could spare you of some attacks targeted at the most commonly used Browser on mobile.
Then to the usability issues
And the privacy problems
Other commitments are too much right now. But thanks for the offer!
Feels like you fell asleep while you were writing this and didn’t bother to finish it later on hahaha (or simply forgot).
Yes something like that, edited it