翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AL2023 は、リリース 2023.1 以降の UEFI Secure Boot をサポートしています。AL2023 は UEFI と UEFI セキュアブートの両方をサポートする Amazon EC2 インスタンスで使用する必要があります。詳細については、Amazon EC2 ユーザーガイド」の「UEFI ブートモードで Amazon EC2 インスタンスを起動するための要件」を参照してください。 Amazon EC2
UEFI Secure Boot が有効になっている AL2023 インスタンスは、Linux カーネルや によって署名されたモジュールを含むカーネルレベルコードのみを受け入れます。Amazonこれにより、インスタンスが署名されたカーネルレベルコードのみを実行できるようになります AWS。
Amazon EC2 インスタンスと UEFI セキュアブートの詳細については、「Amazon Amazon EC2 インスタンスの UEFI セキュアブート」を参照してください。 Amazon EC2
前提条件
-
AL2023 リリース 2023.1 以降の AMI を使用している必要があります。
-
インスタンスタイプは UEFI Secure Boot をサポートする必要があります。詳細については、Amazon EC2 ユーザーガイド」の「UEFI ブートモードで Amazon EC2 インスタンスを起動するための要件」を参照してください。 Amazon EC2
AL2023 で UEFI セキュアブートを有効にする
標準 AL2023 AMI には、ブートローダーおよびキーで署名されたカーネルが組み込まれています。UEFI セキュアブートを有効にするには、既存のインスタンスを登録するか、スナップショットからイメージを登録して UEFI セキュアブートがあらかじめ有効になっている AMI を作成します。デフォルトでは、UEFI セキュアブートは標準の AL2023 AMI で有効になっていません。
インスタンスタイプが UEFI をサポートしている場合、AL2023 AMI のブートモードは、これらの AMI で起動されたインスタンスが UEFI ファームウェアを使用するように uefi-preferred
に設定されています。インスタンスタイプが UEFI をサポートしていない場合、インスタンスはレガシー BIOS ファームウェアで起動されます。インスタンスをレガシー BIOS モードで起動すると UEFI セキュアブートは実行されません。
Amazon EC2 インスタンスの AMI ブートモードの詳細については、「Amazon EC2 Amazon EC2ユーザーガイド」のAmazon EC2 ブートモードを使用したインスタンスの起動動作」を参照してください。
既存のインスタンスの登録
既存のインスタンスを登録するには、特定の UEFI ファームウェア変数に、ファームウェアがブートローダーを検証し、ブートローダーが次回の起動時にカーネルを検証できるようにする一連のキーを設定します。
-
Amazon Linux には、登録プロセスを簡素化するツールが用意されています。以下のコマンドを実行して、必要なキーと証明書のセットをインスタンスにプロビジョニングします。
sudo amazon-linux-sb enroll
-
以下のコマンドを実行して、 インスタンスを再起動します。インスタンスが再起動すると、UEFI セキュアブートが有効になります。
sudo reboot
注記
Amazon Linux AMI は現在 Nitro Trusted Platform Module (NitroTPM) をサポートしていません。UEFI セキュアブートに加えて NitrotPM が必要な場合は、以下のセクションの情報を使用します。
スナップショットからイメージを登録する
Amazon EC2 register-image
API を使用して Amazon EBS ルートボリュームのスナップショットから AMI を登録する場合、UEFI 変数ストアの状態を含むバイナリブロブを使用して AMI をプロビジョニングできます。AL2023 UefiData
を提供することで UEFI セキュアブートが有効になり、前のセクションの手順を実行する必要がなくなります。
バイナリ BLOB の作成と使用の詳細については、Amazon EC2 ユーザーガイド」の「事前入力された変数ストアを含むバイナリ BLOB の作成」を参照してください。
AL2023 には、Amazon EC2 インスタンスで直接使用できる構築済みのバイナリ BLOB が用意されています。バイナリ BLOB は実行中のインスタンスの /usr/share/amazon-linux-sb-keys/uefi.vars
にあります。この BLOB は、リリース 2023.1 以降の AL2023 AMI にデフォルトでインストールされている amazon-linux-sb-keys
RPM パッケージによって提供されます。
注記
キーおよび失効のバージョンが最新であることを確認するには、AMI の作成に使用したのと同じリリースの AL2023 の BLOB を使用します。
イメージの登録時には、RegisterImage
API の BootMode
パラメータを uefi
に設定することをお勧めします。これにより、TpmSupport
パラメータを v2.0
に設定することで NitrotPM を有効にできます。また、UEFI をサポートしないインスタンスタイプに切り替えたときに UEFI セキュアブートが有効になり、誤って無効にされないように BootMode
を uefi
に設定できます。
NitroTPM の詳細については、Amazon EC2 ユーザーガイド」の「Amazon EC2 インスタンスの NitroTPM」を参照してください。 Amazon EC2
失効の更新
Amazon Linux は、更新されたキーで署名された新しいバージョンのブートローダー grub2
または Linux カーネルを配布する必要がある場合があります。その場合は、以前のバージョンのブートローダーの悪用可能なバグが UEFI セキュアブート検証プロセスをバイパスしてしまうことを防ぐために、古いキーを取り消す必要がある場合があります。
grub2
または kernel
パッケージにパッケージを更新すると、実行中のインスタンスの UEFI 変数ストアへの失効リストが常に自動的に更新されます。つまり、UEFI セキュアブートを有効にすると、パッケージのセキュリティ更新をインストールした後は、古いバージョンのパッケージを実行できなくなります。
AL2023 での UEFI Secure Boot の仕組み
他の Linux 配布とは異なり、Amazon Linux には第 1 ステージのブートローダーとして機能するシムと呼ばれる追加コンポーネントはありません。シムは通常、Microsoft のキーで署名されています。例えば、シム付きの Linux ディストリビューションでは、シムが grub2
ブートローダーをロードし、シム独自のコードを使用して Linux カーネルを検証します。さらに、シムは UEFI 変数ストアにある Machine Owner Key (MOK) データベースに独自のキーセットと失効情報を保持し、mokutil
ツールで制御します。
Amazon Linux にはシムはありません。AMI の所有者が UEFI 変数を制御するため、この中間ステップは不要で、起動時間と起動時間に悪影響を及ぼします。また、望ましくないバイナリが実行される可能性を減らすため、デフォルトではベンダーキーへの信頼を含めないようにしました。通常通り、必要に応じてバイナリを含めることができます。
Amazon Linux では、UEFI が grub2
ブートローダーを直接ロードして検証します。grub2
ブートローダーは、ロード後に UEFI を使用して Linux カーネルを検証するように変更されました。そのため、Linux カーネルは、通常の UEFI db
変数 (認証キーデータベース) に格納されているのと同じ証明書を使用して検証され、ブートローダーや他の UEFI バイナリと同じ dbx
変数 (失効データベース) に対してテストされます。db データベースおよび dbx データベースへのアクセスを制御する独自の PK キーおよび KEK キーを提供しているため、シムなどの仲介なしで、必要に応じて署名付きの更新と失効を配布できます。
UEFI セキュアブートの詳細については、「Amazon EC2 ユーザーガイド」の「UEFI セキュアブートと Amazon EC2 インスタンスとの連携方法」を参照してください。 Amazon EC2
独自のキーを登録する
前のセクションで説明したように、Amazon Linux では Amazon EC2 で shim
が UEFI セキュアブートを実行する必要はありません。他の Linux 配布ドキュメントを読んでいると、AL2023 にはない、mokutil
を使用した Machine Owner Key (MOK) データベースの管理に関するドキュメントを見かける可能性があります。shim
および MOK 環境は、Amazon EC2 が UEFI セキュアブートを実装する方法には当てはまらない UEFI ファームウェアへのキー登録のいくつかの制限を回避します。Amazon EC2 には、UEFI 変数ストア内のキーを簡単に直接操作するメカニズムがあります。
独自のキーを登録する場合は、既存のインスタンス内で変数ストアを操作するか (「インスタンス内から変数ストアにキーを追加する」を参照)、事前に入力されたバイナリ BLOB を作成するか (「事前に入力された変数ストアを含むバイナリ BLOB を作成する」を参照) 、これを行うことができます。