OS Patch Management


使用 OS Patch Management 在一组 Compute Engine 虚拟机实例 (VM) 上应用操作系统补丁程序。长时间运行的虚拟机需要定期更新系统,以防出现缺陷和漏洞。

OS Patch Management 服务有两个主要组件:

  • 补丁程序合规报告;该组件提供运行各种 Windows 和 Linux 发行版的虚拟机实例修补状态的分析结果。除了分析结果之外,您还可以查看该组件针对虚拟机实例提供的建议。
  • 补丁程序部署;该组件自动执行操作系统和软件补丁程序更新过程。补丁程序部署组件会安排修补作业修补作业跨虚拟机实例运行,并会应用补丁程序。

优势

OS Patch Management 服务可让您灵活地完成以下过程:

  • 创建补丁程序审批。您可以从特定操作系统的所有可用更新中选择要应用于系统的补丁程序。
  • 设置灵活的时间安排。您可以选择何时运行补丁程序更新(一次性还是周期性)。
  • 应用高级补丁程序配置设置。您可以通过添加修补前和修补后脚本等配置来自定义补丁程序。
  • 在一个地方集中管理这些修补作业或更新。您可以使用 OS Patch Management 信息中心来监控和报告修补作业及合规状态。

价格

如需了解价格,请参阅虚拟机管理器价格

OS Patch Management 的工作原理

要使用 OS Patch Management 功能,您必须设置 OS Config API 并安装 OS Config 代理。如需了解详细说明,请参阅设置 VM 管理器。OS Config 服务可在您的环境中实现补丁程序管理,而 OS Config 代理则会利用更新机制来让各个操作系统应用补丁程序。更新是从操作系统的软件包代码库(也称为分发源软件包)或本地代码库中拉取的。

以下更新工具用于应用补丁程序:

  • Red Hat Enterprise Linux (RHEL) 和 Centos - yum upgrade
  • Debian 和 Ubuntu - apt upgrade
  • SUSE Linux Enterprise Server (SLES) - zypper update
  • Windows - Windows 更新代理

补丁程序和包源代码

如需使用 OS Patch Management,虚拟机必须能够访问软件包更新或补丁程序。OS Patch Management 不托管或维护软件包更新或补丁程序。在某些情况下,您的虚拟机可能无法访问更新。例如,如果您的虚拟机不使用公共 IP,或者您使用的是专用 VPC 网络。在这些情况下,您必须完成其他步骤才能访问更新或补丁程序。请考虑以下选择:

  • Google 建议您托管自己的本地代码库或 Windows Server Update Service,以便全面控制补丁程序基准。
  • 或者,您可以使用 Cloud NAT 或其他代理服务将外部更新来源用于虚拟机。

补丁程序管理包含两项服务:补丁程序部署和补丁程序合规性。以下部分对每项服务进行了介绍。

补丁部署概览

补丁部署是通过调用 Patch API(也称为 OS Config API)启动的。为此,您可以使用 Google Cloud 控制台、Google Cloud CLI 或直接 API 调用。然后,Patch API 会通知在目标虚拟机上运行的 OS Config 代理开始修补。

OS Config 代理使用各发行版可用的补丁程序管理工具在每个虚拟机上运行修补。例如,Ubuntu 虚拟机使用 apt 实用程序工具。该实用程序工具会从操作系统的分发源中检索更新(补丁程序)。在修补过程中,OS Config 代理会向 Patch API 报告进度。

补丁程序合规性概览

在虚拟机上设置 VM 管理器后,虚拟机将发生以下情况:

  • OS Config 代理定期(大约每 10 分钟)将操作系统清点数据报告到虚拟机的客机特性中。
  • 补丁程序合规性后端定期读取此数据,将其与从操作系统发行版获取的软件包元数据交叉引用,并将此数据保存到 Container Analysis 服务代码库中。
  • 然后,Google Cloud Console 从 Container Analysis API 服务获取补丁程序合规性数据,并在控制台中显示此信息。

如何生成补丁程序合规性数据

补丁程序合规性后端会定期完成以下任务:

  1. 读取从虚拟机上的操作系统清点数据中收集的报告。
  2. 从每个操作系统的漏洞源扫描分类数据,并根据严重程度(从最高到最低)对此数据排序。

    下表总结了用于每种操作系统的漏洞源。

    操作系统 漏洞源软件包
    RHEL 和 Centos
    Debian https://security-tracker.debian.org/tracker/data/json
    Ubuntu https://git.launchpad.net/ubuntu-cve-tracker
    SLES

    SLES 不支持补丁程序合规性报告

    Rocky Linux

    Rocky Linux 不支持补丁程序合规性报告

    Windows Windows 没有漏洞源软件包。

    补丁程序合规性后端会从 Windows Update Agent API 获取分类数据。

  3. 将这些分类(由漏洞源提供)映射到 Google 的补丁程序合规性状态

    下表总结了用于生成 Google 的补丁程序合规性状态的映射系统。

    分发源类别 Google 的补丁程序合规性状态
    • 严重
    • 紧急
    • WINDOWS_CRITICAL_UPDATE
    严重(红色)
    • 重要
    • WINDOWS_SECURITY_UPDATE
    重要/安全(橙色)
    • 所有其他类别
    其他(黄色)
    • 没有可用的更新
    最新(绿色)

  4. 将此数据保存到 Container Analysis 服务代码库中。

  5. 为每个可用更新选择严重程度最高的数据,并将其显示在 Google Cloud Console 信息中心页面上。您还可以在虚拟机详情页面上查看虚拟机的所有可用更新的完整报告。

