第 7 章 在带有 UKI 的公共云平台上配置 RHEL


要确保 Red Hat Enterprise Linux (RHEL)实例具有来自不受信任的存储的安全引导过程,请使用统一内核镜像(UKI)。这适用于公共云平台上的机密虚拟机(CVM)。

7.1. 统一内核镜像概述

要在整个引导链中扩展安全引导保护,请使用统一内核镜像(UKI)。

UKI 组件

统一内核镜像(UKI)是一个统一的可扩展固件接口(UEFI)可移植可执行文件(PE)二进制文件。它整合了 UEFI 环境的操作系统的基本组件。UKI 二进制组件通过包括 initramfs 和内核命令行来扩展安全引导覆盖率。initramfs 是 Linux 启动过程的一部分。内核命令行可让您限制对定义参数的权限。UKI 二进制文件中包含的主要组件有:

  • .linux 部分存储 Linux 内核镜像。
  • .initrd 部分存储初始 RAM 文件系统 initramfs
  • .cmdline 部分存储内核命令行。
  • 其他部分,如 .sbat
  • 红帽签名。
带有预构建 initramfs的 RHEL UKI 的功能
  • 禁止任何恶意代理或组件更改引导链中的任何对象。
  • 由于预构建的 initramfs,用户不需要构建其自定义 initramfs,从而加快内核安装速度。
  • 提供对预构建的 initramfs 系统的支持,就像虚拟机(VM)、容器或云实例等所有安装中相似。
  • 提供对 x86_64 架构的支持。
  • 包括 kernel-uki-virt 软件包。
  • 专为虚拟机和云实例构建。
由于引导过程的灵活性降低了英国I 的限制
  • 在构建 UKI 时,操作系统供应商会创建 initramfs。因此,列出的内核模块和包括的内核模块是静态的。您可以使用 systemd 系统和配置扩展来解决这个问题。
  • 内核命令行参数是 static,它限制了对不同的实例大小或调试选项的参数。

您可以使用 UKI 命令行扩展来克服这个限制。

UKI 安全引导过程

要防止您的系统进行未经授权的引导时修改,请使用带统一内核镜像(UKI)的安全引导机制。当在安全引导时使用 UKI 时,系统会验证引导链中的每个组件,以确保系统的完整性并防止恶意代码执行。云中 Red Hat Enterprise Linux (RHEL)的安全引导过程如下:

  1. UEFI 固件 :引导过程从统一可扩展固件接口(UEFI)固件开始。

    1. 对于引导,Red Hat Enterprise Linux (RHEL) UKI 需要 UEFI 固件,因为不支持旧的基本输入/输出系统(BIOS)固件。
  2. shim 引导装载程序 :使用 shim 引导装载程序引导,而不是直接从 UEFI 固件引导 UKI ( PE 二进制文件)。

    1. shim 包括额外的安全机制,如 Machine Owner Key (MOK)和安全引导高级目标(SBAT)。
  3. 签名验证(Secure Boot UEFI 机制 ):在引导时,shim 读取 UKI 二进制文件,并且安全引导 UEFI 机制验证 UKI 的签名。

    1. 此签名验证针对存储在系统的安全引导 Allowed Signature Database (db)中的可信密钥、MOK 数据库以及 shim 二进制文件的内置数据库。
    2. 如果签名密钥有效,则验证通过。
  4. SBAT 验证 :在签名验证后,shim 引导装载程序会在启动时验证 SBAT 规则。

    1. 在 SBAT 验证过程中,系统会根据 shim 引导装载程序中的值对 systemd.rhellinux . rhel 等组件的生成号进行了比较。
    2. 如果 shim 中组件的生成号高于 UKI 中的生成号,则二进制文件会自动丢弃,即使它是由可信密钥签名的。

      请注意,生成号是 UEFI 应用程序的版本标识符,如 shimgrub

  5. 解包和执行 :如果验证通过,则控制从 shim 传递给 UKI 中的 systemd-stub 代码,以继续引导过程。
  6. systemd-stub add-ons :在执行过程中,systemd-stub unpacks,并提取 .cmdline 部分的内容、纯文本内核命令行和 .initrd 部分(用于引导过程的临时根文件系统)。

    请注意,systemd-stub 读取 UKI 附加组件(也称为 PE 二进制文件),并通过从附加组件附加 .cmdline 内容来验证其签名以安全地扩展 UKI 的内核命令行。systemd-stub 从两个位置读取附加组件:

    • 全局(独立于UKI)附加组件(来自可扩展固件接口(EFI)系统分区(ESP)上的 /loader/addons/ 目录中)。
    • ESP 上的 /EFI/Linux/<UKI-name>.extra.d/ 目录中的 per-UKI 附加组件。
  7. 控制从 systemd-stub 传递给 Linux 内核,操作系统引导过程将继续。

    从这一刻,使用 UKI 机制的安全引导遵循标准内核引导过程。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部