第21章 セキュアブート用のカーネルとモジュールの署名
署名済みカーネルと署名済みカーネルモジュールを使用して、システムのセキュリティーを強化できます。セキュアブートが有効になっている UEFI ベースのビルドシステムでは、プライベートにビルドされたカーネルまたはカーネルモジュールに自己署名できます。さらに、カーネルまたはカーネルモジュールをデプロイするターゲットシステムに公開鍵をインポートすることもできます。
セキュアブートが有効な場合、次のすべてのコンポーネントを秘密鍵で署名し、対応する公開鍵で認証する必要があります。
- UEFI オペレーティングシステムのブートローダー
- Red Hat Enterprise Linux カーネル
- すべてのカーネルモジュール
これらのコンポーネントのいずれかが署名および認証されていない場合、システムは起動プロセスを完了できません。
RHEL 9 には以下が含まれます。
- 署名済みブートローダー
- 署名済みカーネル
- 署名済みカーネルモジュール
さらに、署名済みの第 1 ステージのブートローダーと署名済みカーネルには、Red Hat 公開鍵が組み込まれています。これらの署名済みの実行可能バイナリーと組み込まれた鍵により、RHEL 9 は Microsoft UEFI セキュアブート認証局の鍵を使用してインストール、起動、実行できるようになります。これらの鍵は、UEFI セキュアブートをサポートするシステムの UEFI ファームウェアによって提供されます。
- セキュアブートのサポートは、すべての UEFI ベースのシステムに含まれるわけではありません。
- カーネルモジュールを構築、署名するビルドシステムは、UEFI セキュアブートを有効にする必要がなく、UEFI ベースのシステムである必要すらありません。
21.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
外部でビルドされたカーネルモジュールに署名できるようにするには、次のパッケージからユーティリティーをインストールします。
dnf install pesign openssl kernel-devel mokutil keyutils
# dnf install pesign openssl kernel-devel mokutil keyutilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 表21.1 必要なユーティリティー ユーティリティー 提供するパッケージ 使用対象 目的 efikeygenpesignビルドシステム
公開および秘密 X.509 鍵のペアを生成
opensslopensslビルドシステム
暗号化されていない秘密鍵をエクスポートします。
sign-filekernel-develビルドシステム
秘密鍵でカーネルモジュールに署名するために使用する実行ファイル
mokutilmokutilターゲットシステム
公開鍵を手動で登録する際に使用するオプションのユーティリティー
keyctlkeyutilsターゲットシステム
システムキーリングへの公開鍵の表示時に使用するオプションのユーティリティー