在 Amazon Linux 2 托管式节点上使用 Kernel Live Patching - AWS Systems Manager

在 Amazon Linux 2 托管式节点上使用 Kernel Live Patching

适用于 Amazon Linux 2 的 Kernel Live Patching 使您能够将安全漏洞和严重错误补丁应用于正在运行的 Linux 内核,而无需重启或中断正在运行的应用程序。这让您能够从改进的服务和应用程序可用性中受益,同时保持基础设施的安全和最新状态。在运行 Amazon Linux 2 的 Amazon EC2 实例、Kernel Live Patching 核心设备和本地虚拟机上支持 AWS IoT Greengrass。

有关 Kernel Live Patching 的一般信息,请参阅《Amazon EC2 用户指南》中的 Amazon Linux 2 上的 Kernel Live Patching

在 Amazon Linux 2 托管式节点上启用 Kernel Live Patching 之后,您可使用 Patch Manager(AWS Systems Manager 的一项功能)将内核实时补丁应用到托管式节点。使用 Patch Manager 是使用节点上的现有 yum 工作流来应用更新的替代方法。

开始前的准备工作

要使用 Patch Manager 将内核实时补丁应用到 Amazon Linux 2 托管式节点上,请确保节点基于正确的架构和内核版本。要了解有关信息,请参阅《Amazon EC2 用户指南》中的支持的配置和先决条件

使用 Patch Manager 的 Kernel Live Patching

更新内核版本

应用内核实时补丁更新后,无需重启托管式节点。但是,AWS 为 Amazon Linux 2 内核版本提供内核实时补丁,最长可达其发布后三个月。在三个月期限之后,您必须更新到更高版本的内核才能继续接收内核实时补丁。我们建议使用维护时段至少每三个月一次安排重启节点,以提示内核版本更新。

卸载内核实时补丁

无法使用 Patch Manager 卸载内核实时补丁。相反,您可以关闭 Kernel Live Patching,从而删除所应用的内核实时补丁的 RPM 程序包。有关更多信息,请参阅 使用 Run Command 来关闭 Kernel Live Patching

内核合规性

在某些情况下,从当前内核版本的实时补丁安装所有 CVE 补丁可能会使该内核进入与较新内核版本相同的合规性状态。发生这种情况时,较新版本报告为 Installed,而托管式节点报告为 Compliant。但是,对于较新的内核版本,不会报告安装时间。

一个内核实时补丁,多个 CVE

如果一个内核实时补丁解决多个 CVE,并且这些 CVE 具有各种分类和严重性值,则只针对该补丁报告 CVE 中的最高分类和严重性。

本节的其余部分介绍如何使用 Patch Manager 将内核实时补丁应用于满足这些要求的托管式节点。

使用 Patch Manager 的 Kernel Live Patching 的原理

AWS 为 Amazon Linux 2 发布了两种类型的内核实时补丁:安全更新和错误修复。要应用这些补丁类型,请使用仅针对下表列出的分类和严重性的补丁基准文档。

分类 严重性
Security Critical, Important
Bugfix All

您可以创建仅针对这些补丁的自定义补丁基准,也可以使用预定义的 AWS-AmazonLinux2DefaultPatchBaseline 补丁基准。换句话说,您可以将 AWS-AmazonLinux2DefaultPatchBaseline 与启用 Kernel Live Patching 的 Amazon Linux 2 托管式节点一起使用,并且系统会应用内核实时更新。

注意

AWS-AmazonLinux2DefaultPatchBaseline 配置指定发布最后更新补丁后的 7 天等待期,然后才会自动安装补丁。如果您不想等待 7 天再自动批准内核实时补丁,则可以创建并使用自定义补丁基准。在补丁基准中,您可以不指定自动批准等待期,也可以指定较短或更长的等待期。有关更多信息,请参阅 使用自定义补丁基准

我们建议使用以下策略通过内核实时更新来修补托管式节点:

  1. 在 Amazon Linux 2 托管式节点上启用 Kernel Live Patching。

  2. 使用 Run Command(AWS Systems Manager 的一项功能)在托管式节点上运行 Scan 操作,这些节点使用预定义 AWS-AmazonLinux2DefaultPatchBaseline 或自定义补丁基准,该基准也仅针对严重性分类为 CriticalImportant,以及 All 的严重性为 BugfixSecurity 更新。

  3. 使用合规性(AWS Systems Manager 的一项功能)查看是否报告了任何已扫描的托管式节点中修补不合规情况。如果是这样,请查看节点合规性详细信息,以确定托管式节点中是否缺少任何内核实时补丁。

  4. 要安装缺少的内核实时补丁,请将 Run Command 与之前指定的相同补丁基准一起使用,但这次运行 Install 操作而不是 Scan 操作。

    由于无需重启即可安装内核实时补丁,因此您可以为此操作选择 NoReboot 重启选项。

    注意

    如果托管式节点上安装的其他类型补丁需要,或者要更新到较新的内核,您仍然可以重启托管式节点。在这些情况下,请改为选择 RebootIfNeeded 重启选项。

  5. 返回到合规性以验证安装了内核实时补丁。