2023 年的亚马逊 Linux 安全公AL2告 - Amazon Linux 2023

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

2023 年的亚马逊 Linux 安全公AL2告

尽管我们努力确保 Amazon Linux 的安全,但有时会有一些安全问题需要修复。当有可用的修复程序时,就会发布公告。我们发布公告的主要位置是 Amazon Linux 安全中心 (ALAS)。有关更多信息,请参阅 Amazon Linux 安全中心

重要

如果您想报告漏洞或对 AWS 云服务或开源项目有安全疑虑,请使用 “漏洞报告” 页面与 AWS 安全部门联系

有关影响 AL2 023 的问题和相关更新的信息由 Amazon Linux 团队在多个地点发布。安全工具通常会从这些主要源代码中获取信息并将结果呈现给您。因此,您可能不会直接与 Amazon Linux 发布的主要来源进行交互,而是与首选工具(例如 Amazon Ins pec tor)提供的界面进行交互。

亚马逊 Linux 安全中心公告

Amazon Linux 的公告是针对不符合公告内容的商品提供的。本节包含有关ALAS其自身的公告,以及不适合公告的信息。有关更多信息,请参阅 Amazon Linux 安全中心 (ALAS) 公告

例如,适用于A pache Log4j的2021-001-Amazon Linux热补丁公告属于公告而不是公告。在本公告中,Amazon Linux 添加了一个软件包,以帮助客户缓解不属于亚马逊 Linux 的软件中的安全问题。

Amazon Linux 安全中心CVE资源管理器也在ALAS公告中发布。欲了解更多信息,请参阅新网站CVEs

亚马逊 Linux 安全中心常见问题解答

有关 Amazon Linux ALAS 及其评估方式的一些常见问题的答案CVEs,请参阅 Amazon Linux 安全中心 (ALAS) 常见问题 (FAQs)

ALAS公告

亚马逊 Linux 公告包含与亚马逊 Linux 用户相关的重要信息,通常是有关安全更新的信息。A mazon Linux 安全中心是网络上可以看到公告的地方。咨询信息也是RPM软件包存储库元数据的一部分。

公告和RPM存储库

Amazon Linux 2023 软件包存储库可能包含描述零个或多个更新的元数据。该dnf updateinfo命令以包含此信息的存储库元数据文件名命名updateinfo.xml。虽然命令名为updateinfo,而元数据文件指的是update,但这些都是指作为公告一部分的软件包更新。

Amazon Linux Advisories 发布在亚马逊 Linux 安全中心网站上,dnf软件包管理器引用的RPM存储库元数据中也存在信息。网站和存储库的元数据最终是一致的,并且网站上的信息和存储库元数据可能存在不一致之处。这通常发生在 AL2 023 的新版本正在发布时,在最新的 AL2 023 版本之后公告已有更新。

虽然通常会与解决该问题的软件包更新一起发布新的公告,但情况并非总是如此。可以为已发布的软件包中已解决的新问题创建公告。现有公告也可以使用新公告进行更新CVEs,现有更新将解决这些问题。

Amazon Linux 2023 的023 年通过版本化存储库进行确定性升级 AL2功能意味着特定 AL2 023 版本的存储RPM库包含截至该版本的RPM存储库元数据的快照。这包括描述安全更新的元数据。特定 AL2 023 版本的RPM存储库在发布后不会更新查看旧版本的 AL2 023 RPM 存储库时,新的或更新的安全公告将不可见。有关如何使用dnf软件包管理器查看latest存储库版本或特定的 AL2 023 版本的信息,请参阅该列出适用的公告部分。

咨询 IDs

每份公告都由一个人引用id。目前,这是亚马逊定位服务的一个怪癖,亚马逊Linux安全中心网站将公告列为 ALAS-2024-581,而dnf包裹管理器会将该公告列为 023-2024-581。ALAS2如果指的是特定的公告,则需要使用软件包管理器 ID 时就地应用安全更新

对于 Amazon Location Service,操作系统的每个主要版本都有自己的咨询命名空间IDs。不应对 Amazon Linux 公告的格式做出任何假设IDs。从历史上看,Amazon Linux Advisory IDs 一直遵循以下模式NAMESPACE-YEAR-NUMBER。的全部可能NAMESPACE值尚未定义,但已包括ALASALASCORRETTO8ALAS2023ALAS2ALASPYTHON3.8、和ALASUNBOUND-1.17。这是创建通告的年份,并且NUMBER是命名空间中的唯一整数。YEAR

尽管 IDs Ad visory 通常是按更新发布顺序排列的,但有许多原因不可能出现这种情况,因此不应假设这种情况。

将建议 ID 视为一个不透明的字符串,该字符串在 Amazon Linux 的每个主要版本中都是唯一的。

