web-dev-qa-db-ja.com

暗号化されたLVMへのキーファイルの保存

RHEL 6.5を使用していて、論理ボリューム(LVM)の一部を暗号化したい。パスフレーズを何度も入力する必要がないように、暗号化されたLVにキーファイルを保存したいと思います。

例:

/var/xxxは暗号化され、起動時にパスフレーズが要求されます。
/var/xxx/yyyは暗号化され、キーファイルは/var/xxx/keyfileの下にあります(セキュリティを強化するため)。

このように、パスフレーズは1回だけ入力する必要があります。

私の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
Bob Sauvage

結局、私は@frostschutzのアドバイスに従いました。暗号化されたLVを使用しましたasキー!

  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:2番目のメッセージが表示されます:"Warning: exhausting read requested, but key file is not a regular file, function might never return.。実際、デバイスのロック解除には数回かかりますが、それほど多くはありません。

2
Bob Sauvage