第5章 セキュアブートを使用した Azure での RHEL の設定


Unified Extensible Firmware Interface (UEFI) 仕様のセキュアブートメカニズムは、起動時にプログラムの実行を制御します。セキュアブートは、ブート時にブートローダーとその他のコンポーネントのデジタル署名を検証することで、無許可のプログラムの実行を防ぎながら、許可された信頼できるプログラムだけを実行します。

Azure プラットフォーム上で公開されている RHEL イメージには、セキュアブートがデフォルトで組み込まれています。Allowed Signature データベース (db) には Microsoft 証明書が含まれています。Azure Compute Gallery に新しいイメージバージョンを登録するときに、UEFI セキュアブートの変数にカスタム証明書を追加できます。

5.1. クラウド上の RHEL のセキュアブートについて

セキュアブートは、Unified Extensible Firmware Interface (UEFI) の機能です。これにより、ブート時に、ブートローダーやカーネルなどの信頼できるデジタル署名されたプログラムとコンポーネントだけが実行されます。セキュアブートは、ハードウェアに保存されている信頼できる鍵と、デジタル署名を照合します。改ざんされたコンポーネントや信頼できないエンティティーによって署名されたコンポーネントが検出されると、ブートプロセスが中止されます。この機能により、悪意のあるソフトウェアがオペレーティングシステムを侵害するのを防ぎます。

セキュアブートは、信頼できるエンティティーだけをブートチェーンに参加させるという点で、Confidential Virtual Machine (CVM) の設定において重要な役割を果たします。定められたインターフェイスを介して特定のデバイスパスへのアクセスを認証し、最新の設定の使用を強制し、以前の設定を永続的に上書きします。セキュアブートを有効にして Red Hat Enterprise Linux (RHEL) カーネルを起動すると、カーネルが lockdown モードに入ります。これにより、信頼できるベンダーによって署名されたカーネルモジュールだけが確実にロードされます。その結果、セキュアブートによってオペレーティングシステムのブートシーケンスのセキュリティーが強化されます。

5.1.1. セキュアブートのコンポーネント

セキュアブートメカニズムは、ファームウェア、署名データベース、暗号鍵、ブートローダー、ハードウェアモジュール、およびオペレーティングシステムで構成されます。以下は、UEFI の信頼済み変数の構成要素です。

  • Key Exchange Key データベース (KEK): RHEL オペレーティングシステムと仮想マシンファームウェア間の信頼を確立するための公開鍵の交換。これらの鍵を使用して、Allowed Signature データベース (db) と Forbidden Signature データベース (dbx) を更新することもできます。
  • Platform Key データベース (PK): 仮想マシンファームウェアとクラウドプラットフォーム間の信頼を確立するための自己署名のシングルキーデータベース。また、PK は KEK データベースを更新します。
  • Allowed Signature データベース (db): バイナリーファイルがシステム上で起動できるかどうかを確認するための証明書またはバイナリーハッシュのリストを保持するデータベース。さらに、db からのすべての証明書は、RHEL カーネルの .platform キーリングにインポートされます。この機能を使用すると、lockdown モードで署名されたサードパーティーのカーネルモジュールを追加およびロードすることができます。
  • Forbidden Signature データベース (dbx): システム上で起動することが禁止されている証明書またはバイナリーハッシュのリストを保持するデータベース。
注記

バイナリーファイルは、dbx データベースと Secure Boot Advanced Targeting (SBAT) メカニズムに照らしてチェックされます。SBAT を使用すると、バイナリーに署名した証明書を有効なままに保ちながら、特定のバイナリーの古いバージョンを無効にできます。

5.1.2. クラウド上の RHEL におけるセキュアブートの段階

RHEL インスタンスが Unified Kernel Image (UKI) モードで起動し、セキュアブートが有効な場合、RHEL インスタンスは次の順序でクラウドサービスインフラストラクチャーとやり取りします。

  1. 初期化: RHEL インスタンスが起動すると、クラウドでホストされているファームウェアが最初に起動し、セキュアブートメカニズムを実装します。
  2. 変数ストアの初期化: ファームウェアは、変数ストアから UEFI 変数を初期化します。このストアは、ブートプロセスと実行時の操作のためにファームウェアが管理する必要がある情報専用のストレージ領域です。RHEL インスタンスが初めて起動すると、ストアは仮想マシンイメージに関連付けられたデフォルト値によって初期化されます。
  3. ブートローダー: ブート時に、ファームウェアは第 1 段階のブートローダーをロードします。x86 UEFI 環境の RHEL インスタンスの場合、第 1 段階のブートローダーは shim です。shim ブートローダーは、ブートプロセスの次の段階を認証して読み込み、UEFI と GRUB 間の橋渡し役として機能します。

    1. RHEL の shim x86 バイナリーは、現在 Microsoft Corporation UEFI CA 2011 Microsoft 証明書によって署名されています。これは、Allowed Signature データベース (db) にデフォルトの Microsoft 証明書が含まれているさまざまなハードウェアおよび仮想化プラットフォーム上で、RHEL インスタンスをセキュアブート対応モードで起動できるようにするためです。
    2. shim バイナリーは、Red Hat Secure Boot CA と、必要に応じて Machine Owner Key (MOK) を使用して、信頼済み証明書のリストを拡張します。
  4. UKI: shim バイナリーは、RHEL UKI (kernel-uki-virt パッケージ) をロードします。対応する証明書 (x86_64 アーキテクチャーでは Red Hat Secure Boot Signing 504) が UKI に署名します。この証明書は redhat-sb-certs パッケージにあります。この証明書は Red Hat Secure Boot CA によって署名されているため、チェックは成功します。
  5. UKI アドオン: UKI cmdline 拡張機能を使用する場合、RHEL カーネルが、拡張機能の署名を dbMOK、および shim に同梱されている証明書と照合して積極的にチェックします。このプロセスにより、その拡張機能が、オペレーティングシステムベンダーである RHEL か、ユーザーのどちらかによって署名されていることが保証されます。

RHEL カーネルがセキュアブートモードで起動すると、カーネルは lockdown モードになります。lockdown に入ると、RHEL カーネルは db の鍵を .platform キーリングに追加し、MOK の鍵を .machine キーリングに追加します。カーネルビルドプロセス中、ビルドシステムは、秘密鍵と公開鍵で構成される一時的な鍵を使用して動作します。ビルドシステムは、kernel-modules-corekernel-moduleskernel-modules-extra などの標準の RHEL カーネルモジュールに署名します。各カーネルビルドが完了すると、この秘密鍵はサードパーティーモジュールの署名には使用できなくなります。この署名のためには、db および MOK の証明書を使用できます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る