Luks
防禦邪惡的女僕,如何處理刪除 /boot 分區
使用LUKS全盤加密時,你會如何防範邪惡的女僕?
邪惡女僕攻擊是當有人在您離開時物理訪問您的電腦並破壞未加密的 /boot 分區以在您下次啟動電腦時擷取您的 FDE 密碼
解決方案之一是將您的 /boot 分區留在隨身攜帶的 USB 記憶棒上(女僕無法使用它),但我應該在上面使用哪個文件系統,以及如何配置我的系統以優雅地處理刪除USB 記憶棒(以及 /boot 分區本身)?
我正在使用 CentOS,但當然歡迎通用的、發行版不可知的答案。謝謝。
終於想通了。這仍然感覺非常糟糕和骯髒,因為系統永遠不會意識到
/boot
可能沒有安裝,並且您必須在執行任何可能寫入它的操作之前手動安裝它(想想系統更新等),但除此之外它工作得很好.
- 準備一個帶有引導標誌的分區的快閃記憶體驅動器。您可以執行
shred -n 1 -v /dev/sdX
它以完全擦除它,包括任何以前的引導扇區;一旦完成執行fdisk
以創建分區和mkfs
您選擇的文件系統。- 將您的快閃記憶體驅動器安裝在某個地方,
/mnt/boot
甚至/newboot
可以做得很好。- 將所有內容
/boot
從mv /boot/* /newboot
.- 編輯
/etc/fstab
並更改原始引導分區的 UUID(如果沒有,則創建一個條目)以匹配您的快閃記憶體驅動器。您可以使用lsblk -o name,uuid
. 還要添加該noauto
選項,以便驅動器不會自動掛載,以便能夠在系統開始引導(一旦載入核心後)立即將其刪除,而不會損壞其上的 FS。- 解除安裝原始引導分區和快閃記憶體驅動器 (
umount /boot && umount /newboot
) 並安裝快閃記憶體驅動器;如果你的 fstab 條目是正確的,你可以執行mount /boot
它,它會根據 fstab 中指定的 UUID 自動掛載它。- 重新生成引導載入程序的配置以反映新分區的 UUID 和“物理”位置,對於 GRUB,快閃記憶體驅動器實際上將顯示為電腦中的第一個硬碟驅動器 (
hd0
)。如果您可以使用大多數發行版提供的預設 GRUB 配置腳本,您可以執行grub-mkconfig -o /path/to/grub.cfg
它,它將根據目前安裝的分區和/或 fstab 生成文件。請注意,對於 CentOS 7,正確grub.cfg
的實際上位於/boot/grub2/grub.cfg
.在執行任何可能訪問引導分區的操作時,請連接您的 U 盤並執行
mount /boot
. 完成後,您可以執行umount /boot
. 請注意,後一個命令可能需要一些時間才能完成,因為它將緩衝區刷新到磁碟(磁碟本身很慢,因此核心會緩沖一些寫入操作以加快速度)。