Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.9. セキュアブート用のカーネルモジュールの署名

Red Hat Enterprise Linux 7 には UEFI セキュアブート機能が含まれているので、Red Hat Enterprise Linux 7 は UEFI セキュアブートが有効になっているシステム上でインストールし、実行できます。Red Hat Enterprise Linux 7 では、UEFI システムでセキュアブートを使用する必要がないことにご留意ください。

セキュアブートが有効な場合は、UEFI オペレーティングシステムのブートローダー、Red Hat Enterprise Linux カーネル、およびすべてのカーネルモジュールを秘密鍵で署名し、それに対応する公開鍵で認証する必要があります。それらが署名・認証されてなければ、システムは起動プロセスを終了できません。

Red Hat Enterprise Linux 7 ディストリビューションには、以下が含まれます。

  • 署名付きブートローダー
  • 署名付きカーネル
  • 署名付きカーネルモジュール

また、署名された第 1 ステージのブートローダーと署名されたカーネルには、組み込み Red Hat 公開鍵が含まれています。これらの署名済みバイナリーおよび組み込み鍵により、Red Hat Enterprise Linux 7 は UEFI セキュアブート対応のシステムで、UEFI ファームウェアが提供する Microsoft UEFI セキュアブート認証局キーを使用してインストール、ブート、および実行できます。

注記

セキュアブートのサポートは、すべての UEFI ベースのシステムに含まれるわけではありません。

以下のセクションでは、セキュアブートが有効になっている UEFI ベースのビルドシステム上で Red Hat Enterprise Linux 7 に使用する、プライベートで構築されたカーネルモジュールへの自己署名に必要な手順を説明しています。また、カーネルモジュールの展開を希望するターゲットシステムに公開鍵をインポートするのに利用可能なオプションについても説明しています。

カーネルモジュールに署名して読み込むには、以下を行う必要があります。

1.9.1. 前提条件

外部でビルドされたカーネルモジュールに署名できるようにするには、次の表にリストされているユーティリティをビルドシステムにインストールします。

表1.1 必要なユーティリティー

ユーティリティー提供するパッケージ使用対象目的

openssl

openssl

ビルドシステム

公開および秘密 X.509 鍵のペアを生成

sign-file

kernel-devel

ビルドシステム

カーネルモジュールの署名に使用する Perl スクリプト

perl

perl

ビルドシステム

署名スクリプトの実行に使用する Perl インタープリター

mokutil

mokutil

ターゲットシステム

公開鍵を手動で登録する際に使用するオプションのユーティリティ

keyctl

keyutils

ターゲットシステム

システムキーリングに公開鍵を表示する際に使用するオプションのツール

注記

カーネルモジュールを構築、署名するビルドシステムは、UEFI セキュアブートを有効にする必要がなく、UEFI ベースのシステムである必要すらありません。