關於修補程式

您可以使用修補程式,對一組 Compute Engine VM 執行個體 (VM) 套用作業系統 (OS) 修補程式。長時間執行的 VM 需要定期進行系統更新,以免出現瑕疵和安全漏洞。

修補程式功能主要提供兩項功能:

  • 回報修補程式是否符合相關法規:報告中會深入分析 Windows 和 Linux 元件中各個 VM 執行個體的修補程式狀態。除了上述的深入分析結果之外,您也能查看 VM 執行個體的相關建議。
  • 部署修補程式:自動執行作業系統和軟體修補程式的更新程序。修補程式部署作業會排定修補工作。修補工作會在 VM 執行個體之間執行並套用修補程式。

優點

Patch 服務可讓您靈活完成下列程序:

  • 核准修補程式。更新特定作業系統時,您可以從完整的更新內容集合中,選擇要對系統套用的修補程式。
  • 設定彈性的排程。您可以選擇修補程式更新作業的執行時間 (一次性和週期性排程)。
  • 套用進階修補程式設定。您可以在設定中自訂修補程式,例如修補前/後指令碼。
  • 在同一處集中管理這些修補工作或更新作業。您可以使用修補程式資訊主頁,監控及回報修補工作和法規遵循狀態。

支援的作業系統

如需支援修補程式的作業系統和版本完整清單,請參閱「作業系統詳細資料」。

定價

如要瞭解定價,請參閱「VM Manager 定價」。

Patch 的運作方式

如要使用修補程式功能,您必須設定 OS Config API 並安裝 OS Config 代理程式。如需詳細操作說明,請參閱「設定 VM Manager」。OS Config 服務可在環境中啟用修補程式管理功能,OS Config 代理程式則會使用各作業系統的更新機制套用修補程式。更新會從 Package Repository (也稱為「發行來源套件」) 或作業系統的本機存放區提取。

下列更新工具可用於套用修補程式:

  • Red Hat Enterprise Linux (RHEL)、Rocky Linux 和 CentOS - yum upgrade
  • Debian 和 Ubuntu - apt upgrade
  • SUSE Linux Enterprise Server (SLES) - zypper update
  • Windows - Windows Update Agent

修補程式和套件來源

如要使用 VM 管理員 的修補程式功能,VM 必須能存取套件更新或修補程式。Patch 服務不會託管或維護套件更新或修補程式。在某些情況下,VM 可能無法存取更新。例如,如果 VM 未使用公開 IP,或您使用的是私人虛擬私有雲網路。在這些情況下,您必須完成額外步驟,才能允許存取更新或修補程式。請考慮採用下列選項:

  • Google 建議您託管自己的本機存放區或 Windows Server Update Service,以便完整控管修補程式基準。
  • 或者,您也可以使用 Cloud NAT 或其他 Proxy 服務,讓 VM 能夠存取外部更新來源。

修補程式管理包含兩項服務:修補程式部署和修補程式法規遵循。以下各節將說明各項服務。

修補程式部署作業總覽

呼叫 VM 管理員 API (也稱為 OS Config API) 即可啟動修補程式部署作業。您可以使用Google Cloud 控制台、Google Cloud CLI 或直接呼叫 API 來完成這項操作。接著,VM 管理員 API 會通知在目標 VM 上執行的 OS Config 代理程式,開始修補。

OS Config 代理程式會使用各個發行版本適用的修補管理工具,在每個 VM 上執行修補作業。例如,Ubuntu VM 使用 apt 公用程式工具。公用程式工具會從作業系統的發布來源擷取更新 (修補程式)。修補作業進行時,OSConfig 代理程式會向 VM 管理員 API 回報進度。

修補程式法規遵循總覽

在 VM 上設定 VM Manager 後,VM 會執行下列操作:

  • OS Config 代理程式會定期 (約每 10 分鐘) 回報 OS 清查資料 。
  • 修補程式法規遵循後端會定期讀取這項資料,並與從 OS 發行版本取得的套件中繼資料交叉參照,然後儲存。
  • Google Cloud 控制台接著會取得修補程式法規遵循資料,並在控制台中顯示這項資訊。

修補程式法規遵循資料的產生方式

