Amazon Linux 2023 常见问题

一般性问题

Amazon Linux 2023(AL2023)是一种基于 RPM 的 Linux 通用发行版,也是 Amazon Linux 2 的后继者。AL2023 简化了操作系统升级的规划。从 AL2023 开始,每两年发布一个新的 Amazon Linux 主要版本,包括次要季度版本,并提供五年的长期支持。Amazon Linux 2023 与 AWS 服务集成,专用于在云中大规模部署。默认情况下,AL2023 AMI 和容器映像锁定到特定版本的软件包存储库,确保确定性行为,并简化将操作系统更新集成到持续集成和部署环境中的步骤。

您可以通过 Amazon Linux 2023 GitHub 页面或与您的客户团队合作来报告错误或问题。

新的主要版本每两年发行一次,并提供五年的长期支持,每个版本包括两个阶段:活动开发阶段(2 年)和维护阶段(3 年)。在活动开发阶段,发行版每季度会收到次要版本更新。每个次要版本都进行了一系列更新,除新功能和软件包外,还包括安全和漏洞修复。在维护阶段,发行版仅接收安全更新和关键漏洞修复,且将在它们可用时立即发布。您可以在 AL2023 安全中心页面上查看任何已知安全漏洞的状态。每次发布新存储库时,我们同时还会发布新的 Linux 亚马逊机器映像

Amazon Linux 的主要版本将包括堆栈的新功能和安全性以及性能改进,包括内核、工具链、glibc、openssl 和所有其他系统库和实用程序。Amazon Linux 的主要版本将部分基于上游 Fedora Linux 发行版的当前版本,但 Amazon 可能会选择添加或替换其他非 Fedora 上游版本中的特定软件包(例如,Linux 内核源自 kernel.org 的长期支持选项,并专为 Amazon 的 Linux 产品提供维护)。针对存储库中软件包的主要版本更新可能有时不向后兼容。我们将提供两个主要版本之间的完整更改列表。季度次要版本将包括安全更新、漏洞修复以及新功能和软件包。次要版本中的更改示例包括最新的语言运行时,如 PHP 和其他流行的软件包(如 Ansible 和 Docker)。在维护阶段,发行版仅接收安全更新和关键漏洞修复,且将在它们可用时立即发布。

我们通过新的 AMI(Amazon Machine Image)版本和相应的新存储库的组合提供更新。默认情况下,新的 AMI 及其指向的存储库会联结在一起,但您仍可以将正在运行的 Amazon EC2 实例指向较新的存储库版本,以便在运行实例上使用更新。您也可以通过启动最新 AMI 的新实例来进行更新。

AL2023 会锁定到存储库的特定版本(这可以是任意主要版本或次要版本)。通过我们的 SSM 参数公开的 AL2023 AMI 将始终是最新的版本,并且具有最新的软件包和更新,包括关键和重要的安全更新。如果您通过启动向导使用 AL2023 AMI 启动 EC2 实例,您将始终拥有最新的更新。但是,如果您从较旧的 AMI 启动一个实例,则不会自动应用任何更新,并且作为预置的一部分安装的任何其他软件包,都将映射到构建较旧 AMI 的存储库版本。这能让您确保软件包版本和更新在整个环境中的一致性,特别是当您从同一 AMI 启动多个实例时。您可以根据适合您的计划应用更新。您还可以在启动时应用一组特定的更新,因为这些更新也可以锁定到特定的存储库版本。有关更多详细信息,请参阅文档

每次我们发布新版本(主要版本、次要版本或安全版本)时,我们还会发布新的 Linux 亚马逊机器映像(AMI)。

当我们发布 AL2023 存储库的新版本时,所有之前的版本仍可用。预设情况下,用于管理存储库版本的插件将锁定为用于构建 AMI 的相同版本。如果需要控制软件包更新,您可以运行“dnf check-release-update”以查找要更新的可用存储库版本,然后运行所列的命令“dnf —releasever=version update”来选择版本。此时,“dnf install”或“dnf upgrade”将仅会从选定的存储库版本中选择软件包。如果您不需要控制软件包更新,可以选择“最新”版本,该版本将始终指向 AL2023 存储库的最新版本。如果您当前使用的是 Amazon Linux 2,这将恢复您和现有补丁工作流可能期望的软件包更新的传统行为。

这不在默认配置中。默认情况下,用于管理存储库版本的插件将锁定到用于构建 AMI 的相同版本,并且不会应用任何安全更新。您可以随时更改默认配置以自动接收软件包更新。您还可以指定仅接收安全更新。有关更多详细信息,请参阅文档

