28 确保符合 FIPS 140-3 标准 #
FIPS 140-3 是一个安全认证程序,用于验证私营公司生产的加密模块。联邦信息处理标准 (FIPS) 140 版本是美国国家标准与技术研究院 (NIST) 为确保加密模块的质量而制定的一系列计算机安全标准。
如果您的组织要为美国联邦政府履行任何责任,那么,您的加密应用程序(例如 openSSL、GnuTLS 和 OpenJDK)可能需要符合联邦信息处理标准 (FIPS) 140-3。如果合规性规则不要求您的组织以 FIPS 模式运行 SUSE Linux Enterprise,则最好不要以这种模式运行。本章提供有关启用 FIPS 模式的指导,以及包含详细信息的资源的链接。
相关二进制文件目前正在进行 FIPS 140-3 认证。在获得认证之前,无法保证完全符合 FIPS 140-3 标准。
28.1 FIPS 概览 #
开发和维护加密应用程序并想要测试其 FIPS 合规性的每家供应商必须将其提交到加密模块验证程序 (CMVP)(请参见 https://csrc.nist.gov/projects/cryptographic-module-validation-program)。
最新的 FIPS 140-3 标准已于 2019 年 3 月获得批准并取代了 140-2。
28.2 何时启用 FIPS 模式 #
FIPS 的管理非常复杂,需要具备丰富的专业知识。正确实施、测试 FIPS 以及对其进行查错都需要很高的知识水平。
请仅在需要满足合规性规则时,才以 FIPS 模式运行 SLES。否则,我们不建议以 FIPS 模式运行您的系统。
下面是不建议使用 FIPS 模式的一些原因(如果没有明确的要求):
FIPS 有约束性。它强制要求使用经验证的特定加密算法,并强制要求使用实现这些经验证算法的特定已认证二进制文件。您只能使用已认证的二进制文件。
升级可能会破坏功能。
审批过程非常漫长,因此已认证的二进制文件始终比最新版本要落后几个版本。
已认证的二进制文件(例如 ssh、sshd 和 sftp-server)会在启动时运行自检,并仅在这些检查成功时才会运行。这会导致性能小幅下降。
FIPS 的管理非常复杂,需要具备丰富的专业知识。
28.3 安装 FIPS #
最好在新的安装中安装 patterns-base-fips 软件集。
相关二进制文件目前正在进行 FIPS 140-3 认证。在获得认证之前,无法保证完全符合 FIPS 140-3 标准。
可以在运行中的系统上安装 patterns-base-fips 并启用 FIPS 模式,但可能必须进行调整,例如重新生成密钥,并审计设置以确保 FIPS 设置正确。
28.4 启用 FIPS 模式 #
以下过程说明如何启用 FIPS 模式:
默认情况下,可能不会安装提供
fips-mode-setup
命令的 crypto-policies-scripts 软件包。如果未安装,您可以使用受支持的方式安装该软件包,然后启用内核 FIPS 模式,该模式还会将系统策略设置为 FIPS:>
sudo
fips-mode-setup --enable Setting system policy to FIPS FIPS mode will be enabled. [...] Please reboot the system for the setting to take effect.重新引导并使用以下命令校验 FIPS 模式:
>
sudo
fips-mode-setup --check FIPS mode is enabled. Initramfs fips module is enabled. The current crypto policy (FIPS) is based on the FIPS policy.要禁用 FIPS 模式,请运行:
>
sudo
fips-mode-setup --disable Setting system policy to DEFAULT FIPS mode will be disabled. [...] Please reboot the system for the setting to take effect.
也可以使用以下选项:
--no-bootcfg
:该工具不会重新配置引导加载程序,而是列显需要添加到内核命令行的选项。例外情况:它仍会尝试在s390x
上执行zipl
,否则系统可能会变得无法引导。--is-enabled
:检查系统 FIPS 模式状态,如果已禁用或不一致,则分别返回失败错误代码 2 或 1。
28.5 Samba/CIFS 不支持 MD5 #
根据 FIPS 标准,MD5 不是安全的哈希算法,不得将它用于身份验证。如果您的网络环境符合 FIPS 要求,并且您的客户端或服务器以符合 FIPS 要求的模式运行,您必须使用 Kerberos 服务对 Samba/CIFS 用户进行身份验证。之所以必须这样做,是因为所有其他 Samba 身份验证模式都包含 MD5。
有关运行 Samba 服务器的详细信息,请参见《存储管理指南》的“Samba”一节。
28.6 更多信息 #
有关详细信息,请参见:
Man 8
fips-mode-setup
Man 8
fips-finish-install
Man 7
crypto-policies
Man 8
update-crypto-policies