修補程式法規遵循後端會定期完成下列工作:

  1. 讀取從 VM OS 清查資料 收集的報表。
  2. 掃描各作業系統安全漏洞來源的分類資料,並依嚴重程度 (從高到低) 排序。

    下表摘要說明各作業系統使用的安全漏洞來源。

    作業系統 安全漏洞來源套件
    RHEL 和 CentOS https://access.redhat.com/security/data

    RHEL 的安全漏洞掃描結果,是根據每個主要版本發布的最新子版本。舊版 RHEL 子版本的掃描結果可能不準確。

    Debian https://security-tracker.debian.org/tracker
    Ubuntu https://launchpad.net/ubuntu-cve-tracker
    SLES https://www.suse.com/support/update/
    Rocky Linux https://errata.rockylinux.org/
    Windows 修補程式法規遵循後端會從 Windows Update Agent API 取得分類資料。

  3. 將這些分類 (由安全漏洞來源提供) 對應至 Google 的修補程式法規遵循狀態。

    下表匯總了用於產生 Google 修補程式法規遵循狀態的對應系統。

    發布來源類別 Google 的修補程式法規遵循狀態
    • 重大
    • 緊急通知
    • WINDOWS_CRITICAL_UPDATE
    極高 (紅色)
    • 重要事項
    • 高
    • WINDOWS_SECURITY_UPDATE
    重要/安全性 (橘色)
    • 其他
    其他 (黃色)
    • 沒有可用的更新
    最新 (綠色)

  4. 選取每個可用更新中嚴重性最高的資料,並顯示在 Google Cloud 控制台資訊主頁頁面上。您也可以在 VM 詳細資料頁面,查看 VM 所有可用更新的完整報告。

舉例來說,如果 RHEL 7 VM 的作業系統庫存資料 包含下列套件資料:

  • 套件名稱:package1
  • 安裝的版本:1.4
  • 更新版本:2.0

修補程式法規遵循後端會掃描分類資料 (來自來源發行版本),並擷取下列資訊:

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

接著,在 Google Cloud 控制台資訊主頁上,這個 RHEL 7 VM 會新增至有Critical更新可用的 VM 清單。如果查看這個 VM 的詳細資料,會看到 1 個可用的 Critical 更新 (2.0 版),其中包含 3 個 CVE:CVE-001、CVE-002 和 CVE-003。

同時修補

啟動修補工作時,服務會使用您提供的執行個體篩選器,判斷要修補的特定執行個體。執行個體篩選器可讓您同時修補多個執行個體。修補工作開始時,系統會執行這項篩選作業,以便在工作排定後,考量環境中的變更。

排定修補作業

您可以視需要執行修補作業、預先排定修補作業,或設定週期性修補作業。如需立即停止執行中的修補工作,也可以取消。

您可以建立修補程式部署作業,並指定頻率和時間長度,藉此設定修補程式維護期間。排定修補工作時,指定時間長度可確保修補工作不會在指定維護期間以外的時間開始。

您也可以建立修補程式部署作業,在特定時間完成,強制執行修補程式安裝期限。如果目標 VM 在這個日期前未安裝修補程式,排定的部署作業就會在這個日期開始安裝修補程式。如果 VM 已修補,除非指定修補前或修補後指令碼,或需要重新啟動,否則不會對這些 VM 採取任何動作。

修補工作包含哪些內容?

在 VM 上執行修補工作時,系統會根據作業系統套用多項更新。您可以選擇指定特定更新、套件,或針對 Windows 作業系統指定要更新的 KB ID。

您也可以使用修補工作,更新以標準套件形式安裝的 Google 代理程式,適用於特定發行版本。請使用該發行版本的更新工具,查詢可用的套件。舉例來說,如要查看 Ubuntu 作業系統可用的 Google 代理程式,請執行 apt list --installed | grep -P 'google'。

Windows

如果是 Windows 作業系統,您可以套用所有更新,或從下列更新中選取:

  • 定義更新
  • 驅動程式更新
  • 功能套件更新
  • 安全性更新
  • 工具更新

RHEL/Rocky/CentOS

如果是 Red Hat Enterprise Linux、Rocky Linux 和 CentOS 作業系統,您可以套用所有更新,或從下列更新中選取:

  • 系統更新
  • 安全性更新

Debian/Ubuntu

如果是 Debian 和 Ubuntu 系統,您可以套用所有更新,或從下列更新中選取:

  • 發布更新
  • 套件管理工具更新

SUSE

如果是 SUSE Enterprise Linux Server (SLES) 和 openSUSE 作業系統,您可以套用所有更新,或從下列更新中選取:

  • 系統套件更新
  • Zypper 修補程式 (特定錯誤修正和安全性修正)

存取 VM 的修補程式摘要

如要查看 VM 的修補摘要,請選擇下列任一做法:

  • 如要查看組織或資料夾中所有 VM 的修補程式摘要資訊,請使用 Google Cloud 控制台的「修補程式」資訊主頁。請參閱「查看 VM 的修補程式摘要」。

  • 如要查看修補工作的狀態,請使用 Google Cloud 控制台的「Patch jobs」(修補工作) 頁面。您也可以使用 Google Cloud CLI 或 OS Config API。詳情請參閱「管理修補工作」。

如要查看其他資訊,例如 OS 套件更新和安全漏洞報告,請參閱「查看作業系統詳細資料」。

修補程式資訊主頁

Google Cloud 控制台提供資訊主頁,可用於監控 VM 執行個體的修補程式法規遵循情形。

前往「Patch」頁面

修補資訊主頁。

