Systemd-cryptsetup: Booting with encrypted root partition fails instantly
github.com
github.com
Agreed, though, that full-disk encryption is common (and important) enough that it should merit good automated regression testing, especially simple "does it still boot?" tests.
LUKS encryption is probably THE most common setup for newer desktop linux installations, so I was amazed they didn't test this, but just rather plain ol' unencrypted setups.
I currently use LUKS for full disk encryption (including /boot) on Gentoo (openrc) with Grub doing the luks unlocking (my initrd has to unlock the encrypted partition too/again, but I just have a key saved within the initrd so I don't have to type the password twice).
If I remember correctly, systemd's native support for cryptsetup is relatively new and largely modeled on Debian's extensive integration, which worked well with systemd before the native support showed up.
This would mean that if your laptop gets stolen, and you have a strong password and disable booting from other devices, the thief/fencer would need to find a way to reset the UEFI before they could install Windows on it and resell it. It's probably still possible, but it makes it much more difficult and they may just have to end up parting out the laptop and tossing the motherboard.
It's also annoying to have more than one system partition to deal with when all of the pieces of software and hardware involved are perfectly capable of working normally with a single encrypted partition.
Boot is a special case to some extent as most people aren't going to care if the few files in there are readable, but then again the initrd is in there, and that could contain things that would otherwise be encrypted if they were on root.
For example, some people set up dropbear sshd in the initrd, so it's possible (even likely, depending on the tutorial being followed) that it may have a real, unencrypted copy of the sshd host key(s) the main OS would be using, once it boots. Whether you care depends on the deployment, of course.
I suspect that in some obscure cases, allowing unknown parties to see the kernel binary may count as an info leak that could be used for other attacks, potentially even against other more secure systems that happen to be running the same kernel binary.
- System won't boot
- Systemd
The first is enough to catch a large number of people's attention and the second is usually enough to start a bit of a flame war.