18.7. セキュアブートを使用する Linux 仮想マシンの作成
仮想化ホストのセキュリティーの向上を実現するために、セキュアブート 機能を使用する Linux 仮想マシンを作成できます。セキュアブートにより、仮想マシンが暗号署名されたオペレーティングシステム (OS) を実行していることが保証されます。
セキュアブートは、ゲスト OS に対する特定の種類の攻撃を防ぐのに役立ちます。また、仮想化によってすでに提供されている隔離機能に加えて、ホスト OS に対する追加の保護層としても機能します。ゲスト OS がセキュアブートをサポートしている場合は、セキュアブートを有効にして仮想マシンのセキュリティーを向上させてください。
AMD64 または Intel64 CPU アーキテクチャーを使用するホスト上で UEFI ファームウェアを使用して仮想マシンを作成すると、その仮想マシンはデフォルトでセキュアブートを使用します。
前提条件
ホストシステムが、AMD64、Intel64、または 64 ビット ARM アーキテクチャーを使用している。
重要64 ビット ARM システムについては、Red Hat はセキュアブート仮想マシンを テクノロジープレビュー としてのみ提供しています。実稼働環境では使用しないことを強く推奨します。
EDK2 パッケージがホストにインストールされている。
ホストが AMD64 または Intel64 アーキテクチャーを使用している場合は、
edk2-ovmfパッケージをインストールする必要があります。# dnf install edk2-ovmfホストが 64 ビット ARM を使用している場合は、代わりに
edk2-aarch64が必要です。# dnf install edk2-aarch64
仮想マシンが正しいマシンタイプを使用している。
-
AMD64 および Intel64 ホストでは、仮想マシンが
Q35マシンタイプを使用している必要があります。 -
64 ビット ARM ホストでは、仮想マシンが
virtマシンタイプを使用している必要があります。
-
AMD64 および Intel64 ホストでは、仮想マシンが
ゲストオペレーティングシステムのインストールソースが、ローカルまたはネットワーク上で利用可能である。これには、以下のいずれかの形式を使用できます。
- インストールメディアの ISO イメージ
既存の仮想マシンのディスクイメージ
警告RHEL 10 では、ホストの CD-ROM または DVD-ROM デバイスからインストールすることはできません。RHEL 10 で使用可能な仮想マシンインストール方法を使用するときに、インストールソースとして CD-ROM または DVD-ROM を選択すると、インストールが失敗します。詳細は、RHEL 7 or higher can’t install guest OS from CD/DVD-ROM (Red Hat ナレッジベース) を参照してください。
- オプション: インストールをより速く、簡単に設定するために、キックスタートファイルを利用できます。
手順
virt-installコマンドを使用して、コマンドラインを使用した仮想マシンの作成 で説明されているとおりに仮想マシンを作成します。--bootオプションには、uefi,firmware.feature0.name=enrolled-keys,firmware.feature0.enabled=yes値を使用します。以下に例を示します。
# virt-install \ --name rhel10sb --memory 4096 --vcpus 4 \ --os-variant rhel10.0 \ --boot uefi,firmware.feature0.name=enrolled-keys,firmware.feature0.enabled=yes \ --disk boot_order=2,size=10 \ --disk boot_order=1,device=cdrom,bus=scsi,path=/images/RHEL-10.0-installation.isoまたは、
--boot行を次のように調整して、新しい仮想マシンのセキュアブート設定を変更することもできます。-
--boot uefi- AMD64 または Intel 64 仮想マシンで UEFI とセキュアブートを有効にします。64 ビット ARM 仮想マシンでは、現時点では、これにより UEFI は有効になりますが、セキュアブートは無効のままになります。 -
--boot uefi,firmware.feature0.name=enrolled-keys,firmware.feature0.enabled=no- 仮想マシンの UEFI を有効にしますが、セキュアブートを無効にします。
-
- 画面の指示に従って、OS のインストール手順を進めます。
検証
- ゲスト OS がインストールされたら、グラフィカルゲストコンソール でコマンドラインを開くか、SSH を使用してゲスト OS に接続して、仮想マシンのコマンドラインにアクセスします。
仮想マシンでセキュアブートが有効になっていることを確認するには、
mokutil --sb-stateコマンドを使用します。# mokutil --sb-state正常な出力:
SecureBoot enabled