ブートパーティションのキーファイルを使用してLUKSで暗号化されたDebianルートディレクトリのロック解除

ブートパーティションのキーファイルを使用してLUKSで暗号化されたDebianルートディレクトリのロック解除

私はブートパーティション(暗号化パーティション)に格納されているキーファイルを使用してDebianのルートディレクトリの復号化を試みます。これはセキュリティを侵害しますが、今は大丈夫です。私はこれをうまくやらなかったら死ななければなりませんでした。

フックが作成され、initramfsキーファイルはファイル/boot内のディレクトリにありますinitrd.img-*。キーファイルのパス()はこのファイル/boot/keyfileにあります。/etc/crypttab

更新しましたが、次のメッセージが表示されますinitramfssudo update-initramfs -ucryptsetup: WARNING: target sdaX_crypt uses a key file, skipped.

このメッセージを無視して再起動すると、ディスクを起動できなくなります。このメッセージが表示され、シェルGave up waiting for root device.に削除されます。initramfs

initramfs環境には存在しませんcryptsetup(存在すべきでしょうか?)

デバイスが異なる方法でマウントされ、キーファイルの復号化を使用するように設定されていないupdate-initramfs -u「考え方」を参照してください。sdaX_crypt

どうすればいいですか?

ベストアンサー1

Debianのcryptsetupドキュメントによると、KEYFILE_PATTERNで定義されているシェルスタイル(ワイルドカード)パターンと一致するキーファイルは/etc/cryptsetup-initramfs/conf-hookinitramfsに含まれていますが、他のキーファイルは含まれていません。

  • Debian 9 の場合:/usr/share/doc/cryptsetup/README.{initramfs,Debian}.gz
  • Debian 10 の場合/usr/share/doc/cryptsetup{-initramfs/README.initramfs,-run/README.Debian}.gz:.

以前のバージョンのDebianについてはよくわかりません。

これらのファイルはで読むことができますが、zless filename.gz便宜と将来の参照のために関連する部分は次のとおりです。

12. initrd に直接キーファイルを保存します。

通常、キーファイルを使用するデバイスは無視され(大きなビープ音とともに)、initramfsイメージは通常暗号化されていない/ bootパーティションにあるため、キーファイル自体はinitrdに含まれません。ただし、場合によっては、initrdにキーファイルを含める必要があります。たとえば、最新バージョンのGRUBは暗号化されたブロックデバイスからの起動をサポートし、暗号化された/bootパーティションを許可します。

crypttab(5)によってリストされたキーファイルのうち、環境変数KEYFILE_PATTERN(シェルモードとして解釈されます)の値と一致するファイルは、initramfsイメージに含まれています。たとえば、/etc/crypttab に 2 つのキーファイル /etc/keys/{root,swap}.key がリストされている場合は、/etc/cryptsetup-initramfs/conf-hook に以下を追加して initrd に追加できます。 。

KEYFILE_PATTERN="/etc/keys/*.key"

また、initramfs イメージに秘密鍵データを含める必要がある場合は、権限のないユーザーをブロックするには、制限付き umask を使用してイメージを作成する必要があります。これは、/etc/initramfs-tools/initramfs.conf に以下を追加することで実現できます。

ウマスク=0077

おすすめ記事