将密钥文件存储在加密的 LVM 中

将密钥文件存储在加密的 LVM 中

我正在使用 RHEL 6.5,并且想要加密我的一些逻辑卷 (LVM)。为了不必多次输入密码,我想将密钥文件存储在加密的 LV 中。

例子:

/var/xxx将被加密,并且在引导期间将询问密码。
/var/xxx/yyy将被加密并且密钥文件将位于/var/xxx/keyfile(为了更安全)。

这样,密码短语只需输入一次。

我的crypttab

LogVolXxx          /dev/vg/LogVolXxx         none
LogVolXxxYyy       /dev/vg/LogVolXxxYyy      /var/xxx/keyfile  luks

我的fstab

[...]
/dev/mapper/vg-LogVolAaa      /Aaa           ext4    noatime        1 2
/dev/mapper/LogVolXxx         /var/Xxx       ext4    noatime        1 2
/dev/mapper/LogVolXxxYyy      /var/Xxx/Yyy   ext4    noatime        1 2
[...]

启动时出现问题,找不到密钥文件。我想系统正在尝试在安装设备之前对其进行解密。

我该如何处理这个问题?

答案1

最后,我听从了@frostschutz 的建议。我用过加密的LV作为钥匙 !

  1. lvcreate -L 4M -n LogVolKey vg
  2. cryptsetup luksFormat /dev/vg/LogVolKey(这里我们设置全局密码)
  3. cryptsetup luksOpen /dev/vg/LogVolKey LogVolKeyDecrypted
  4. dd if=/dev/urandom of=/dev/mapper/LogVolKeyDecrypted
  5. cryptsetup luksFormat /dev/vg/LogVolXxx(这里我们设置相同的密码)
  6. cryptsetup luksAddKey /dev/vg/LogVolXxx /dev/mapper/LogVolKeyDecrypted
  7. cryptsetup luksOpen /dev/vg/LogVolXxx LogVolXxxDecrypted -d /dev/mapper/LogVolKeyDecrypted
  8. dd if=/dev/urandom of=/dev/mapper/LogVolXxxDecrypted
  9. mkfs.ext4 /dev/mapper/LogVolXxxDecrypted

注意:启动过程中会出现警告消息:INSECURE MODE FOR /dev/mapper/LogVolKey。如果该组与“root”不同,则会显示此消息,在这种情况下,该组是“disk”,默认情况下,任何用户都不应属于该组,因此没有什么不安全的。

注意 2:出现第二条消息:"Warning: exhausting read requested, but key file is not a regular file, function might never return.。事实上,解锁设备需要一些时间,但不会太多。

相关内容