19.2. 对加密组件的更改
ca-certificates
信任存储已移动
/etc/pki/tls/certs
信任存储转换为为 OpenSSL 优化的不同格式。因此,如果您直接使用 /etc/pki/tls/certs
中的文件,请切换到 /etc/pki/ca-trust/extracted
目录,其中存储了相同的数据。例如,通过 /etc/pki/tls/certs/ca-bundle.crt
访问信任捆绑包的软件应该切换为使用 /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
。
删除了 fips-mode-setup
fips-mode-setup
命令已从 RHEL 中删除。要启用联邦信息处理标准(FIPS) 140 强制的加密模块自检,请在系统安装过程中启用 FIPS 模式。如需更多信息,请参阅 安全强化 文档中的将 RHEL 切换到 FIPS 模式 一章。
删除 /etc/system-fips
从 RHEL 中删除了对通过 /etc/system-fips
文件指定 FIPS 模式的支持。要在 FIPS 模式中安装 RHEL,请在系统安装过程中将 fips=1
参数添加到内核命令行。您可以通过显示 /proc/sys/crypto/fips_enabled
文件来检查 RHEL 是否在 FIPS 模式下运行。
compat-openssl11
被删除
OpenSSL 1.1 的兼容性库 compat-openssl11
已从 RHEL 10 中删除。OpenSSL 1.1 不再在上游维护,且使用 OpenSSL TLS 工具包的应用程序应迁移到版本 3.x。
pkcs11-provider
替换 openssl-pkcs11
作为从 OpenSSL 引擎迁移到 Providers API 的一部分,pkcs11-provider
软件包取代了 openssl-pkcs11
软件包(engine_pkcs11
)。openssl-pkcs11
软件包已从 RHEL 10 中删除。
DEFAULT
加密策略拒绝 RSA 密钥交换的 TLS 密码
使用 RSA 密钥交换的 TLS 密码不再在 RHEL 10 的 DEFAULT
系统范围的加密策略中接受。这些密码不提供完美转发保密性,不被视为使用其他密钥交换的密码,例如 Elliptic-curve Diffie-Hellman (ECDH)密钥交换。
这个更改还减少了对侧通道攻击的风险,因为 RSA 密钥交换使用 PKCS #1 v1.5 加密填充,这可能导致漏洞计时通道攻击。
如果您需要 RSA 密钥交换来与旧系统互操作性,您可以使用 LEGACY 系统范围的加密策略或应用自定义子策略来重新启用它。
LEGACY
加密策略不允许 TLS 中的 SHA-1 签名
RHEL 10 中的 LEGACY
系统范围的加密策略不再允许在 TLS 上下文中创建或验证使用 SHA-1 的签名。因此,无论用例是什么,OpenSSL 以外的库可能不再接受或创建任何使用 SHA-1 的签名。如果系统处于 LEGACY
中,或者此功能使用自定义子策略,OpenSSL 将继续接受使用 SHA-1 的签名。
已删除 SHA1
子策略
在输入 update-crypto-policies --set
命令后,允许使用 SHA-1 算法在 DEFAULT 系统范围的加密策略中创建和验证签名的 SHA1 子策略在 RHEL 10 中不再可用。
DEFAULT
: SHA1
OpenSSL 不再允许 TLS 中的 SECLEVEL=2
的 SHA-1
OpenSSL 不接受 RHEL 10 中的 TLS 中的 SECLEVEL=2
的 SHA-1 算法。如果您的场景需要使用 TLS 1.0 或 1.1,您必须明确设置 SECLEVEL=0
,并切换到 LEGACY 系统范围的加密策略。在 LEGACY 策略中,在 TLS 外部签名中使用 SHA-1 的应用将继续工作。
OpenSSL 密码套件不再启用带有禁用哈希或 MAC 的密码套件
在以前的版本中,应用自定义加密策略可能会启用特定的 TLS 1.3 密码套件,即使其哈希或 MAC 被禁用,因为 OpenSSL TLS 1.3 特定的 Ciphersuites
选项值仅由加密策略的 cipher 选项控制。在这个版本中,在决定是否启用密码套件时,
crypto-policies
会考虑更多的算法。因此,在带有自定义加密策略的系统中 OpenSSL 可能会拒绝根据系统配置更好地协商一些之前启用的 TLS 1.3 密码套件。
RHEL 10.0 中的 OpenSSL FIPS 指标可能会在 RHEL 10 生命周期中有所变化
因为 RHEL 在 OpenSSL 上游执行前引入了 OpenSSL FIPS 指示符,因此指标可能会在以后的 RHEL 10 次版本中有所变化。在可能使用上游 API 后,RHEL 10.0 指标可能会返回错误信息 "unsupported" 而不是结果。详情请查看 OpenSSL FIPS Indicators GitHub 文档。
切换到 LEGACY 策略不支持 TLS 连接中的 SHA-1
您可以通过默认加密字符串或 rh-allow-sha1-signatures
属性中指定的 @SECLEVEL
设置来控制对 SHA-1 签名的支持。通过设置 @SECLEVEL=0
来启用对 TLS 上下文中的 SHA-1 的支持。但是,此设置还允许其他不安全的算法。
您可以通过在 evp_properties
部分中指定 rh-allow-sha1-signatures
属性来覆盖 SECLEVEL
设置。默认情况下,在配置文件中未指定,evp_properties
设置为 no
。在切换到 LEGACY
策略后,系统范围的加密策略会将属性设置为 yes
。
因此,要在 TLS 以外的上下文中启用对 SHA-1 的支持,您可以将系统切换到 LEGACY
加密策略。要在 TLS 中启用 SHA-1,您必须将系统切换到 LEGACY
,并使用密码字符串,该字符串通过定义自定义加密策略或在 OpenSSL 中为应用程序设置它。
更严格的 SSH 主机密钥权限已被恢复
所需的主机密钥权限已从之前不太严格的 0640
改为 0600
,这也是上游使用的值。之前拥有所有 SSH 密钥的 ssh_keys
组也已被删除。因此,ssh-keysign
工具使用 SUID 位,而不是 SGID 位。
crypto-policies
现在为 GnuTLS 设置 allow-rsa-pkcs1-encrypt = false
在 RHEL 10 中,GnuTLS 库默认阻止使用 RSA PKCS Complete v1.5 填充来加密和解密。除 LEGACY 策略外,allow-rsa-pkcs1-encrypt = false
选项在所有系统范围的加密策略中指定(DEFAULT、FUTURE 和 FIPS)。