I have a dropin called security.conf that I link in to most of my services, and then create an unsecurity.conf to disable/revert any directives not compatible with the service.
MemoryDenyWriteExecute gets set back to "no" quite a lot because interpreters like to use it for JITing, but it prevents a whole class of exploits on services where it can stay enabled.
I also like to socket-activate services as often as possible so they don't need access to network interfaces. Even if a service doesn't support socket-activation itself, it can usually be shimmed in with systemd-socket-proxyd, which also provides good functionality for stopping services when there are no connections to them (they get started again by the next connection).
> then create an unsecurity.conf to disable/revert any directives not compatible with the service
I've been using linux for something like 25 years now, and this just sounds like a heck of a lot of grokking and work (and maybe even trial and error?) for the mortals, no? I would think distribution maintainers should be the ones flipping more of these switches, and if they aren't, might that point to them being overly aggressive?
> this just sounds like a heck of a lot of grokking and work (and maybe even trial and error?) for the mortals, no?
Absolutely. For the record, when I say "my services" I mean services that I'm writing, not any service running on my system. I consider this hardening to be part of development, to be done by the developer responsible for it, whether that's the upstream dev or package maintainer. I would not consider it to be the responsibility of a random end-user and I wouldn't recommend most to try unless they're personally interested in it.
That being said, for developers, these switches make it crazy easy to sandbox your service compared to older solutions. So much so that I actually bother doing it now.
We evaluated QUIC (and many other approaches). Turns out it's a lot harder than you might think to move traffic at high speed across the world, over residential-grade internet, and not drain your battery.
If it's truly p2p, some relay would be there in case the client cannot be reached through NAT. Not sure how they would bear the cost of the bandwidth for unlimited transfers in that case
Yes. It is this spirit that got me excited about computers. It's impressive that OpenBSD has remained consistent all these years. One of my all time favorite projects.
Used this to voice my lack of support for the tiktok ban (patriot act 2.0). There might be a better site to use, perhaps one that automates the message.
How does being able to integrate all that random stuff analytically make me any smarter, wealthier, more creative, or better at my job?
I mean, why not a "long division bee" as well? It's just as useful. It would be more impressive to hold a contest for the best (open-source) program to arrive at the answers.
I know the post linked to systemd docs, but I’d enjoy seeing some snippets of directives people are using to achieve this kind of hardening.