红帽企业 Linux (RHEL) 的新主要版本在机密计算领域带来许多重要改进。本文将介绍 RHEL 10 和 RHEL 9.6 中现有的最重要功能。 

  • 全面支持红帽统一内核镜像(UKI),包括 FIPS 和 kdump 支持
  • 英特尔信任域扩展(TDX)客户机
  • Trustee 认证客户端

全面支持红帽统一内核镜像(UKI)

首次引入是在 RHEL9.2 中作为技术预览,RHEL 的统一内核镜像 (UKI)  是一个 UEFI 可移植可执行 (PE) 二进制文件,其中包含 Linux 内核、initramfs 和内核命令行。将所有这些部分包含在一个二进制文件中,可以将安全启动保护扩展到整个操作系统启动过程。在操作系统从不受信任的存储(如公共云上的机密虚拟机 (CVM))启动的各种情况下,这一点非常重要。

RHEL UKI 已发布  在 kernel-uki-virt 软件包中,目前仅支持 x86_64 架构。未来,我们计划添加支持 UEFI 固件的其他架构,特别是 ARM64 (Aarch 64)。Aarch 64。 

RHEL UKI 适用于虚拟机和云实例。满足以下前提条件时,可以使用它:

  • UEFI 固件用于启动(不支持传统 BIOS 启动)
  • 存储为 NVMe、Virtio 或 VMBus
  • 驱动器使用 GPT 进行标准分区。分区方案必须符合 systemd-gpt-auto-generator。还支持 LUKS 加密卷
  • 根卷使用 XFS 或 Ext4 文件系统

UKI 基于 systemd-stub ,并作为 PE 二进制文件,可以直接从 UEFI 固件启动。红帽建议在启动 UKI 时使用 shim 启动加载器。这允许使用 shim 提供的其他安全机制,如计算机所有者密钥 (MOK) 和安全启动高级目标 (SBAT)。为了简化管理 UEFI 变量, uki-direct 软件包( python3-virt-firmware)包含一个方便的 kernel-bootcfg 工具。此软件包也可用于实施 A/B 启动,其中新安装的 UKI 会尝试一次,如果成功启动,则成为默认值。

随着 RHEL 10 和 RHEL 9.6 的发布,红帽 UKI 技术得到了全面支持。请注意,RHEL UKI 也可以使用 addons 机制进行扩展。 

RHEL UKI 支持 FIPS 模式

在某些情况下,使用 RHEL UKI 时,可能需要修改原本静态的内核命令行。特别是,将 RHEL 切换到 FIPS 模式需要在 fips=1 内核命令行上添加参数。为了简化常见用例,RHEL UKI 附带了一组预构建和签名的内核命令行扩展,这些扩展包含在 kernel-uki-virt-addons 软件包中。借助此软件包,在内核命令行上启用 FIPS 就像将插件复制到 EFI 系统分区一样简单:

# rpm -q kernel-uki-virt kernel-uki-virt-addons 
kernel-uki-virt-5.14.0-569.el9.x86_64 
kernel-uki-virt-addons-5.14.0-569.el9.x86_64 
# cp \ 
/lib/modules/5.14.0-569.el9.x86_64/vmlinuz-virt.efi.extra.d/fips-enable-virt.rhel.x86_64.addon.efi \ 
/boot/efi/EFI/Linux/`cat /etc/machine-id`-5.14.0-569.el9.x86_64.efi.extra.d/ 
# reboot 

重启后,您可以验证 fips=1 出现在内核命令行中:
 

# cat /proc/cmdline 
console=tty0 console=ttyS0  fips=1 

请注意,在 RHEL 9 中,您还必须使用 fips-mode-setup 将系统范围的加密策略切换到 FIPS 模式。使用 RHEL UKI 时,可以通过 --no-bootcfg 开关:

# fips-mode-setup --no-bootcfg

RHEL UKI 支持 kdump 启用

与 FIPS 类似,启用 kdump 需要预留内存。这通过在内核命令行上指定 crashkernel= 参数来实现。为方便起见, kernel-uki-virt-addons 包含适用于大多数常见用例的签名插件:

# ls -1 /lib/modules/`uname -r`/vmlinuz-virt.efi.extra.d/ \ 
| grep crashkernel 
crashkernel-1536M-virt.rhel.x86_64.addon.efi 
crashkernel-192M-virt.rhel.x86_64.addon.efi 
crashkernel-1G-virt.rhel.x86_64.addon.efi 
crashkernel-256M-virt.rhel.x86_64.addon.efi 
crashkernel-2G-virt.rhel.x86_64.addon.efi 
crashkernel-512M-virt.rhel.x86_64.addon.efi 
crashkernel-default-virt.rhel.x86_64.addon.efi 

要启用所需的插件,请将其复制到 /boot/efi/EFI/Linux/`cat /etc/machine-id`-`uname -r`.efi.extra.d/ 目录。

现已全面支持英特尔信任域扩展 (TDX) 

英特尔信任域扩展 (TDX) 是英特尔的一项机密计算技术,可提供硬件隔离的虚拟机(称为“受信域”或 TD)。英特尔 TDX 提供机密性、真实性和完整性保证。

RHEL 9.2 版本中引入了对在 TDX 受信任域内运行 RHEL 的支持,作为技术预览。RHEL 10 和 RHEL 9.6 版本完全支持这种用例。特别是,RHEL 可用于 Google Cloud 的 C3 计算机系列, Google Cloud 以及微软 Azure DCesv5 和 ECesv5 系列(目前处于公开预览版阶段)。

RHEL 中的 Trustee 客户端

远程认证是机密计算的重要组成部分,因为它会先证明环境的可信度,然后才能将机密数据放入其中。在上一篇文章中,我们描述了 IETF 远程认证程序架构 (RATS) 模型 和 Trustee 项目,以及如何将它们应用到机密容器。RHEL 9.6 和 10 简化了 Trustee 的使用,Trustee 客户端作为 trustee-guest-components 软件包提供。请注意,该客户端作为技术预览提供,可用于开发和测试目的。

摘要

当机密性和安全性是绝对优先事项时,您可以在最先进的硬件技术(如 AMD 的 SEV-SNP 和英特尔的 TDX)上运行 RHEL,并确信 RHEL 附带的软件(如红帽 UKI)是稳定的。红帽专注于机密计算技术的易用性,确保在虚拟化和云环境中运行 RHEL 的所有客户都可以使用这些技术。

产品试用

红帽企业 Linux | 产品试用

此版本的红帽企业 Linux 能够编排硬件资源,并可以在物理系统、云端,或是作为虚拟机监控程序客户机运行。

关于作者

UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Virtualization icon

虚拟化

适用于您的本地或跨云工作负载的企业虚拟化的未来