web-dev-qa-db-ja.com

initramfsに入力されたキーで複数のLUKSボリュームを開く方法は?

暗号化された(RAID1 + LVM)ルートパーティション(/ bootは暗号化されていない通常のパーティション)を使用するように構成されたDebian 7.4(安定版)ベースのサーバーがあり、ドロップベアSSHサーバーをインストールしてLUKS暗号化パスフレーズをリモートで入力できます。

ルートパーティション/ボリュームに加えて、同じパスフレーズで開くことができるようにしたい他のRAID1 + cryptsetup + LVMボリュームがあります。グーグルで検索したところ、スクリプトを使用できることがわかりました/lib/cryptsetup/scripts/decrypt_keyctlパスフレーズをキャッシュし、同じパスフレーズで複数のボリュームを開きます。しかし、initramfsステージで入力されたパスフレーズでこのスクリプトを使用するにはどうすればよいですか?

7
Dago

パスワードをファイルに入れて、--key-fileパラメーターで再利用できます。その設定では、プレーンテキストのパスフレーズの代わりにランダムなキーファイルを使用することをお勧めします。

echo -n password > pwfile
for luks in md1 md2 md3
do
    cryptsetup luksOpen --key-file=pwfile /dev/"$luks" luks"$luks"
done

個人的には、LUKS暗号化キーファイルで少し異なるアプローチを使用しました。

このセットアップでは、単一のパスフレーズにより、他のさまざまなLUKSコンテナーのランダムキーを含むキーファイルストアのロックが解除されます。これは、USBセットアップの/bootに特に役立ちます。そのため、/bootを改ざんすることはできず、ハードウェアキーロガーだけでは内部ディスクのキーを取得するのに十分ではありません。

2
frostschutz