例如,如果 RHEL 7 虚拟机的操作系统清点数据包含以下软件包数据:

  • 软件包名称:package1
  • 已安装的版本:1.4
  • 更新版本:2.0

补丁程序合规性后端会从源分发扫描分类数据,并检索以下信息:

  • 1.5 版 => 严重,修正 CVE-001
  • 1.8 版 => 低,修正 CVE-002
  • 1.9 版 => 低,修正 CVE-003

然后,在 Google Cloud Console 信息中心中,此 RHEL 7 虚拟机会添加到具有可用的 Critical 更新的虚拟机列表中。如果查看此虚拟机的详细信息,您会看到 1 个可用 Critical 更新(2.0 版)以及 3 个 CVE:CVE-001、CVE-002 和 CVE-003。

同时修补

启动修补作业时,服务会使用您提供的实例过滤条件来确定要修补的特定实例。您可以通过实例过滤条件同时修补多个实例。当已安排好的修补作业开始考虑您环境中的变化时,便会执行此过滤。

计划性修补

补丁程序可按需执行、提前安排或按周期性时间表来配置。如果您需要立即停止正在进行的修补作业,也可以将其取消。

通过创建具有指定频率和时长的补丁程序部署,您可以设置修补维护期。安排具有指定时长的修补作业可确保修补任务不会在指定的维护期之外发生。

此外,通过创建要在特定时间完成的补丁程序部署,您可以实施补丁程序安装截止期限。如果目标虚拟机未在此日期之前进行修补,那么安排好的部署会在此日期开始安装补丁程序。如果虚拟机已完成修补,则系统不会对这些虚拟机执行任何操作,除非指定了修补前或修补后脚本或者需要重新启动。

操作系统修补作业包含哪些内容?

在虚拟机上运行修补作业时,系统会根据操作系统运用一系列更新。您可以选择要应用的特定更新和软件包,对于 Windows 操作系统,还可以指定要更新的 KB ID。

您还可以使用操作系统修补作业来更新针对该特定发行版标准软件包安装的任何 Google 代理。使用该发行版的更新工具来查询可用的软件包。例如,如需查看 Ubuntu 操作系统的可用 Google 代理,请运行 apt list --installed | grep -P 'google'

Windows

对于 Windows 操作系统,您可以应用下面的所有更新,或从中进行选择:

  • 定义更新
  • 驱动程序更新
  • 功能包更新
  • 安全更新
  • 工具更新

RHEL/CentOS

对于 Red Hat Enterprise Linux 和 Centos 操作系统,您可以应用下面的所有更新,或从中进行选择:

  • 系统更新
  • 安全更新

Debian/Ubuntu

对于 Debian 和 Ubuntu 系统,您可以应用下面的所有更新,或从中进行选择:

  • 分发包更新
  • 软件包管理器更新

SUSE

对于 SUSE Enterprise Linux Server (SLES) 和 openSUSE 操作系统,您可以应用下面的所有更新,或从中进行选择:

  • 系统软件包更新
  • Zypper 补丁程序(特定的 Bug 修复和安全修复)

访问 OS Patch Management 数据

如需访问 OS Patch Management 数据,您可以使用以下方案:

OS Patch Management 信息中心

Google Cloud Console 提供了一个信息中心,您可以通过该信息中心监控虚拟机实例的补丁程序合规状态。

转到 OS Patch Management 页面

OS Patch Management 信息中心。

了解 OS Patch Management 信息中心

操作系统概览

本部分按操作系统显示虚拟机总数。要使某一虚拟机显示在此列表中,该虚拟机必须安装 OS Config 代理并启用 OS Inventory Management。

虚拟机卡片数量。

如果某个虚拟机的操作系统显示为 No data,则可能存在下面的一种或多种情况:

  • 虚拟机无响应。
  • 未安装 OS Config 代理。
  • 未启用 OS Inventory Management。
  • 操作系统不受支持。如需查看受支持操作系统的列表,请参阅支持的操作系统

补丁程序合规状态

操作系统专属卡片。

本部分按操作系统详细介绍每个虚拟机的合规状态。

合规状态分为四个主要类别:

  • 关键:这意味着虚拟机有可用的关键更新。
  • 重要或安全:这意味着虚拟机有可用的重要更新或安全更新。
  • 其他:这意味着虚拟机有可用的更新,但这些更新均未归类为关键更新或安全更新。
  • 最新:这意味着虚拟机没有可用的更新。

后续步骤