在 Amazon Linux 2 中,每个 Extra RPM 存储在单独的存储库中,咨询元数据仅包含在与之相关的存储库中。一个存储库的公告不适用于另一个存储库。在 Amazon Linux 安全中心网站上,目前每个主要的 Amazon Linux 版本都有一个公告列表,并且没有按存储库列表分列。

由AL2于 023 不使用 Extras 机制来打包其他版本的软件包,因此目前只有两个RPM存储库,每个存储库都有咨询,即core存储库和存储库。livepatchlivepatch存储库适用于023 上的 Kernel Live AL2 补丁

咨询创建和更新时间戳

Amazon Linux Advisories 的创建时间戳通常接近公告的发布时间,但情况并非普遍如此。更新时间戳类似,而且软件包存储库和 Amazon Linux 安全中心网站可能不会随着新信息的出现而同步更新。

一个(相对)常见的情况是,公告发布的时间戳可能不完全匹配,那就是公告和RPM存储库内容准备与发布时间之间的间隔更长。

不应在 AL2 023 版本号(例如 2023.6.20241031)和与该版本一起发布的公告的创建/更新时间戳之间做出任何假设。

咨询类型

RPM存储库元数据支持不同类型的公告。虽然 Amazon Linux 几乎只发布了安全更新的公告,但不应假设这一点。可能会发布诸如错误修复、增强功能和新软件包之类的事件的公告,并将该公告标记为包含此类更新。

咨询严重性

每份公告都有自己的严重性,因为每个问题都是单独评估的。在单个公告中CVEs可以解决多个问题,并且每个咨询CVE可能有不同的评估,但是该咨询本身具有一个严重性。可以有多个公告提及单个软件包更新,因此一个特定的软件包更新可能有多个严重性(每个公告一个)。

按严重性降序排列,Amazon Linux 使用了 “严重”、“重要”、“中” 和 “低” 来表示公告的严重性。Amazon Linux Advisories 也可能没有严重性,尽管这种情况极为罕见。

Amazon Linux 是使用 “中等” 一词的RPM基于 Linux 发行版之一,而其他一些RPM基于 Linux 的发行版则使用等效的术语 “中”。Amazon Linux 软件包管理器将这两个术语视为等效,第三方软件包存储库可能使用 “中” 一词。

随着对公告中解决的相关问题的了解越来越多,Amazon Linux Advisories 的严重性可能会随着时间的推移而发生变化

通告的严重性通常会追踪该公告所CVEs引用的 Amazon Linux 评估CVSS得分的最高分数。在某些情况下,情况可能并非如此。一个例子是存在一个未CVE分配的已解决的问题。

有关 Amazon Linux 如何使用咨询严重性评级的更多信息,请参阅。ALASFAQ

公告和套餐

单个软件包可能有许多公告,但并非所有软件包都会为其发布公告。可以在多个公告中引用特定的软件包版本,每个公告都有自己的严重性和。CVEs

在一个新的 AL2 023 版本中,可以同时发布多个针对同一个软件包更新的公告,也可以快速连续发布。

像其他 Linux 发行版一样,可以从同一个源代码包中构建一到多个不同的二进制包。例如,ALAS-2024-698亚马逊 Linux 安全中心网站 AL2 023 部分列出的适用于该软件包的公告。mariadb105这是软件包的名称,咨询本身指的是源包旁边的二进制包。在本例中,有十几个二进制包是从同一个mariadb105源代码包中构建的。虽然存在与源包同名的二进制包极为常见,但这并不普遍。

虽然 Amazon Linux Advisories 通常会列出所有根据更新的源代码包构建的二进制包,但不应假设如此。包管理器和RPM存储库元数据格式允许公告列出已更新的二进制包的子集。

特定的公告也可能仅适用于特定的CPU架构。有些软件包可能不是为所有架构构建的,也可能存在不影响所有架构的问题。如果某个软件包在所有架构上都可用,但问题仅适用于一个架构,那么 Amazon Linux 通常不会发布仅提及受影响架构的公告,尽管不应假设这一点。

由于软件包依赖关系的性质,公告通常会引用一个软件包,但是安装该更新需要其他软件包更新,包括未在公告中列出的软件包。dnf软件包管理器将负责安装所需的依赖项。

公告和 CVEs

一份公告可能涉及零个或多个CVEs,并且可能有多个公告提到了相同的内容。CVE

建议何时可能引用零的一个例子CVEsCVE是尚未为问题分配(或从来没有)。

一个示例,说明CVE当(例如)适用于多个软件包时,多个公告可能会引用相同的内容。CVE例如,CVE-2024-21208 适用于 Corretto 8、11、17 和 21。这些 Corretto 版本AL2在 023 年都是一个单独的软件包,每个软件包都有公告:Corretto 8 是 -2024-754,Corretto 11 是 ALAS-2024-753,Corretto 17 是 -2024-7 52,Corretto 21 是 ALAS-2024-75 2。ALAS ALAS虽然这些 Corretto 版本都有相同的列表,但不应CVEs假设这一点。