AWS 提供了适用于 Amazon Linux 2023 的亚马逊机器映像(AMI),您可以使用它从 Amazon EC2 控制台、AWS SDK 和 CLI 启动实例。有关详细信息,请参阅 Amazon Linux 2023 文档

AL2023 映像可以在 AWS 之外使用,但在 AWS 之外使用时,这些映像不在 AWS Support 套餐的覆盖范围内。

不会,运行 Amazon Linux 2023 不会产生任何额外费用。对于运行中的 Amazon EC2 实例及其他服务,适用标准 Amazon EC2 和 AWS 费率。

如果您要在 AWS 上使用通用的 Linux 操作系统,那么 AL2023 是一个绝佳选择。AL2023 针对 Amazon EC2 进行了优化,与最新的 AWS 功能深度集成,并利用很多特定于 AWS 的工具提供了集成化体验(AWS Systems Manager 和 AWS CLI)。 如果您当前使用的是 Amazon Linux AMI (AL1) 或 Amazon Linux 2 (AL2),您应该考虑试用 AL2023,因为 AL2023 版本兼具这两者的优点。除了提供频繁的更新和长期支持外,Amazon Linux 2023 还针对新软件更新推出了可预测的发布节奏,客户可灵活掌控更新方式和时间;此外,它也可免去为满足标准合规性要求而创建自定义策略所导致的运营开销。

没有,AL2023 没有附加软件包。对于语言运行时更高级的软件包,我们会推出季度发布,除了存储库中提供的默认软件包之外,我们还会在软件包中添加主要/次要更新,作为单独的命名空间包。 例如,Amazon Linux 2023 中的 Python 默认版本可能是 3.8,但在发布 Python 3.9 (python39) 后,我们就会将其添加为单独的命名空间包。这些附加软件包将严格遵循其上游发布节奏和支持模式,并可通过软件包管理器访问其支持策略,来获取合规性和安全使用案例。在 AL2023 的整个生命周期中将继续支持默认软件包。

有关 Amazon Linux 2023 的反馈,请通过指定 AWS 代表、Amazon Linux 论坛或 Amazon Linux 2023 GitHub 页面提供。 

更新策略

主要版本(每两年)将提供新功能并改进整个堆栈内的安全性和性能,包括内核、工具链、glibc、openssl 和所有其他系统库和实用程序。AL2023 的主要版本会有部分基于上游 Fedora Linux 发行版的当前版本,但 Amazon 可能会选择添加或替换其他非 Fedora 上游的特定软件包(例如,Linux 内核源自 kernel.org 的长期支持选项,并专门为 Amazon 的 Linux 产品提供维护)。针对存储库中软件包的主要版本更新可能有时不向后兼容。我们会提供主要版本变更的完整列表,您应该可以在软件包级别执行就地升级。

季度次要版本(1.1、1.2)会提供安全更新、漏洞修复以及新功能和软件包。次要版本的示例包括最新的语言运行时,如 PHP 和其他热门软件包(例如 Ansible 和 Docker)。次要版本的更改不会破坏应用程序的兼容性。例如,会在保持默认版本语言运行时稳定的同时将新版本语言运行时作为新软件包添加到存储库中。

我们通过新的 AMI(Amazon Machine Image)版本和相应的新存储库的组合提供更新。默认情况下,新的 AMI 及其指向的存储库会联结在一起,但您仍可以将正在运行的 Amazon EC2 实例指向较新的存储库版本,以便在运行实例上使用更新。您也可以通过启动最新 AMI 的新实例来进行更新。

AL2023 会锁定到存储库的特定版本。EC2 启动向导中显示的 AL2023 AMI 将始终为最新版本,提供最新的软件包和更新,包括关键和重要的安全更新。如果您通过启动向导使用 AL2023 AMI 启动 EC2 实例,将始终为您提供最新更新(与当前使用 AL2 的体验相同)。但是,如果您从较旧的 AMI 启动一个实例,则不会自动应用任何更新,并且作为预置的一部分安装的任何其他软件包,都将映射到构建较旧 AMI 的存储库版本。这能让您确保软件包版本和更新在整个环境中的一致性,特别是当您从同一 AMI 启动多个实例时。您可以根据适合您的计划应用更新。

当我们发布 AL2023 存储库的新版本时,所有之前的版本仍可用。预设情况下,用于管理存储库版本的插件将锁定为用于构建 AMI 的相同版本。如果需要控制软件包更新,您可以运行“dnf check-release-update”以查找要更新的可用存储库版本,然后运行所列的命令“dnf —releasever=version update”来选择版本。此时,“dnf install”或“dnf upgrade”将仅会从选定的存储库版本中选择软件包。如果您不需要控制软件包更新,可以选择“最新”版本,该版本将始终指向 AL2023 存储库的最新版本。这将还原您和现有补丁工作流可能期望的软件包更新的旧行为。

