在 AL2023 容器中启用 FIPS 模式 - Amazon Linux 2023

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

在 AL2023 容器中启用 FIPS 模式

这部分说明如何在 AL2023 容器中启用联邦信息处理标准(FIPS)。有关 FIPS 的更多信息,请参阅:

注意

这部分记录如何在 AL2023 容器中启用 FIPS 模式。它不涉及 AL2023 加密模块的认证状态。

先决条件
重要

fips-mode-setup 命令在容器内部将无法正常工作。请阅读以下步骤以在 AL2023 容器中正确配置 FIPS 模式。

在 AL2023 容器中启用 FIPS 模式
  1. 必须首先在 AL2023 容器主机上启用 FIPS 模式。按照 在 AL2023 上启用 FIPS 模式 处的说明在主机上启用 FIPS 模式。

  2. 使用 SSH 或 AWS Systems Manager 连接到您的 AL2023 容器主机实例。

  3. 如果 AL2023 主机处于 FIPS 模式并且 /proc/sys/crypto/fips_enabled 可以从容器内部访问,则 FIPS 模式将在 AL2023 容器中自动启用。如果 /proc/sys/crypto/fips_enabled 的内容是 0,则表示 FIPS 未启用;值为 1 表示 FIPS 模式已启用。

    您可以通过在 AL2023 主机和容器上运行以下命令来验证 FIPS 是否已启用:

    cat /proc/sys/crypto/fips_enabled
  4. 接下来,在容器内启用 FIPS 加密策略。有几种方法可以实现这一点,将在下面的选项中描述。请使用最适合您环境的选项。

    1. 使用 update-crypto-policies 命令在容器内手动启用 FIPS 加密策略:

      # Run these commands inside the container dnf install -y crypto-policies-scripts update-crypto-policies --set FIPS
    2. 在 AL2023 容器内创建 bind 挂载(这类似于 podman 在其他发行版中的工作方式):

      # Run these commands inside the container mount --bind /usr/share/crypto-policies/back-ends/FIPS /etc/crypto-policies/back-ends echo "FIPS" > /usr/share/crypto-policies/default-fips-config mount --bind /usr/share/crypto-policies/default-fips-config /etc/crypto-policies/config
    3. 也可以创建一个绑定挂载,以使 AL2023 容器与 AL2023 主机的加密策略相匹配。以下仅作为示例提供。如果容器和主机之间的加密策略及程序包版本存在不兼容的差异,此配置可能会导致问题:

      sudo docker pull amazonlinux:2023 sudo docker run --mount type=bind,readonly,src=/etc/crypto-policies,dst=/etc/crypto-policies -it amazonlinux:2023
  5. 执行上述步骤后,您可以使用以下命令再次验证 FIPS 是否已在容器中启用:

    $ cat /etc/crypto-policies/config
    FIPS
    
    $ cat /proc/sys/crypto/fips_enabled
    1