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
[...]
起動中に問題が発生し、キーファイルが見つかりません。システムがデバイスをマウントする前に復号化しようとしていると思います。
どうすればこれを処理できますか?
結局、私は@frostschutzのアドバイスに従いました。暗号化されたLVを使用しましたasキー!
lvcreate -L 4M -n LogVolKey vg
cryptsetup luksFormat /dev/vg/LogVolKey
(ここではグローバルパスフレーズを設定します)cryptsetup luksOpen /dev/vg/LogVolKey LogVolKeyDecrypted
dd if=/dev/urandom of=/dev/mapper/LogVolKeyDecrypted
cryptsetup luksFormat /dev/vg/LogVolXxx
(ここでは同じパスフレーズを設定します)cryptsetup luksAddKey /dev/vg/LogVolXxx /dev/mapper/LogVolKeyDecrypted
cryptsetup luksOpen /dev/vg/LogVolXxx LogVolXxxDecrypted -d /dev/mapper/LogVolKeyDecrypted
dd if=/dev/urandom of=/dev/mapper/LogVolXxxDecrypted
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.
。実際、デバイスのロック解除には数回かかりますが、それほど多くはありません。