For example, ones that implement these guidelines? https://madaidans-insecurities.github.io/guides/linux-hardening.html
Alternatively, packages for Fedora that would set this up automatically
Qubes OS is pretty secure, everything you do in it is in virtual machines. That includes putting wifi and usbs in separate virtual machines. The root virtual machine is completely separated from everything else so any attackers can’t get access to it. There are also temporary virtual machines that you can use for unsafe stuff.
I would look into Gentoo’s Hardened + SELinux profile if you want good security in a standard system, but as others have mentioned QubesOS is probably the most secure option OOTB (but it is very limiting). SELinux is pretty difficult to use but it’s really effective, and there is good information about it on the Gentoo wiki. Not sure what exactly goes into their hardened profile but I know it implements at least some of the suggestions listed on that site (like hardened compilation flags). Also it’s probably more vulnerable to 0-day attacks than Qubes, since it uses up-to-date software. But it’s really flexible, and learning SELinux is useful
You can even mix and match it H/SELinux with musl (and Clang, if you’re up for some masochism and performance boost), though it does require patching sometimes. From my experience, you can find patches from Alpine’s Aports and that should fix it ~90% of the time, but sometimes you’d need to write your own. Another tip in case you’re interested in trying musl on Gentoo is that there’s a compilation flag for large file support documented in Gentoo Wiki’s musl development page which fixes compilation failures caused by calls to functions with names ending in 64 (e.g. fseek64). This is yet another massive source of compilation failure in musl. Lastly, you should mask musl versions ≥ 1.2.4 if you want to have any semblance of a * good time with it.
Oh good to know! Thanks for the tips. What do you like about musl over glibc?
To be honest, I only use it for fun. Unless you enjoy tinkering like I do, or you have really low RAM, there’s no reason to use it over glibc. I’m aware that Madaidan also mentioned that it is more secure, but I’m not too knowledgeable on that so I can’t really comment.
How about Kicksecure Hardened Debian?
This is the best choice IMHO. You have a rock solid OS (Debian) and all possible taken measures to harden it with Kicksecure patch.
It’s a solid option indeed but a little difficult to install in my opinion
The kicksecure documentation is well written. Go here for distro-morphing of Debian 12, step by step things to do are pretty explicit and you can even copy the command lines if you think you’ll make a mistake…
Kicksecure is a good choice for an install on bare metal. For a level-plus secure and private system you can even install a Whonix VM on Kicksecure, so you can use Kicksecure daily use your Whonix VM to get on internet. It’s a great combo i thinkk, as they use the same base, the same DE (xfce) and have a lot of defaults programs in common.
This might be way off, but iirc OpenBSD is pretty secure
I’ll assume that you intend to use it as a traditional daily driver, as such Tails and Whonix will not be taken into consideration. Qubes OS will also be dismissed as it’s technically not a Linux distro. Though, it’s simply the best if you take security seriously.
Within the space of traditional Linux distros, the closest one would probably be Kicksecure. Madaidan even works on the distro, so I’d say it’s fair to assume that it upholds some of the values that are mentioned in the article.
Alternatively, packages for Fedora that would set this up automatically
Hehe, wishful thinking 😂. Uhmm…, bummer, but such a thing simply does not exist. Best we’ve got would be relying on so-called hardening scripts made by people that you don’t know but somehow trust for hardening your system. Honestly, I’m also -to a degree- guilty of this as I one day hope to either adopt these scripts or rebase to one of these hardened ‘immutable’ Fedora images (when they’re ready); Madaidan’s guidelines have actually been an initial inspiration for the scripts found in the first link, so yeah 🙂. Until then, our best bet would probably be relying on hardening guides like this one; the guide has been carefully written (and is still getting regularly updated) with consideration for all the different major distros one might be using. Alternatively, you might try to implement Madaidan’s guidelines directly. But, my previous attempts on Fedora didn’t bear the best results. Though your mileage may vary. Special shout out to Brace as it’s the closest thing to a package that does the hardening for you and works on multiple distros including Fedora. It’s maintained by the same people that have brought us the excellent DivestOS, so it’s trustworthy.
Thanks for this comment. I had not come across that hardening guide. It is extremely well written, and it’s worth a read, even if you have no intention of trying to harden your system, just to see what’s out there.
I’d consider most of it overkill for my threat model, but there are some things I’ll probably implement or try out just because they look pretty neat.