启动时锁定 LUKS cryptlvm?

启动时锁定 LUKS cryptlvm?

我运行的是 Arch Linux,主/分区是 LUKS 加密的。 GRUB 之后,Plymouth 向我询问密码,解锁它并启动 Arch Linux。我试图做的是使用 bash 脚本快速锁定分区,我可以将其链接到键绑定...但是,当我使用以下某些[类型]命令时,我显然无法锁定分区,因为它打开。 :P

udisksctl info -b /dev/nvme0n1p2 
udisksctl lock -b /dev/nvme0n1p2
udisksctl unlock -b /dev/nvme0n1p2
sudo cryptsetup luksClose cryptlvm

我这样做的方式是错误的吗?我实际上应该只发出“sudo shutdown now”作为命令,这最终会锁定分区吗?我只是想要一个立即锁定分区的终止开关,以便任何眼睛或威胁都无法访问数据。

谢谢,所以 - 我相信你会很快完成这个工作。 :/

答案1

如果在系统运行时使根文件系统无法访问,文件系统驱动程序将非常不高兴并且系统将崩溃。崩溃的系统可能仍将磁盘主密钥保存在 RAM 中。

当加密分区处于“解锁”状态时,这意味着该分区的主密钥在内核控制的 RAM 中可用,并且设备映射器加密/解密层正在积极使用它。当以任何受控方式关闭系统时,加密/解密层将被停止,并且 RAM 中的秘密(大概)被覆盖,以阻止基于冷却 RAM 芯片并使用外部设备读取其剩余内容的物理攻击。

对于终止开关,您需要尽可能快地关闭。

先尝试sudo poweroff一下;如果它对你来说还不够快,那么也许sudo poweroff -f可以。sudo poweroff -ff可能会更快,但可能会带来一些文件系统损坏的风险,具体取决于您使用的文件系统类型。

如果你需要更快的东西,你可以看看Linux“神奇的 SysRq”命令

Alt+ SysRq+b可能是您可以在软件中合理执行的最快重启。如果您想以编程方式执行此操作,echo b | sudo tee >/proc/sysrq-trigger或执行等效操作。

如果您想使用此功能,您还可以将 BIOS 配置为在启动时进行彻底的内存测试,因此内存测试将覆盖快速重启可能在 RAM 中留下的任何秘密,作为额外的预防措施。

相关内容