什么是用于 Azure Kubernetes 服务 (AKS) 的带 OS Guard 的 Azure Linux(预览版)?

Note

Azure 容器 Linux(ACL)将取代带有 OS Guard(预览版)的 Azure Linux,成为 Azure Kubernetes Service(AKS)的长期、不可变且针对容器优化的 Linux 操作系统(OS)。 它提供了一个安全、最少且可操作一致的主机 OS,旨在大规模运行容器化工作负荷。 有关详细信息,请参阅 Azure 容器 Linux (ACL) 概述

本文概述了 Azure Linux 与 OS Guard,这是 Azure Linux 的强化、不可变变体。 它为 AKS 上的容器主机提供强大的运行时完整性、防篡改性和企业级安全性。 OS Guard 基于 Azure Linux 添加了内核和运行时功能,这些功能强制实施代码完整性,保护根文件系统免受未经授权的更改,并应用强制访问控制。 如果需要提升容器主机和工作负荷运行时的保证,请使用 OS Guard。

主要功能

下表概述了具有 OS Guard 的 Azure Linux 的主要功能:

特性 Description 备注
不可变性 /usr 目录作为受 dm-verity 保护的只读卷装载。 在运行时,内核会验证已签名的根哈希,以检测和阻止篡改。 N/A
代码完整性 OS Guard 集成了 完整性策略强制(IPE)Linux 安全模块 ,以确保只允许来自受信任签名卷的二进制文件执行。 这有助于防止篡改或不受信任的代码执行,包括在容器映像中。 IPE 在预览期间以 审核 模式运行。
强制访问控制 OS Guard 集成 SELinux,以限制哪些进程可以访问系统中的敏感资源。 SELinux 在预览期间以 宽松 模式运行。
测量启动和可信启动 OS Guard 支持可信启动,并与 受信任的启动 集成,以提供虚拟 TPM(vTPM)中存储的启动组件的加密测量。 这是通过使用统一内核映像(UKI)实现的,该映像将内核、initramfs 和内核命令行捆绑成一个已签名的单个工件。 启动时,vTPM 会测量和记录 UKI,以确保在最早阶段的完整性。 N/A
已验证的容器层 容器映像和层使用已签名的 dm-verity 哈希进行验证。 这可确保在运行时仅使用经过验证的层,从而降低容器逃逸或被篡改的风险。 IPE 功能扩展到容器映像,确保只有与信任签名匹配的二进制文件才能被执行,即使它们存在于已验证的层中也是如此。 IPE 在预览期间以 审核 模式运行。
主权供应链安全 OS Guard 继承 Azure Linux 的安全生成管道、签名的统一内核映像(UKIs)和软件材料清单(SBOM)。 N/A

主要优势

下表概述了将 Azure Linux 与 OS Guard 配合使用的主要优势:

Benefit Description
强大的运行时完整性保证 内核强制执行的不可变性和 IPE 可防止执行被篡改或不受信任的代码。
减少攻击面 只读 /usr 目录、减少的包计数和 SELinux 策略限制了攻击者安装持久后门或更改系统二进制文件的机会。
供应链信任 基于 Azure Linux 的签名映像和供应链流程构建,明确溯源系统组件的来源。
与 Azure 安全功能集成 受信任启动和安全启动的本机支持能够提供测量的启动保护和证明。
开源透明度 许多基础技术(dm-verity、SELinux、IPE)都是上游或开源技术,Microsoft具有支持这些功能的工具和贡献。
合规性继承 OS Guard 从 Azure Linux 继承符合性属性(例如,适用于 Azure Linux 的加密模块和认证),从而更轻松地在受管制环境中采用。

注意事项和限制

将 Azure Linux 与 AKS 的 OS Guard 配合使用时,请记住以下注意事项和限制:

  • 使用 OS Guard 的 Azure Linux 需要 Kubernetes 版本 1.32.0 或更高版本。
  • 所有具有 OS Guard 映像的 Azure Linux 都启用了 联邦信息进程标准(FIPS)受信任的启动
  • 在 AKS 上的 Azure Linux,只有 Azure CLI 和 ARM 模板这两种部署方法受支持,并且 OS Guard 目前处于预览状态。 不支持 PowerShell 和 Terraform。
  • 在 AKS 上提供的带有 OS Guard 的 Azure Linux 预览版不支持 Arm64 映像。
  • NodeImageNone是唯一受支持的操作系统(OS)升级通道,适用于在 AKS 上使用 OS Guard 的 Azure Linux。 UnmanagedSecurityPatch 与带有 OS Guard 的 Azure Linux 不兼容,因为 /usr 目录是不可变的。
  • 不支持工件流式传输
  • 不支持 Pod Sandboxing
  • 不支持机密虚拟机(CVM)。
  • 不支持第 1 代虚拟机(VM)。

如何选择 Azure Linux 容器主机选项

使用 OS Guard 的 Azure Linux 基于 Azure Linux 构建,受益于相同的供应链保护和签名映像。 这两种 OS 变体都可以根据您的安全性、合规性和操作要求来选择适用:

容器主机选项 Azure Linux 容器主机 使用 OS Guard 的 Azure Linux
安全优势 Azure Linux 提供 Microsoft 认为对 AKS 工作负荷至关重要的安全优势。 Azure Linux 的所有优势以及上述额外安全优势。
用户熟悉性 来自其他 Linux 分发版(如 Ubuntu)的客户熟悉操作和工具。 对来自其他容器优化发行版的客户来说很熟悉。
目标读者 面向进行原样迁移和其他迁移的客户,以及从其他 Linux 发行版迁移而来的客户。 面向出生在云中的云原生客户或希望实现现代化。
安全控制 如有必要,可为重视安全的客户启用 AppArmor 的选项。 默认情况下,SELinux 和 IPE 等安全开关是许可的。

有关适用于 AKS Azure Linux OS Guard 的详细信息,请参阅以下资源: