1.4. 支持 FIPS 加密


您可以使用 FIPS 模式安装 OpenShift Container Platform 集群。

OpenShift Container Platform 专为 FIPS 设计。当以 FIPS 模式运行 Red Hat Enterprise Linux (RHEL) 或 Red Hat Enterprise Linux CoreOS (RHCOS)时,OpenShift Container Platform 核心组件使用 RHEL 加密库,在 x86_64、ppc64le 和 s390x 架构上提交到 NIST FIPS 140-2/140-3 Validation。

有关 NIST 验证程序的更多信息,请参阅加密模块验证程序。有关为验证提交的 RHEL 加密库的单独版本的最新 NIST 状态,请参阅 Compliance Activities 和 Government Standards

重要

要为集群启用 FIPS 模式,您必须从一个配置为以 FIPS 模式运行的 RHEL 9 计算机中运行安装程序,且必须使用安装程序支持的 FIPS 版本。请参阅使用 'oc adm extract' 的 FIPS 的安装程序部分。

有关在 RHEL 中配置 FIPS 模式的更多信息,请参阅在 FIPS 模式中安装该系统

对于集群中的 Red Hat Enterprise Linux CoreOS(RHCOS)机器,当机器根据 install-config.yaml 文件中的选项的状态进行部署时,会应用这个更改,该文件管理用户在集群部署过程中可以更改的集群选项。在 Red Hat Enterprise Linux(RHEL)机器中,您必须在计划用作 worker 机器的机器上安装操作系统时启用 FIPS 模式。

因为 FIPS 必须在集群首次引导的操作系统前启用,所以您不能在部署集群后启用 FIPS。

1.4.1. 使用 oc adm extract 获取支持 FIPS 的安装程序

OpenShift Container Platform 需要使用支持 FIPS 的安装二进制文件来在 FIPS 模式中安装集群。您可以使用 OpenShift CLI (oc) 从发行镜像中提取该二进制文件。获取二进制文件后,您可以继续集群安装,将 openshift-install 命令的所有实例替换为 openshift-install-fips

先决条件

  • 已使用版本 4.16 或更新版本安装了 OpenShift CLI (oc)。

流程

  1. 运行以下命令,从安装程序中提取支持 FIPS 的二进制文件:

    $ oc adm release extract --registry-config "${pullsecret_file}" --command=openshift-install-fips --to "${extract_dir}" ${RELEASE_IMAGE}

    其中:

    <pullsecret_file>
    指定包含 pull secret 的文件的名称。
    <extract_dir>
    指定您要提取二进制文件的目录。
    <RELEASE_IMAGE>
    指定您使用的 OpenShift Container Platform 发行版本的 Quay.io URL。有关查找发行镜像的更多信息,请参阅提取 OpenShift Container Platform 安装程序
  2. 继续集群安装,将 openshift-install 命令的所有实例替换为 openshift-install-fips

1.4.2. 使用公共 OpenShift 镜像获取支持 FIPS 的安装程序

OpenShift Container Platform 需要使用支持 FIPS 的安装二进制文件来在 FIPS 模式中安装集群。您可以通过从公共 OpenShift 镜像下载来获取此二进制文件。获取二进制文件后,进行集群安装,将 openshift-install 二进制文件的所有实例替换为 openshift-install-fips

先决条件

  • 您可以访问互联网。

流程

  1. https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest-4.16/openshift-install-rhel9-amd64.tar.gz 下载安装程序。
  2. 提取安装程序。例如,在使用 Linux 操作系统的计算机上运行以下命令:

    $ tar -xvf openshift-install-rhel9-amd64.tar.gz
  3. 继续集群安装,将 openshift-install 命令的所有实例替换为 openshift-install-fips

1.4.3. OpenShift Container Platform 中的 FIPS 验证

OpenShift Container Platform 在 RHEL 和 RHCOS 中使用特定的 FIPS 验证或 Modules In Process 模块用于使用它们的操作系统组件。请参阅 RHEL 核心加密组件。例如,当用户使用 SSH 连接到 OpenShift Container Platform 集群和容器时,这些连接会被正确加密。

OpenShift Container Platform 组件以 Go 语言编写,并使用红帽的 golang 编译器构建。当您为集群启用 FIPS 模式时,需要加密签名的所有 OpenShift Container Platform 组件都会调用 RHEL 和 RHCOS 加密库。

表 1.4. OpenShift Container Platform 4.16 中的 FIPS 模式属性和限制
属性限制:

RHEL 9 和 RHCOS 操作系统支持 FIPS。

FIPS 实现没有使用在单一步骤中执行哈希计算和签名生成或验证的功能。在以后的 OpenShift Container Platform 版本中,将继续评估并改进此限制。

CRI-O 运行时支持 FIPS。

OpenShift Container Platform 服务支持 FIPS。

从 RHEL 9 和 RHCOS 二进制文件和镜像中获得的 FIPS 验证或模块加密模块和算法。

使用 FIPS 兼容 golang 编译器。

TLS FIPS 并不完善,但计划在将来的 OpenShift Container Platform 版本中被支持。

支持多个架构中的 FIPS。

目前,只有使用 x86_64ppc64les390x 架构的 OpenShift Container Platform 部署中才支持 FIPS。

1.4.4. 集群使用的组件支持 FIPS

虽然 OpenShift Container Platform 集群本身使用 FIPS 验证或Modules In Process 模块,但请确保支持 OpenShift Container Platform 集群的系统使用 FIPS 验证的或模块 In Process 模块进行加密。

1.4.4.1. etcd

要确保存储在 etcd 中的 secret 使用 FIPS 验证的/Modules in Process 加密,以 FIPS 模式引导节点。在以 FIPS 模式安装集群后,您可以使用 FIPS 批准的 aes cbc 加密算法加密 etcd 数据

1.4.4.2. Storage

对于本地存储,使用 RHEL 提供的磁盘加密或使用 RHEL 提供的磁盘加密的容器原生存储。通过将所有数据存储到使用 RHEL 提供的磁盘加密的卷中,并为您的集群启用 FIPS 模式,静态数据和正在启动的数据或网络数据都受到 FIPS 验证的/Modules in Process 加密的保护。您可以将集群配置为加密每个节点的根文件系统,如 自定义节点 中所述。

1.4.4.3. runtimes

要确保容器知道它们在使用 FIPS 验证的/Modules in Process 加密模块的主机上运行,请使用 CRI-O 管理您的运行时。

1.4.5. 在 FIPS 模式下安装集群

要使用 FIPS 模式安装集群,请按照在首选基础架构上安装自定义集群的说明进行。在部署集群前,请确定在 install-config.yaml 文件中设置了 fips: true

重要

要为集群启用 FIPS 模式,您必须从配置为以 FIPS 模式操作的 RHEL 计算机运行安装程序。有关在 RHEL 中配置 FIPS 模式的更多信息,请参阅在 FIPS 模式中安装该系统

注意

如果使用 Azure File 存储,则无法启用 FIPS 模式。

要将 AES CBC 加密应用到 etcd 数据存储中,请在安装集群后按照 加密 etcd 数据 过程进行操作。

如果您在集群中添加 RHEL 节点,请确保在机器初始引导前启用 FIPS 模式。请参阅将 RHEL 计算机器添加到 OpenShift Container Platform 集群,以及以 FIPS 模式安装系统

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.