对于不同的软件包,CVE可以以不同的方式评估特定的包装。例如,如果在严重性CVE为 “重要” 的通告中引用了特定内容,则可能会发布另一份公告,其中引用了CVE具有不同严重性的相同内容。

RPM存储库元数据允许提供每份公告的参考文献列表。虽然 Amazon Linux 通常只引用CVEs,但元数据格式确实允许其他参考类型。

RPM软件包存储库元数据仅在CVEs有可用的修复程序时才会引用。亚马逊 Linux 安全中心网站的 “浏览” 部分CVEs包含有关亚马逊 Linux 评估过的信息。此评估可能会得出各种 Amazon Linux 版本和软件包CVSS的基本分数、严重程度和状态。特定 Amazon Linux 版本或软件包的状态可能为 “未受影响”、“待修复” 或 “未计划修复”。CVE在公告发布之前,的状态和评估CVEs可能会多次以任何方式发生变化。这包括重新评估 a CVE 对亚马逊 Linux 的适用性。

该公告首次发布后,该公CVEs告所引用的列表可能会发生变化。

咨询文本

公告还将包含描述创建咨询的原因的一个或多个问题的文本。通常,此文本将是未修改的CVE文本。此文本可能指有可用的修复程序的上游版本号,这些版本号与 Amazon Linux 已应用修复的软件包版本不同。Amazon Linux 通常会从较新的上游版本中反向移植修复程序。如果公告文本中提到的上游版本与亚马逊 Linux 版本中提供的版本不同,则公告中的亚马逊 Linux 软件包版本对于亚马逊 Linux 来说将是准确的。

RPM存储库元数据中的咨询文本可以是占位符文本,只需参考 Amazon Linux 安全中心网站了解详情。

内核实时补丁公告

实时补丁公告的独特之处在于,它们所指的软件包(Linux 内核)与公告所针对的软件包(例如kernel-livepatch-6.1.15-28.43)不同。

内核动态补丁公告将引用特定的 Live Patch 包可以针对该实时补丁包所适用的特定内核版本解决的问题(例如CVEs)。

每个上线补丁都适用于特定的内核版本。要为应用的实时补丁CVE,需要安装适用于您的内核版本的正确实时补丁包,并应用实时补丁。

例如,CVE-2023-6111 可以针对 AL2 023 内核版本进行实时修补,和。6.1.56-82.125 6.1.59-84.139 6.1.61-85.141还发布了包含此CVE问题修复程序的新内核版本,并有单独的公告。为了在 AL2 023 上解决 CVE-2023-6111 问题,需要运行等于或高于 0 ALAS223-2023-461 指定版本的内核版本,或者需要在应用相应的 livepatch 的情况下运行带有上线补丁的内核版本。CVE

当特定内核版本有新的实时补丁可用并且已经有可用的实时补丁时,就会发布该kernel-livepatch-KERNEL_VERSION软件包的新版本。例如,ALASLIVEPATCH-2023-003kernel-livepatch-6.1.15-28.43-1.0-1.amzn2023软件包发布了公告,其中包含6.1.15-28.43内核的实时补丁,涵盖三个方面CVEs。后来,ALASLIVEPATCH-2023-009kernel-livepatch-6.1.15-28.43-1.0-2.amzn2023软件包已发布公告;该6.1.15-28.43内核之前的上线补丁包的更新,其中包含另外三个的实时补丁CVEs。其他内核版本还存在其他实时补丁建议问题,其中包含针对这些特定内核版本的实时补丁的软件包。

有关内核实时补丁的更多信息,请参阅023 上的 Kernel Live AL2 补丁

对于任何围绕安全公告开发工具的人,还建议查看该部分以获取更多信息。

XML公告架构和 updateinfo.xml

updateinfo.xml文件是软件包存储库格式的一部分。它是dnf包管理器为实现列出适用的公告就地应用安全更新等功能而解析的元数据。

我们建议使用dnf包管理器的,而不是编写自定义代码来解析存储库元数据格式。APIAL2023 dnf 中的版本可以解析 AL2 023 和AL2存储库格式,因此API可用于检查任一操作系统版本的咨询信息。

RPM软件管理项目在 rpm-m RPM etadata 存储库中记录元数据格式。 GitHub

对于那些直接解析updateinfo.xml元数据的开发工具,强烈建议您仔细阅读 rpm-metadata 文档。该文档涵盖了在野外看到的情况,其中包括许多例外情况,您可以合理地解释为元数据格式的规则。

上的 raw-historical-rpm-repository-examples 存储库中还有越来越多的真实updateinfo.xml文件示例。 GitHub

如果文档中有任何不清楚的地方,你可以在 GitHub 项目上打开一个问题,这样我们就可以回答问题并适当地更新文档。作为开源项目,也欢迎拉取请求更新文档。