
タイトルが示すように、PXEブートを使用してカスタム署名キーでCentOS7でブートするシステムを設定しようとしています。このプロセスはいくつかのガイドで採用されていますが、grub.cfg
要点はのグラブを使用することですinitramfs.gz
。tftpserver
これはすべてGPG署名によって確認されます。
しかし、セキュアブートのために独自のデータベースキーで署名し、Linuxカーネルが正しく署名されていないというエラーが発生しました。grub
EFIバイナリも署名されており、セキュアブートで確認する必要があるため、キーはUEFIに正しくインストールする必要があります。また、コマンドラインでGPGチェックが成功したことを確認しましたが、成功しgrub
ました。
後で私はオンラインでいくつかの記事を読み、最初のステップブートローダーとしてshimを使用する必要があるという結論に達しました(そして同じデータベースキーで署名する必要があります)。したがって、Centos VMからコピーし、DHCPサーバーがshimを指すようにします。同じエラーメッセージが表示されるため、問題はまだ存在しますが、現在も場所が表示されます。
error: ../../grub-core/loader/i386/efi/linux.c:215:/vmlinuz has invalid signature.
他のバージョンの可能性があるため、grubでそのファイルが見つからないようです。私の検索は私をここに導いた。Red Hat 記事。
しかし、この記事は有料です...記事へのアクセスを要求するものではありません(許可されているかどうかわからない)。これはまったく異なる質問かもしれません。また、ビルドプロセス中にDER暗号化キーを提供して自分でビルドしてみましたが、shim
何も変わらないようです。
私もこの機能に初めて触れたのですがshim
、MOK(Machine Operator Key)を必ず使用すべきかDBキーで署名するだけで十分かわかりません。
もし私にアドバイスをしてくれる人がいますか?ありがとう
答え1
また、CentOS、Clonezilla-live、およびその他のオペレーティングシステムをPXEブートし、クライアントがセキュアブートを有効にするPXE環境を構築しようとしています。
私はこのガイドを使用しました https://docs.centos.org/en-US/8-docs/advanced-install/ Assembly_preparing-for-a-network-install/
したがって、CentOSを起動するときにclonezillaを起動しようとすると正常に動作し、次のメッセージが表示されます。 /Tftppath/clonezilla/vmlinuz has an valid sign
さまざまなオペレーティングシステムを安全に起動できるように、自己署名shim、grub、およびカーネルプロセスをよりよく理解したいと思います。
進行中のプロセスについてもっと詳しく説明できますか?ありがとうございます! !
答え2
解決しました。だから私の問題は、shim
ほとんどの方法が独自のシステムでmokmanagerを使用しているため、キーを手動で配布する方法を理解していないことです。他のシステムから起動しようとしているため、この方法はPXEでは機能しません。さまざまなことを試してshim
ソースコードを見て、次のようにこれを得ました。アーチスウィキ、これはセキュアブートに関するものです。ページへの言及がなかったので、最初は注意を引くことができませんでしたPXE
。アップデートを簡単にするためにキーを使用したかったですshim
。一般に、EFIパーティションを使用してエンコードされDER
た公開鍵をFAT
ファイルシステムにコピーできるという文があります。
そのため、最終的にサーバーシステムshim
からコピーしたバイナリを使用し、EFIパーティションに格納されている公開鍵を使用してLinuxカーネルとバイナリを認証しました。また、Microsoft / Windows / CentOS署名を使用してカーネルを起動できることを確認して、完全な制御が必要な場合はそれを削除することもできます。PXE
grub