Red Hat Certified Cloud 和 Service Provider Certification 政策指南
用于红帽认证的云和服务提供程序 1.0
摘要
使开源包含更多
红帽承诺替换我们的代码和文档中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于这一努力的精力,这些更改将在即将发布的版本中逐渐实施。有关让我们的语言更加包含的更多详情,请参阅我们的CTO Chris Wright 信息。
第 1 章 Red Hat Certified Cloud 和 Service Provider 认证策略简介
1.1. 受众
使用本指南了解为想提供基础设施即服务(IaaS)、平台即服务(PaaS)或基于 Red Hat Enterprise Linux 的托管服务的 CCSP 合作伙伴所实施的技术和操作认证要求。认证工具和方法满足在 Red Hat Enterprise Linux 上构建的云应用程序镜像。
1.2. 为我们的共同客户创造价值
作为认证的云和服务提供程序(CCSP),您需要认证您在目录中发布的镜像。认证流程包括一系列测试,供您的红帽客户保证,他们将在云提供商之间获得一致的体验,即客户拥有最高级别的支持,并且为客户提供良好的安全实践。
云认证测试套件(redhat-certification-cloud)包括三种测试(支持、配置、安全性),每个测试包含一系列子测试和检查,如下所述。来自所有三种云测试的单数运行日志以及测试套件自我检查测试(rhcert/selfcheck)必须向红帽提交以获取新的认证和重新认证。
大多数云认证子测试都提供了即时返回状态(传递/Fail),但有些子测试可能需要红帽进行详细的审查来确认是否成功。这类测试在红帽认证应用程序中被标记为 REVIEW 状态。
有些测试也可以识别潜在的问题并返回 WARN 状态。此状态表示尚未遵循最佳实践。标记为 WARN 状态或行动的测试,但不阻止认证成功。建议合作伙伴查看此类测试的输出,并根据警告中包含的信息执行适当的操作。
1.3. 测试套件版本
您必须安装最新版本的认证工具,并使用最新的工作流来认证流程。发布新版本的认证工具后,红帽会在发布后的 90 天内支持以前的工具和工作流。
在 90 天期限结束时,使用以前的版本生成的测试日志/结果会自动被拒绝,您应该使用最新的工具和工作流重新生成测试日志/结果。
最新版本的 认证工具和工作流通过红帽订阅管理提供,并记录在 CCSP 认证工作流指南 中。
1.4. 支持的 RHEL 版本和架构
以下 RHEL 版本和构架支持认证。
| RHEL 版本 | 架构 | 
|---|---|
| RHEL 10 | 
 | 
| RHEL 9 | 
 | 
| RHEL 8 | 
 | 
