我正在尝试为我的 ubuntu 环境中的用户带来类似 bitlocker 的体验。我部署了一个预置的 ubuntu 20.04 安装,目前在根和其他文件系统上有一个有效的磁盘加密方案。/、/var、/usr、/swap 和 /home 都在一个 lvm 卷组中,启用了 luks 并通过 clevis 自动解锁。我还想加密 grub/boot 分区,此时我能够成功地将启动分区移动/复制到 lvm 并对其进行加密,或者只是将其转换为 lvm 之外启用 luks 的分区。
但是这会导致 grub 不提示输入密码并且无法在启动时加载,我猜这是因为磁盘在启动时仍被锁定。是否有一些中间步骤(引导加载程序?)应该加载加密的 grub 分区并解锁它?是否需要 EFI/安全启动才能完成此操作,或者加密的启动分区是否可以与旧版 bios 一起使用?
我一直在遵循这个指南这里将启动分区复制/移动到加密分区。指南最初编写时,grub 似乎仅支持 luks1 加密分区,不过似乎已经添加了 luks2 支持?
我感谢任何指导。
更新
经过进一步调查后,我发现如果我仅加密 /boot 分区而不加密 /boot/efi 分区,则在启动期间会提示我输入密码。
我的磁盘布局现在是这样的。
lsblk -o NAME,FSTYPE,MOUNTPOINT /dev/nvme0n1
NAME FSTYPE MOUNTPOINT
nvme0n1
├─nvme0n1p1 vfat /boot/efi
├─nvme0n1p2 crypto_LUKS
│ └─boot_crypt ext4 /boot
└─nvme0n1p3 crypto_LUKS
└─nvme0n1p3_crypt LVM2_member
├─encrypted--lvm-root ext4 /
├─encrypted--lvm-var ext4 /var
├─encrypted--lvm-swap_1 swap [SWAP]
├─encrypted--lvm-tmp ext4 /tmp
└─encrypted--lvm-home ext4 /home
我应该加密 EFI 分区吗?还是必须解密才能解锁包含 grub 的分区?这是否可以防止任何潜在的“邪恶女仆”攻击?或者是否存在一些潜在的安全漏洞,尤其是在当前未启用安全启动的情况下?