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