有关 hypervisor 支持的详情,请查看 Red Hat OpenStack Platform、Red Hat Virtualization 和 OpenShift Virtualization 中的认证的客户机操作系统。
1.5. 了解 Passthrough 认证
当镜像作为现有认证认证的副本提供且列在不同的镜像名称下时,会使用 passthrough 认证。
您可以从最初认证的 RHEL 镜像创建直通 RHEL 镜像。
提交 passthrough 镜像认证请求的策略要求您:
- 确保镜像是原始认证镜像的副本,但名称除外,这可能不同。
- 与原始镜像认证一样,预计给定运行的镜像以实例类型依赖配置数据的形式包括原始静态磁盘上镜像文件的特定偏移。
第 2 章 红帽认证自我检查
2.1. 红帽认证自我检查(rhcert/selfcheck)测试
红帽认证自我检查测试也称为 rhcert/selfcheck,确认认证过程中需要的所有软件包都已安装,并且尚未更改。这可确保测试环境为认证流程做好准备,并且所有认证软件包都可以支持。
对于认证测试或任何其他目的,不得修改认证软件包。
成功标准
测试环境包括认证过程中所需的所有软件包,且软件包尚未修改。
2.2. 系统报告
系统报告(sosreport)测试(也称为 cloud/sosreport )捕获基本的 sosreport。
红帽使用名为 sos 的工具从 RHEL 系统收集配置和诊断信息,并协助客户对系统进行故障排除并遵循推荐的做法。系统报告子测试可确保 sos 工具在 image/system 上可以正常工作,并捕获基本的 sosreport。
成功标准
可以在镜像中捕获基本的 sosreport。
第 3 章 支持性
支持性测试(也称为 云/支持 )检查镜像是否在红帽支持环境中运行,并至少包括 RHEL 的最小安装。
另外,测试会检查镜像是否包含红帽内核和用户空间软件,并支持红帽更新和修复。
该测试包括以下子测试:
3.1. 日志版本 subtest
日志版本 子测试会检查它是否可以找到在测试中的主机上安装的 RHEL 版本和内核版本。
成功标准
- 测试可以成功检测 RHEL 版本和内核版本。
3.2. kernel subtest
内核 子测试会检查测试环境中运行的内核模块。内核版本可以是原始的正式发行(GA)版本,也可以是为 RHEL 主版本和次发行版本发布的任何后续内核更新。
内核子测试还确保内核在环境中运行时不会被污点。
成功标准
- 正在运行的内核是红帽内核。
- 正在运行的内核会由红帽发布,用于 RHEL 版本。
- 运行的内核没有污点。
- 正在运行的内核尚未修改。
3.3. 内核模块子测试
内核模块 子测试会验证载入的内核模块是否由红帽发布,无论是作为内核软件包的一部分,或者通过 Red Hat Driver Update 添加。内核模块子测试还确保内核模块没有识别为技术预览。
成功标准
- 内核模块由红帽发布并被支持。
3.4. 硬件健康子测试
Hardware Health 子测试通过测试硬件是否受支持、满足要求以及任何已知的硬件漏洞来检查系统的健康状况。subtest 执行以下操作:
- 检查 Red Hat Enterprise Linux (RHEL)内核没有将硬件识别为不被支持。当内核标识不支持的硬件时,它将在系统日志中显示不受支持的硬件消息,/或触发不支持的内核污点。此子测试可防止客户在不受支持的配置和环境中运行红帽产品的潜在生产风险。 - 在虚拟机监控程序、分区、云实例和其他虚拟机情形中,内核可以根据虚拟机(VM)提供的硬件数据触发不受支持的硬件消息或污点。 
- 检查测试中的系统(SUT)是否满足最低硬件要求。 - RHEL 8、9 和 10 :最小系统 RAM 应为 1.5GB,每个 CPU 逻辑内核数量为 1.5GB。
 
- 检查内核是否报告了任何已知的硬件漏洞,这些漏洞是否有缓解措施,以及这些缓解方案是否已解决这个漏洞。许多缓解方案是自动的,以确保客户不需要采取主动步骤来解决漏洞。在某些情况下,这不可能;其中大多数剩余的情况都需要更改系统 BIOS/固件的配置,可能随时供客户修改。
- 确认系统没有任何离线 CPU。
- 确认系统中的 Simultaneous Multithreading (SMT)是否可用、启用并激活。
如果这些测试失败将导致测试套件中的 WARN,并且应由合作伙伴验证具有正确和预期的行为。
成功标准
- 内核没有设置 UNSUPPORTEDHARDWARE 污点位。
- 内核不会报告不支持的硬件系统信息。
- 内核不应报告任何有安全漏洞的缓解方案。
- 内核不会报告逻辑内核与安装的内存比率超过范围。
- 内核不会报告处于离线状态的 CPU。
3.5. hypervisor/分区子测试
Hypervisor/Partitioning 子测试确认 RHEL 镜像中显示的主机架构受到 RHEL 镜像、token 程序和内核的支持。目前,token 镜像认证支持以下现有和即将发布的 RHEL 版本和相应的架构:
- RHEL 8、9 和 10: x86_64, ppc64le, IBM Z
成功标准
- RHEL 8、9 和 10 的 PASS 场景在 RHEL KVM、Nutx、VMware 和 HyperV 上是 x86_64。它还包括 BareMetal、PowerVM 和 RHV for Power 的 ppc64le。
3.6. 文件系统布局子测试
Filesystem Layout 确认镜像的类型和最小大小遵循每个 RHEL 版本的指南。这样可确保镜像具有有效操作、运行应用程序和安装升级以供客户使用所需的合理空间。
成功标准
- RHEL 8、9 和 10 : root 文件系统大小为 10 GB 或更大的 XFS 或 ext4 分区。如果引导文件系统不在 root 文件系统中,则它是一个 1 GB XFS 或 ext4 分区。
3.7. 已安装 RPM 子测试
安装的 RPM 子测试会验证系统上安装的 RPM 软件包是否由红帽发布且没有修改。修改的软件包可能会带来风险,并影响客户环境的支持性。如果需要,您可以安装非红帽软件包,但您必须将它们添加到产品文档中,且不得修改或与任何红帽软件包冲突。
如果安装了非红帽软件包,红帽将检查此测试的输出信息。
成功标准
- 安装的红帽 RPM 没有被修改。
- 安装的非红帽 RPM 需要并记录。
- 安装的非红帽 RPM 不与红帽 RPM 或软件冲突。例如,您可以开发自定义软件包来管理网络接口的中断请求(IRQ)的 CPU 关联性。但是,这些软件包可能会与红帽的 tuned 软件包冲突,该软件包为性能调优提供了类似的功能。
3.8. 软件存储库 subtest
软件存储库确认配置了相关的红帽存储库,且 GPG 密钥已在镜像中导入,以避免对不受支持的内容造成潜在的显著风险。
红帽在 Red Hat 官方软件存储库(附带附加订阅附带)中提供核心软件包/内容,这些软件仓库使用 GPG 密钥签名,以确保分布式文件的真实性。作为这些存储库的一部分提供的软件被完全支持,并适用于客户生产环境。
如果需要启用云环境,可以配置由 Red Hat 发布但不受 Red Hat 软件仓库(如 EPEL 或 RHEL Supplementary 和 Optional )支持的软件仓库。但是,必须正确描述并批准此类软件仓库。
成功标准
- 支持的红帽软件仓库已配置。
- 红帽存储库的 GPG 密钥已在镜像中导入。
- 有效的软件仓库包括 Red Hat Update Infrastructure (RHUI)或 Red Hat Satellite。
- 需要启用来自 RHUI 或 Satellite 的 RHEL 和 AppStream 仓库。
- 必须禁用具有相同 RHUI 的 Red Hat 仓库。
- 镜像中配置的红帽软件仓库与镜像内容匹配。
- 非红帽软件仓库(如果需要)进行配置并描述操作正确的云。
要验证红帽存储库,合作伙伴必须使用以下关键字之一配置其基本 URL: satellite、redhat.com 或 rhui。
3.9. 容器
RHEL 支持计划在混合云中采用和使用容器的客户。
				software/容器 测试验证:
			
