Does anyone know of a hosting service that offers Silverblue as a possible choice for OS?
It seems to me that for a server running only docker services the greatly reduced attack surface of an immutable distro presents a definitive advantage.
I’m using NixOS in Azure - Azure allows creating a VM out of a disk image, and NixOS has tools to create preconfigured disk images. You inject your SSH keys and stuff straight into the image, then upload and create a VM. A bit fiddly, but I got it to work.
I don’t know about Silverblue, but I know you can use NixOS on pretty much any VPS using the tool nixos-infect.
Not sure how it would reduce your attack surface though. That’s not really the problem that they are trying to solve.
Thank you, good to know. Not as straightforward as directly installing distro but certainly worth considering.
As to why it reduces attack surface please see answer provided to other comment.
nixos-anywhere also works well for this use case.
How would describe the “reduced attack surface” of something running a container?
That phrase has practically lost all meaning.
Because even if an attacker could gain access even as root he cannot modify system files. This is why immutable OS distros are called immutable.
Wait, why wouldn’t they? They could wipe the entire disk if they so choose
Because even if an attacker could gain access even as root he cannot modify system files.
They 100% can.
They 100% can.
An attacker escaping from a container can’t be system root as Podman runs rootless (without some other exploit or weak password).
The filesystem itself is also read-only.
/dev/nvme0n1p4 on /sysroot type xfs (ro) /dev/nvme0n1p4 on /usr type xfs (ro) /dev/nvme0n1p3 on /boot type ext4 (ro)
An attacker escaping from a container can’t be system root as Podman runs rootless (without some other exploit or weak password).
That would be true of podman running anywhere, and is not unique to an immutable distribution.
The filesystem itself is also read-only.
You can change that real quick if you have root access.
You sound confident, but the fact that Fedora is using the term “immutable” makes me wonder if you actually have domain expertise here.
Immutable means immutable. It would be strange for them to call it that if it actually means “completely irrelevant from a security perspective”.
Unless you provide some evidence to the contrary I’m going to assume you aren’t correct.
The immutability isn’t designed to protect against a malicious attacker with root access.
Any system is fucked if that happens.
It’s designed to reduce the workload of the maintainers, because they effectively only need to test and build for one standard image.Someone with root can run ostree admin unlock --hotfix to make /usr writable. Someone with root can also delete all restore points.
It would be strange for them to call it that if it actually means “completely irrelevant from a security perspective”.
See the comment by superkret.
I use https://fedoraproject.org/coreos/ for my server/website. My host doesn’t offer it as an image so I have to upload it myself, but I use an ISO I made with the CLI to automatically set up everything anyway. It works pretty well, I configured auto updates and I can just forget about it.
Thank you for the tip. Unless my understanding is wrong both OS are similar, Coreos targeting more precisely Kubernetes and cluster management. Had a quick look, but definitively will read more about it.
If you want MAC (SELinux or Apparmor) (which I highly recommend) then use Silverblue / CoreOS or even SUSE MicroOS
otherwise I use NixOS. (But like I said, I’m possibly looking into switching because of lacking MAC)