GRUBでcheck_signaturesを有効にする

GRUBでcheck_signaturesを有効にする

GRUBによってロードされたすべてのファイルを確認するために、公開鍵ファイルを含む新しいGRUBイメージを作成しようとしています。そのため、 grub-mkimage コマンドを使用して新しいGRUBコアイメージを手動で作成しました。

grub-mkimage --config='./grub.cfg' --compression='auto' --pubkey='./grub.key' --output='./core_custom.efi' --format='x86_64-efi' --prefix='(hd0,gpt2)/grub' --verbose ext2 fshelp part_gpt pbkdf2 crypto password_pbkdf2 pbkdf2_test

grub.cfgには、設定操作を防止するためにpbkdf2パスワードを持つスーパーユーザー(pbkdf2モジュールを含めました)が含まれているため、パスワード保護はロードされません。また、変数ポケットベルを1に設定しました。

ただし、コンピュータを再起動し、新しく作成されたGRUBイメージから起動した後、GRUB環境変数check_signaturesが適用されるように設定されていません(公式で述べたように)。GRUB2 マニュアル)、GRUBシェルでlist_trustedコマンドを入力すると、grub-mkimageコマンドに渡したキーはリストされず、最後にverify_detachedコマンドは公開キーを見つけることができません。
ただし、grub-mkimageコマンドの詳細ログにはキーが読み込まれたことが明らかになり、GRUBシェルからキーを手動でロードするとすべてが正常に機能します。

私のインストールに関する情報:
-ArchLinux
-GRUB 2.04
-EFIプラットフォーム->GRUB x86_64-efi

ベストアンサー1

私は同じ問題を抱えて、数時間の試行錯誤の最後についに答えを見つけました。 GRUB側では正しく処理されず、静かに失敗しました。文書も役に立たないようです。この特定のエラーに関する有用な情報が見つかりません。

解決策はとても簡単です。いくつかのモジュールが必要です。事前ロード。私のためにグラップ2.04存在するAMD64、人々は:

  • 検証者
  • gcry_sha256
  • gcry_sha512
  • gcry_dsa
  • gcry_rsa

私が得るコマンドは次のとおりです。

grub-mkstandalone --verbose --format=x86_64-efi --output=grubsax64.efi --pubkey=grub.pub --modules="verifiers gcry_sha256 gcry_sha512 gcry_dsa gcry_rsa" boot/grub/grub.cfg=grub.cfg

ここで重要な部分は--モジュール="..."

私はまた、以下を使用して同じモジュールをロードしようとしました。モジュールの挿入存在するグラップ構成ファイル、しかしこれはうまくいきません、上記のように実行する必要があります。

生産された結果に基づいて判断grub-mkスタンドアロン、これは次にも適用する必要があります。グラップミラーgrub-mkスタンドアロンある瞬間電話してグラップミラー)、直接テストしませんでしたが、次のようになります。

grub-mkimage ... verifiers gcry_sha256 gcry_sha512 gcry_dsa gcry_rsa

GRUBイメージ/バイナリをビルドして再起動した後、コマンドラインを入力するとわかります。信頼できるリストこれで出力を生成します。追加のテストでは、署名確認が期待どおりに機能することがわかりました。


GRUB 2.06 4/23/21の編集:

GRUB 2.06では検証者モジュールからコアに移動しました(参照:今回提出してください)、つまりもはや別のモジュールではありません。したがって、上記のコマンドも変更する必要があります。

grub-mkstandalone --verbose --format=x86_64-efi --output=grubsax64.efi --pubkey=grub.pub --modules="gcry_sha256 gcry_sha512 gcry_dsa gcry_rsa" boot/grub/grub.cfg=grub.cfg
grub-mkimage ... gcry_sha256 gcry_sha512 gcry_dsa gcry_rsa

おすすめ記事