第7章 UKI を使用したパブリッククラウドプラットフォーム上での RHEL の設定


信頼されていないストレージからでも、Red Hat Enterprise Linux (RHEL) インスタンスが確実にセキュアなブートプロセスを実行できるようにするには、Unified Kernel Image (UKI) を使用します。これは、パブリッククラウドプラットフォーム上の Confidential Virtual Machine (CVM) に適用されます。

7.1. Unified Kernel Image の概要

セキュアブート保護をブートチェーン全体に拡張するには、Unified Kernel Image (UKI) を使用します。

UKI のコンポーネント

Unified Kernel Image (UKI) は、Unified Extensible Firmware Interface (UEFI) の Portable Executable (PE) バイナリーです。これは、UEFI 環境向けオペレーティングシステムの必須コンポーネントをまとめてパッケージ化したものです。UKI バイナリーコンポーネントは、initramfs とカーネルコマンドラインを含めることで、セキュアブートの適用範囲を拡張します。Initramfs は Linux の起動プロセスの一部です。カーネルコマンドラインでは、限られた範囲でパラメーターを定義できます。UKI バイナリーに含まれる主なコンポーネントは以下のとおりです。

  • .linux セクションには Linux カーネルイメージが格納されます。
  • .initrd セクションには、初期 RAM ファイルシステム initramfs が格納されます。
  • .cmdline セクションにはカーネルコマンドラインが格納されます。
  • .sbat などの追加セクション。
  • Red Hat の署名。
プリビルド済みの initramfs を搭載した RHEL UKI の機能
  • ブートチェーン内のオブジェクトを、悪意のあるエージェントまたはコンポーネントが変更することを禁止します。
  • プリビルド済みの initramfs があるため、ユーザーは独自の initramfs を構築する必要がなく、結果としてカーネルのインストールが高速化されます。
  • 仮想マシン (VM)、コンテナー、クラウドインスタンスなど、すべてのインストール環境で同様の設定になっているため、事前に構築された initramfs システムをサポートします。
  • x86_64 アーキテクチャーをサポートします。
  • kernel-uki-virt パッケージが含まれています。
  • 仮想マシンおよびクラウドインスタンス向けに構築されています。
ブートプロセスの柔軟性の低下による UKI の制限
  • UKI を構築する際、オペレーティングシステムのベンダーは initramfs を作成します。その結果、リストされているカーネルモジュールと含まれているカーネルモジュールは静的なものです。この制限に対処するには、systemd のシステム拡張機能と設定拡張機能を使用できます。
  • カーネルのコマンドラインパラメーターは静的であるため、異なるインスタンスサイズやデバッグオプションのためのパラメーターの使用が制限されます。

この制限を回避するには、UKI コマンドライン拡張機能を使用できます。

UKI セキュアブートプロセス

起動時にシステムが不正に変更されないようにするには、Unified Kernel Image (UKI) のセキュアブートメカニズムを使用します。セキュアブートで UKI を使用する場合、システムはブートチェーン内の各コンポーネントを検証し、システムの整合性を確保し、悪意のあるコードの実行を防止します。クラウド上の Red Hat Enterprise Linux (RHEL) のセキュアブートプロセスは以下のとおりです。

  1. UEFI ファームウェア: ブートプロセスは、UEFI (Unified Extensible Firmware Interface) ファームウェアから始まります。

    1. 従来の basic input/output system (BIOS) ファームウェアはサポートされていないため、Red Hat Enterprise Linux (RHEL) UKI の起動には UEFI ファームウェアが必要です。
  2. Shim ブートローダー: UEFI ファームウェアから UKI (PE バイナリー) を直接起動するのではなく、shim ブートローダーを使用して起動します。

    1. shim には、Machine Owner Key (MOK) やセキュアブートアドバンストターゲティング (SBAT) などの追加のセキュリティーメカニズムが含まれています。
  3. 署名検証 (セキュアブート UEFI メカニズム): ブート中、shim は UKI バイナリーを読み取り、セキュアブート UEFI メカニズムは UKI の署名を検証します。

    1. この署名検証は、システムのセキュアブート Allowed Signature データベース (db)、MOK データベース、および shim バイナリーの組み込みデータベースに保存されている信頼できる鍵に対して行われます。
    2. 署名キーが有効であれば、検証は成功します。
  4. SBAT 検証: 署名検証の直後、shim ブートローダーは起動時に SBAT ルールを検証します。

    1. SBAT 検証中、システムは、.sbat セクションを使用して、UKI に組み込まれている systemd.rhellinux.rhel などのコンポーネントの世代番号を、shim ブートローダーの値と比較します。
    2. shim 内のコンポーネントの世代番号が UKI の世代番号よりも大きい場合、信頼できる鍵で署名されていても、バイナリーは自動的に破棄されます。

      世代番号は、shimgrub などの UEFI アプリケーションのバージョン識別子であることに注意してください。

  5. 展開と実行: 検証が成功すると、制御は shim から UKI 内の systemd-stub コードに渡され、ブートプロセスが続行されます。
  6. systemd-stub アドオン: 実行時に、systemd-stub は、.cmdline セクション (プレーンテキストのカーネルコマンドライン) と .initrd セクション (一時的なルートファイルシステム) の内容を展開して、ブートプロセスに使用します。

    systemd-stub は、PE バイナリーでもある UKI アドオンを読み込み、その署名を検証し、アドオンの .cmdline コンテンツを追加して UKI のカーネルコマンドラインを安全に拡張することに注意してください。systemd-stub は、アドオンを 2 つの場所から読み込みます。

    • Extensible Firmware Interface (EFI) システムパーティション (ESP) 上の /loader/addons/ ディレクトリーにあるグローバル (UKI 非依存) アドオン。
    • ESP 上の /EFI/Linux/<UKI-name>.extra.d/ ディレクトリーからの UKI ごとのアドオン。
  7. 制御は systemd-stub から Linux カーネルに渡され、オペレーティングシステムの起動プロセスが続行されます。

    この時点から、UKI メカニズムを使用したセキュアブートは、標準的なカーネルの起動プロセスへと移行します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る