過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト 仮想化基盤の構築 問36

仮想化基盤の構築/仮想化環境のセキュリティ設定

KVM仮想マシンでUEFI Secure Bootを有効にする際、libvirtのドメインXMLには /usr/share/OVMF/OVMF_VARS.fd への参照を書くが、複数の仮想マシンが存在する場合はこのファイルをそのまま共有してはならない。その理由として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「仮想化基盤の構築」に対応。実際の試験問題ではありません)

正解:B

解説

OVMF は UEFI ファームウェアの実装であり、OVMF_CODE.fd(読み取り専用のファームウェアコード)と OVMF_VARS.fd(書き込み可能な NVRAM)の2ファイルで構成されます。OVMF_VARS.fd は UEFI の不揮発性変数(Secure Boot の PK・KEK・db・dbx などの鍵情報、ブート順序など)を保存する領域で、VM の設定変更時にこのファイルへ書き込みが行われます。複数の VM がこのファイルを共有すると、一方の VM での鍵登録や設定変更が他の VM の設定を上書きしてしまいます。そのため、libvirt は通常 /usr/share/OVMF/OVMF_VARS.fd をテンプレートとして VM ごとのコピー(例: /var/lib/libvirt/qemu/nvram/vmname_VARS.fd)を作成します。

選択肢ごとの解説

  • A誤り。ファームウェアの実行コードを含む読み取り専用のファイルは OVMF_CODE.fd です。OVMF_VARS.fd は書き込み可能な NVRAM で、書き込み競合ではなく設定の独立性が問題になります。
  • B正しい。OVMF_VARS.fd は UEFI NVRAM に相当し、Secure Boot の鍵情報やブート設定が書き込まれます。VM ごとに独立したコピーを用意しないと、VM 間で設定が干渉します。
  • C誤り。OVMF_VARS.fd の内容は VM の UUID で暗号化されていません。各 VM が独立したコピーを持つことで、設定の干渉を防ぐ仕組みになっています。
  • D誤り。libvirt は OVMF_VARS.fd を起動のたびにリセットするわけではありません。各 VM の NVRAM コピーは永続的に保持されます。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く