本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AL2 上的核心即時修補
重要
Amazon Linux 將於 2025-10-31 結束 AL2 核心 4.14 的即時修補。建議客戶使用核心 5.10 做為 AL2 的預設核心 (請參閱 AL2 支援的核心),或使用核心 6.1 和 6.12 移至 AL2023。
Amazon Linux 將為 AL2 核心 5.10 提供即時修補程式,直到 AL2 在 2026-06-30 的生命週期結束為止。
適用於 AL2 的 Kernel Live Patching 可讓您將特定安全性漏洞和關鍵錯誤修補程式套用至執行中的 Linux 核心,而不會重新啟動或中斷執行中的應用程式。這可讓您受益於改善的服務和應用程式可用性,同時套用這些修正,直到系統可以重新啟動為止。
如需 AL2023 的 Kernel Live Patching 相關資訊,請參閱《Amazon Linux 2023 使用者指南》中的 AL2023 上的 Kernel Live Patching。
AWS為 AL2 發行兩種類型的核心即時修補程式:
-
安全性更新 – 包含 Linux 常見漏洞和入侵程式 (CVE) 的更新。這些更新通常會使用 Amazon Linux 安全建議分級評定為 important (重要) 或 critical (嚴重)。它們通常對應到通用漏洞評分系統 (CVSS) 分數的 7 及以上。在某些情況下,AWS可能會在指派 CVE 之前提供更新。在這些情況下,修補程式可能會顯示為錯誤修正。
-
錯誤修正 – 包含修正與 CVE 無關的重大錯誤和穩定性問題。
AWS提供 AL2 核心版本的核心即時修補程式,最長可達發行後 3 個月。在 3 個月期間之後,您必須更新至更新的核心版本,才能繼續接收核心即時修補程式。
AL2 核心即時修補程式在現有 AL2 儲存庫中以簽章的 RPM 套件的形式提供。這些修補程式可以使用現有的 yum 工作流程安裝在個別執行個體上,也可以使用AWS Systems Manager 安裝在受管執行個體群組上。
在 AL2 上提供 Kernel Live Patching,無需額外費用。
支援的組態和先決條件
執行 AL22 的 Amazon EC2 執行個體和內部部署虛擬機器支援 Kernel Live Patching。
若要在 AL2 上使用核心即時修補,您必須使用:
-
x86_64架構上的核心版本4.14或5.10 -
ARM64架構上的核心版本5.10
政策要求
若要從 Amazon Linux 儲存庫下載套件,Amazon EC2 需要存取服務擁有的 Amazon S3 儲存貯體。如果您在環境中使用適用於 Amazon S3 的 Amazon 虛擬私有雲端 (VPC) 端點,則需要確保您的 VPC 端點政策允許存取這些公有儲存貯體。
下表說明對於 Kernel Live Patching,EC2 可能需要存取的每個 Amazon S3 儲存貯體。
| S3 儲存貯體 ARN | 說明 |
|---|---|
arn:aws:s3:::packages.region.amazonaws.com/* |
含有 Amazon Linux AMI 套件的 Amazon S3 儲存貯體 |
arn:aws:s3:::repo.region.amazonaws.com/* |
含有 Amazon Linux AMI 儲存庫的 Amazon S3 儲存貯體 |
arn:aws:s3:::amazonlinux.region.amazonaws.com/* |
包含 AL2 儲存庫的 Amazon S3 儲存貯體 |
arn:aws:s3:::amazonlinux-2-repos-region/* |
包含 AL2 儲存庫的 Amazon S3 儲存貯體 |
下方政策會說明如何限制存取屬於您組織的 Amazon S3 儲存貯體的身分和資源,並提供 Kernel Live Patching 所需的 Amazon S3 儲存貯體的存取權限。使用您組織的值取代 region、principal-org-id 以及 resource-org-id。
使用 Kernel Live Patching
您可以使用執行個體本身的命令列在個別執行個體上啟用和使用 Kernel Live Patching,也可以使用AWS Systems Manager 在受管執行個體群組上啟用和使用 Kernel Live Patching。
下列各節說明如何透過命令列在個別執行個體上啟用並使用 Kernel Live Patching。
如需在一組受管執行個體上啟用和使用核心即時修補的詳細資訊,請參閱AWS Systems Manager《 使用者指南》中的在 AL2 執行個體上使用核心即時修補。
啟用 Kernel Live Patching
AL2 上的核心即時修補預設為停用。若要使用即時修補,您必須安裝 Kernel Live Patching 的 yum 外掛程式,並啟用即時修補功能。
先決條件
Kernel Live Patching 需要 binutils。如果您未安裝 binutils,請使用下列命令進行安裝:
$sudo yum install binutils
啟用 Kernel Live Patching
-
核心即時修補程式適用於下列 AL2 核心版本:
-
x86_64架構上的核心版本4.14或5.10 -
ARM64架構上的核心版本5.10
若要檢查您的核心版本,請執行下列命令。
$sudo yum list kernel -
-
如果您已經有支援的核心版本,請略過此步驟。如果您沒有支援的核心版本,請執行下列命令,將核心更新為最新版本,並重新啟動執行個體。
$sudo yum install -y kernel$sudo reboot -
安裝 Kernel Live Patching 的 yum 外掛程式。
$sudo yum install -y yum-plugin-kernel-livepatch -
啟用 Kernel Live Patching 的 yum 外掛程式。
$sudo yum kernel-livepatch enable -y此命令也會從設定的軟體庫安裝最新版本的核心即時修補程式 RPM。
-
若要確認核心即時修補的 yum 外掛程式是否成功安裝,請執行下列命令。
$rpm -qa | grep kernel-livepatch當您啟用 Kernel Live Patching 時,系統會自動套用空白的核心即時修補程式 RPM。如果 Kernel Live Patching 已順利啟用,此命令會傳回包含初始空白核心即時修補程式 RPM 的清單。以下為範例輸出。
yum-plugin-kernel-livepatch-1.0-0.11.amzn2.noarch kernel-livepatch-5.10.102-99.473-1.0-0.amzn2.x86_64 -
安裝 kpatch 套件。
$sudo yum install -y kpatch-runtime -
如果之前已安裝 kpatch 服務,請更新此服務。
$sudo yum update kpatch-runtime -
啟動 kpatch 服務。此服務會在初始化或開機時載入所有核心即時修補程式。
$sudo systemctl enable kpatch.service && sudo systemctl start kpatch.service -
在 AL2 Extras 程式庫中啟用核心即時修補主題。本主題包含核心即時修補程式。
$sudo amazon-linux-extras enable livepatch
檢視可用的核心即時修補程式
Amazon Linux 安全性警示會發佈至資訊 Amazon Linux 安全中心。如需 AL2 安全提醒的詳細資訊,包括核心即時修補程式的提醒,請參閱 Amazon Linux 安全中心ALASLIVEPATCH。Amazon Linux 安全中心可能不會列出解決錯誤的核心即時修補程式。
您也可以使用命令列來探索建議和 CVE 的可用核心即時修補程式。
列出所有可用的核心即時修補程式以供建議使用
使用下列命令。
$yum updateinfo list
下面顯示了範例輸出。
Loaded plugins: extras_suggestions, kernel-livepatch, langpacks, priorities, update-motd
ALAS2LIVEPATCH-2020-002 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64
ALAS2LIVEPATCH-2020-005 medium/Sec. kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64
updateinfo list done
列出 CVE 的所有可用核心即時修補程式
使用下列命令。
$yum updateinfo list cves
下面顯示了範例輸出。
Loaded plugins: extras_suggestions, kernel-livepatch, langpacks, priorities, update-motdamzn2-core/2/x86_64 | 2.4 kB 00:00:00
CVE-2019-15918 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64
CVE-2019-20096 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64
CVE-2020-8648 medium/Sec. kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64
updateinfo list done
套用核心即時修補程式
您可以使用 yum 套件管理員來套用核心即時修補程式,方法與套用定期更新相同。適用於 Kernel Live Patching 的 yum 外掛程式會管理可供套用的核心即時修補程式。
提示
我們建議您定期使用 Kernel Live Patching 更新核心,以確保它收到特定的重要和關鍵安全修正,直到系統可以重新啟動為止。也請檢查是否已為原生核心套件提供其他修正,這些套件無法部署為即時修補程式,並針對這些情況更新和重新啟動核心更新。
您可以選擇套用特定的核心即時修補程式,或套用任何可用的核心即時修補程式,以及定期的安全性更新。
套用特定核心即時修補程式
-
使用 檢視可用的核心即時修補程式 中描述的其中一個命令取得核心即時修補程式版本。
-
為您的 AL2 核心套用核心即時修補程式。
$sudo yum install kernel-livepatch-kernel_version.x86_64例如,下列命令會套用 AL2 核心版本 的核心即時修補程式
5.10.102-99.473。$sudo yum install kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64
套用任何可用的核心即時修補程式,以及您的定期安全性更新
使用下列命令。
$sudo yum update --security
省略包含錯誤修正的 --security 選項。
重要
-
套用核心即時修補程式後,核心版本不會更新。只有在執行個體重新啟動後,版本才會更新為新版本。
-
AL2 核心會在三個月內收到核心即時修補程式。三個月期間過後,該核心版本不會發行任何新的核心即時修補程式。若要在三個月後繼續接收核心即時修補程式,您必須重新啟動執行個體才能移至新的核心版本,然後才能在接下來的三個月內繼續接收核心即時修補程式。若要檢查核心版本的支援視窗,請執行
yum kernel-livepatch supported。
檢視套用的核心即時修補程式
檢視套用的核心即時修補程式
使用下列命令。
$kpatch list
此命令會傳回已載入及已安裝的安全性更新核心即時修補程式清單。下列為範例輸出。
Loaded patch modules:
livepatch_cifs_lease_buffer_len [enabled]
livepatch_CVE_2019_20096 [enabled]
livepatch_CVE_2020_8648 [enabled]
Installed patch modules:
livepatch_cifs_lease_buffer_len (5.10.102-99.473.amzn2.x86_64)
livepatch_CVE_2019_20096 (5.10.102-99.473.amzn2.x86_64)
livepatch_CVE_2020_8648 (5.10.102-99.473.amzn2.x86_64)
注意
單一核心即時修補程式可包含並安裝多個即時修補程式。
停用核心即時修補
如果您不再需要使用 Kernel Live Patching,您可以隨時停用它。
停用 Kernel Live Patching
-
移除套用的核心即時修補程式 RPM 套件。
$sudo yum kernel-livepatch disable -
解除安裝 Kernel Live Patching 的 yum 外掛程式。
$sudo yum remove yum-plugin-kernel-livepatch -
重新啟動執行個體。
$sudo reboot
限制
Kernel Live Patching 有以下限制:
-
套用核心即時修補程式時,您無法執行休眠、使用進階偵錯工具 (例如 SystemTap、kprobes 和 eBPF 為基礎的工具),或存取 Kernel Live Patching 基礎架構所使用的 ftrace 輸出檔案。
-
注意
由於技術限制,即時修補無法解決某些問題。因此,這些修正不會在核心即時修補程式套件中運送,只會在原生核心套件更新中運送。您可以安裝原生核心套件更新並重新啟動系統,以照常啟用修補程式。
常見問答集
如需 AL2 核心即時修補的常見問題,請參閱 Amazon Linux 2 核心即時修補常見問答集