安全性

符合。SELinux 是一个提供访问控制策略的安全模块。它在业界广泛用于锁定 Linux 服务器以及防止恶意活动。AL2023 中的主要应用程序拥有预配置的 SELinux 策略,可助您满足合规性需求。

AL2023 默认将 SELinux 设为宽松模式。您可以通过命令行执行“setenforce”,也可以在从 cloud-init userdata 启动时运行此命令,将 SELinux 设置更改为强制模式。实例重新启动时,它将记住并使用第一次指定的 SELinux 设置(除非您对它进行了更改)。有关更多详细信息,请参阅 AL2023 文档

有关完整的详细信息,请参阅 Amazon Linux 2023 发行说明。测试版本和 GA 之间的更改示例包括休眠代理,以及默认情况下注册为仅使用 IMDSv2 启动的 AMI(即禁用 IMDSv1)。

像大多数 Linux 发行版一样,Amazon Linux 通常会将安全补丁向后移植到其存储库中出售的稳定软件包版本。当使用向后移植的补丁更新这些软件包时,针对特定问题的 Amazon Linux 安全公告将列出包含 Amazon Linux 修复问题的特定软件包版本。依赖项目作者版本控制的安全扫描器有时不会发现给定的 CVE 修复程序已应用于旧版本。客户可参阅 Amazon Linux 安全中心(ALAS),了解有关安全问题和修复的最新信息。

AL2023 FIPS 常见问题

联邦信息处理标准(FIPS)出版物 140-3 包含联邦计算机系统数据保护和加密的标准和指南。它由美国国家标准与技术研究所(NIST)、加拿大网络安全中心(CCCS)和行业工作组开发,用于验证加密模块的有效性。FIPS 140-3 与 ISO/IEC 19790 标准保持一致,并针对现已停用的 FIPS 140-2 标准引入了新的安全要求增强功能。

要在 AL2023 上启用 FIPS 模式,请在您的 Amazon EC2 实例上下载所需的软件包并连接到该实例,以打开 FIPS 模式。有关详细说明,请参阅我们的启用 FIPS 模式

Amazon Linux 2023 加密模块(OpenSSL、NSS、Libgcrypt、Kernel、GnuTLS)已提交进行 FIPS 140-3 验证。截至 2024 年 2 月 2 日,所有 5 个加密模块均位于 FIPS 正在处理的模块(MIP)列表中。MIP 列表包含已完成所有 FIPS 测试并正在等待 CMVP 审核和颁发证书的加密模块。加密模块验证计划(CMVP)是商务部下属的国家标准与技术研究所和通信安全机构下属的加拿大网络安全中心联合开展的。请访问加密模块验证计划(CMVP)网站,了解 AL2023 加密模块 FIPS 状态。

客户可以使用位于 MIP 列表中的 AL2023 加密模块。 AWS 建议客户咨询其合规团队,以确定是否可以接受为其 FIPS 要求的工作负载使用 AL2023 加密模块,并在需要时获得批准。 

加密模块名称 关联程序包 验证状态
Amazon Linux 2023 OpenSSL 加密模块 OpenSSL 3.0.8 正在处理的模块列表
Amazon Linux 2023 NSS 加密模块 NSS 3.88 正在处理的模块列表
Amazon Linux 2023 Libgcrypt 加密模块 Libgcrypt 1.10.2 正在处理的模块列表
Amazon Linux 2023 Kernel Crypto API 加密模块 Kernel 6.1.38 正在处理的模块列表
Amazon Linux 2023 GnuTLS 加密模块 GnuTLS 3.8.0 正在处理的模块列表

AL2023 OpenSSL、NSS、Libgcyprt、Kernel 和 GnuTLS 在 Intel、AMD 和 Graviton 上进行了测试。详细信息将在最终证书上列出。

长期支持

AL2023 为其软件包提供更新,并将在基于 AL2023 构建的客户应用程序的主要版本中保持兼容性。在 AL2023 主要版本的生命周期内,为核心软件包(例如 glibc、openssl、openssh 和 dnf 软件包管理器)提供支持。不属于核心软件包的包将由其上游源定义提供支持。您可以通过运行“dnf supportinfo packagename”命令查看各软件包的具体支持状态和日期。核心软件包的完整列表将在预览版中最终确定。如果您希望我们在核心软件包中提供更多软件包,请告知我们,我们将收集反馈并进行评估。有关 Amazon Linux 2023 的反馈,请通过指定 AWS 代表、Amazon Linux 论坛或 Amazon Linux 2023 GitHub 页面提供。