- 如果安装了红帽容器工具。如果没有安装它们,且不是最小 RHEL 安装的一部分,则测试将确认可以从 RHEL registry 中安装该工具,并可下载和执行容器。
- 如果 RHEL 云镜像上的容器由红帽提供,或是红帽认证的合作伙伴容器。如果需要将任何其他容器用于云操作,您必须在文档中提到它们。
成功标准
- 所有安装的容器均可由红帽提供或认证。
- 
						podman工具已经安装,也可以在测试运行期间安装。RHEL 8、9 和 10 镜像支持安装。
- 
						podman工具可以下载并运行示例红帽容器。
- 
						在 RHEL 镜像上安装 podman 后,registry.redhat.ioregistry 已启用或启用。
3.10. Insights 子测试
				Insights 子测试会在 RHEL 8、9 和 10 上验证 insights-client rpm。
			
成功标准
- 
						insights-clientrpm 安装在 RHEL 8、RHEL 9 和 RHEL 10 上。
3.11. 软件模块测试
RHEL 模块功能是系统上可用的一系列软件包。软件模块测试验证 RHEL 8、RHEL 9 或 RHEL 10 系统中可用的模块。
成功标准
如果没有红帽软件模块,则测试会失败。
第 4 章 镜像配置概述
镜像配置测试(也称为 云/配置 )确认根据红帽标准配置了镜像,以便客户在集成环境中的多个云供应商和镜像中具有统一且一致的体验。
cloud/configuration 测试包括以下子测试:
4.1. 默认系统日志
确认默认系统日志服务(syslog)被配置为将日志存储在镜像的 /var/log/ 目录中,以便在需要时快速解决问题。
成功标准
基本系统日志存储在镜像上的 /var/log/ 目录中。
4.2. 网络配置测试
网络配置测试确认防火墙服务正在运行,端口 22 正在运行,端口 80 和 443 为打开或关闭,所有其他端口都已关闭。这样可确保镜像默认不受未授权访问的影响,并带有一个已知的访问配置。
测试检查系统是否使用 RHEL 默认防火墙服务,还是云基础架构中提供的服务。云基础架构必须提供用户配置,并记录的防火墙服务不会防止使用 RHEL 默认防火墙服务。
这也确保客户可以通过 SSH 访问镜像,并且能够在没有额外配置的情况下快速部署 HTTP 应用程序。如果需要对云基础架构进行正确操作,则镜像可能会打开其他端口,但必须记录此类端口。
只有在镜像上打开端口 22、80 (可选)时,此测试才会在运行时显示状态(Pass)。如果打开了其他端口,此测试将请求与红帽的开放端口的描述信息,以确认成功或失败。
作为认证过程的一部分,红帽认证应用程序默认在端口 8009 上运行。Red Hat 认证应用程序也可以在认证测试过程中在另一个开放端口上运行,但建议在测试过程中打开此端口,而不是在镜像配置中作为默认设置。
成功标准
- 根据 RHEL 版本,确保启用并运行以下服务:
| RHEL 版本 | 服务 | 
|---|---|
| RHEL 10 | 
								 | 
