Hey magical linux-oracle,
I recently made a full disk encryption on my computer via the debian installer.
I partitioned it like this:
SSD:
– unencrypted part –
Boot - 1GB space, mounting point: /boot
EFI - 512MB space, mounting point: ESP, bootable flag: on
– encrypted part –
Encrypted container with a volume group (vg-1) containing 3 logical volumes:
Root - 50GB space, mounting point: /
Swap - 30GB space, mounting point: swap
Home - Rest of space, mounting point: /home
& Second harddrive fully encrypted with one logical volume and mounting point /mnt/data
The install of linux worked pretty well.
Unfortunately, the hibernation part doesn’t work out of the box. When I press hibernate (or standby), it only goes to the lock screen. How can I solve that issue? (Is it even a good idea to use hibernation on encrypted devices?)
Second thing: As you can see from my setup, I use 2 disks. When I start up my system, I only need to enter my decryption password once (not twice for the 2nd HD) and I see, that my second hard disk seems to be mounted already. It seems that people usually struggle with typing in their passwords twice and want a solution for that. Is it possible, that debian automatically fixed this for me (It’s the same pw for both)?
Thanks!
~sp3ctre
Hmm, doesn’t this undermine the whole purpose of encryption? If I understand that right, there will always be unencrypted stuff of me? Also when I completely shutdown?
You can do encrypted swap as well. If you use the same passphrase you can install
decrypt_keyctl
and use it as described here. It will cache the passphrase and send it to every other LUKS volume that needs decrypting so you have to type it only once. This is what I’m currently using and my root is on ZFS on LUKS.Another option which I haven’t used is to have a small volume that only stores your LUKS keys as files, then your LUKS volumes reference those files as keys, then you decrypt only that volume with a passphrase upon boot.
Another option is to use a swap file. I used to run Ubuntu LTS on LUKS on LVM. That is disk > EFI and LVM partitions > LVM volume boot, LVM volume for LUKS > root filesystem inside LUKS > swapfile in that root filesystem. Upon boot, GRUB is able to read the Linux kernel straight from the boot volume on LVM. Boots the kernel. You get a prompt to decrypt the LUKS volume where the root filesystem is. Once decrypted, the kernel can access the swapfile if it needs to resume from it. If I didn’t use ZFS, I’d be using this scheme as it’s superbly flexible. Growing the volumes and filesystems for larger storage is easy. Adding redundancy via LVMRAID is easy. Changing the swap size is easy. Hibernation works.
I have it working with just one LUKS volume. The tricky part is, that the UUIDs of the decrypted and encrypted device differ. I would have to look at my setup to be sure (it has been more than a year I set this up and I am currently not on my computer).
Yes. Unfortunately FDE hibernation is not well supported and in fact Debian used to disable it in the kernel (though that night have changed).
IMHO is a big oversight because encrypted swap hibernation is safer than sleep.