修補資訊主頁詳細資料

以下各節說明修補程式資訊主頁如何將 VM 分組,並回報修補程式法規遵循狀態。

作業系統總覽

這個部分會依作業系統顯示 VM 總數。VM 必須安裝 OS 設定代理程式,並啟用 OS 庫存管理服務,才會顯示在清單中。

「VM 數量」資訊卡。

如果 VM 的作業系統列為「No data」(沒有資料),可能代表發生下列一或多種情況:

  • VM 沒有回應。
  • 未安裝 OS Config 代理程式。
  • 未啟用 OS 庫存管理服務。
  • 不支援該作業系統。如需支援的作業系統清單,請參閱「支援的作業系統」。
  • VM 是 Google 代管的執行個體,預設會停用 VM 管理員。這是預期狀態,您不必採取任何行動。詳情請參閱「Google 代管 VM 的修補狀態」。

修補程式法規遵循狀態

修補程式資訊主頁會顯示各作業系統的法規遵循狀態資訊卡:

OS 專屬資訊卡。

法規遵循狀態主要分為四類:

  • 重大:VM 有重大更新。
  • 重要或安全性:VM 有可用的重要或安全性更新。
  • 其他:VM 有可用更新,但這些更新不屬於重大或安全性更新。
  • 最新:VM 沒有可用的更新。

Google 代管 VM 的修補狀態

專案中某些 Google 代管的 VM 一律會在修補程式資訊主頁中回報「沒有資料」,因為這些 VM 預設會停用 VM 管理員。這是預期狀態,您不必採取任何行動。VM Manager 會將專案中所有 Google 代管的 VM 視為一般 VM,並納入修補資訊主頁。視建立 VM 的服務而定,VM 管理員 預設為停用,或運作方式與您管理的 VM 相同。如果 Google 代管的 VM 預設停用 VM 管理員,VM 就不會啟用 OS Config 代理程式,VM 管理員 也不會執行修補工作或 OS 政策。

下表說明 Google 代管 VM 如何與 VM Manager 整合:

平台 VM 管理員啟用狀態 預期行為
App Engine 彈性環境 在中繼資料中停用 這些 VM 未啟用 OS 設定代理程式,因此一律會回報「沒有資料」。VM 管理員 不會為這些 VM 執行修補工作或 OS 政策。
無伺服器 VPC 存取連接器 在 OS 映像檔上停用 這些 VM 未啟用 OS 設定代理程式,因此一律會回報「沒有資料」。VM 管理員 不會為這些 VM 執行修補工作或 OS 政策。
Managed Service for Apache Spark 無伺服器 在 OS 映像檔上停用 這些 VM 未啟用 OS 設定代理程式,因此一律會回報「沒有資料」。VM 管理員 不會為這些 VM 執行修補工作或 OS 政策。
Managed Service for Apache Spark 個人驗證叢集 在 OS 映像檔上停用 這些 VM 未啟用 OS 設定代理程式,因此一律會回報「沒有資料」。VM 管理員 不會為這些 VM 執行修補工作或 OS 政策。
採用 1-VM 架構的 Cloud TPU 未停用 VM 管理員 的運作方式與您管理的 VM 相同。
Google Kubernetes Engine (GKE) Autopilot 未停用 VM 管理員 的運作方式與您管理的 VM 相同。

限制

VM 管理員 的修補功能有下列限制:

  • 您只能為單一 Google Cloud 專案中的 VM 部署及執行修補工作。即使 VM 位於 Shared VPC 中,您也無法跨 Google Cloud 專案執行修補工作。不過,您可以查看各專案的修補程式法規遵循資料。
  • 根據預設,VM 管理員 不會修補代管執行個體群組 (MIG) 中的任何 VM。建立修補工作時,您可以覆寫這項預設行為。修補 MIG 中的 VM 時,須注意下列限制:
    • MIG 修復 VM 時,會根據執行個體範本重新建立 VM。這可能會將 VM 還原至未修補狀態。
    • 在已啟用自動調度資源功能的 MIG 中,修補 VM 可能會導致非預期的結果。負載降低時,自動配置器會刪除已修補的 VM;負載增加時,則會使用 MIG 的執行個體範本建立未修補的新 VM。舉例來說,如果平均 CPU 使用率低於您為自動調度資源指定的目標使用率,MIG 可能會在縮減時移除部分已修補的 VM。
  • VM 管理員 不會對某些 Google 代管的 VM 執行修補工作或 OS 政策,因為這些 VM 預設未啟用 OS Config 代理程式。這類 VM 包括 App Engine 彈性環境、無伺服器 VPC 存取連接器,以及 Managed Service for Apache Spark 執行個體。這些 VM 在修補程式資訊主頁中一律會顯示為「No data」(沒有資料),這是預期情況,您不必採取任何行動。詳情請參閱「Google 代管 VM 的修補狀態」。

後續步驟