| RHEL 9 | 
								 | 
| RHEL 8.3 及更新的版本 | 
								 | 
| RHEL 8 到 8.2 | 
								 | 
- sshd 已启用并在端口 22 上运行,并可访问
- 在正确操作云基础架构时,需要打开任何其他端口,并记录
- 红帽认证应用程序运行在端口 8009 (或其他端口已配置)
- 所有其他端口都关闭
httpd 服务被允许,但不需要在端口 80 和/或端口 443 上运行。
4.3. 默认操作系统运行级别
确认当前系统运行级别为 3、4 或 5。此子测试确保镜像在所需的模式/状态下运行,且所有所需的系统服务(如联网)正在运行。
成功标准
当前运行级别为 3、4 或 5。
- RHEL 10 - Systemd 网络目标和服务
- RHEL 9 使用 systemd 目标
- RHEL 8 使用 systemd 目标
4.4. 系统服务
系统服务确认 root 用户可以启动和停止系统上的服务。这样可保证拥有系统管理权限的客户可访问/在系统上的应用程序和服务访问/工作,并执行需要以无缝方式管理访问权限的所有任务。系统服务还确保已配置和已安装系统服务的实际状态之间没有差距。
成功标准
- root 用户可以启动和停止红帽产品提供的系统服务。
- 对于所有安装的系统服务,实际状态应与其配置的状态匹配。例如,如果服务已启用,则它应处于 running 状态。
- RHEL 10 - 管理 sudo 访问权限
- RHEL 9 - 管理 sudo 访问权限
- RHEL 8 - 管理 sudo 访问权限
4.5. 订阅服务
确认所需的红帽订阅已配置、可用且可用于镜像,并且更新机制是 Red Hat Satellite 或 RHUI。这样可确保客户能够访问需要通过标准的红帽软件包更新或交付机制支持其应用程序所需的软件包和更新。
成功标准
镜像已配置并能够从 Red Hat Satellite 或 RHUI 订阅管理服务下载、安装和升级软件包。
第 5 章 安全实践概述
安全实践测试也称为 云/安全,确认镜像遵循一组最低标准安全实践。它们还会确认(但目前不需要)安装了最新的红帽安全更新。
cloud/security 测试包括以下子测试:
5.1. 密码配置测试
密码配置 测试检查是否在 HUT 上启用登录身份验证服务,并且服务是否使用正确的加密算法。测试可确保镜像使用正确的加密和解密算法获得最佳安全性。
- 对于 RHEL 8 和 9,使用 SHA512 加密算法。
- 对于 RHEL 10,请使用 YESCRYPT 加密算法。
				对于 RHEL 8、9 和 10,它使用 authselect 工具。
			
成功标准
- RHEL 8 和 RHEL 9: - 为系统身份验证启用了 SHA-512 加密算法。
- 如果没有配置 NIS、SSSD 或 winbind 服务,则 RHEL 8 和 RHEL 9 的测试会失败,因为这些服务支持 SHA-512 算法。
 
- RHEL 10: - 为系统身份验证启用 YESCRYPT 加密算法。
 
5.2. RPM 新性
确认安装了针对镜像中包含的红帽软件包发布的所有重要和关键安全勘误。红帽鼓励您在发布勘误时更新并重新认证其镜像。此测试在运行时显示状态(REVIEW),因为它需要在红帽审核来确认成功或失败。
成功标准
为已安装的 Red Hat 软件包发布的所有重要及关键的安全勘误是最新的。
5.3. SELinux enforcing 子测试
Security-Enhanced Linux (SELinux) Enforcing 子测试确认 SELinux 已启用并在镜像上的 enforcing 模式下运行。
SELinux 为 Linux 内核添加了强制访问控制(MAC),在 Red Hat Enterprise Linux 中默认启用。SELinux 策略是管理员定义的,在系统范围内强制执行,用户不自行决定设置。它减少了权限升级攻击的漏洞,并限制配置过程中出现的损坏。如果某个进程被破坏,攻击者只能访问该进程的正常功能,以及已被配置为有权访问的文件。
成功标准
SELinux 在镜像上被配置为以 enforcing 模式运行。
- RHEL 10 - 使用 SElinux
- RHEL 9 - 使用 SElinux
- RHEL 8 - 使用 SElinux