8.6. 安全
OpenSSH 密钥生成使用 FIPS 兼容接口
OpenSSH 使用的 OpenSSL 加密库提供了两个接口: legacy 和 modern。在以前的版本中,OpenSSH 将旧界面用于密钥生成,它不符合联邦信息处理标准 (FIPS) 要求。在这个版本中,ssh-keygen
工具使用 FIPS 兼容 API,而不是兼容 FIPS 的 API。因此,OpenSSH 密钥生成是 FIPS 兼容。
FIPS 批准的加密不再可用于 FIPS 模式
在以前的版本中,无论系统设置是什么,没有 FIPS 批准的加密程序在 OpenSSL 工具包中正常工作。因此,您可以使用在系统以 FIPS 模式运行时禁用的加密算法和密码,例如:
- 使用 RSA 密钥交换工作的 TLS 密码套件。
- 尽管使用 PKCS #1 和 SSLv23 补丁,或者使用比 2048 位更短的密钥,对公钥的加密算法进行基于 RSA 的加密算法。
在这个版本中,确保 FIPS 没有被 FIPS 批准的加密功能在 FIPS 模式的 OpenSSL 中无法正常工作。
指定从 OpenSSL 中删除任意 curves
在以前的版本中,检查显式 curve 参数安全是否不完整。因此,在 RHEL 中具有足够大的 p
值的任意 elliptic curves。在这个版本中,检查会验证显式 curve 参数是否与一个已知的受支持 curves 匹配。因此,使用显式 curve 参数来指定任意曲线的选项已从 OpenSSL 中删除。指定在 OpenSSL 中任意明确的 curves 无法正常工作的参数文件、私钥、公钥和证书。使用显式 curve 参数指定已知并支持的 curves 之一,如 P-224, P-256, P-384, P-521 和 secp256k1
,在非 FIPS 模式中仍然被支持。
(BZ#2066412)
Openssl req
使用 AES-256-CBC 进行私钥加密
在以前的版本中,OpenSSL req
工具使用 3DES 算法加密私钥文件。因为 3DES 算法在当前 FIPS 140 标准中不安全且不禁止加密模块,所以 req
现在会生成使用 AES-256-CBC 算法加密的私钥文件。整个 PKCS#8 文件格式保持不变。
当使用 FFDHE 时,openssl 不再无法连接
在以前的版本中,使用基于 field 的 Diffie-Hellman ephemeral (FFDHE) 密钥交换机制的 TLS 连接有时会在从客户端处理 FFDHE 密钥共享时会失败。这是因为 OpenSSL 中的限制性检查导致。因此,OpenSSL 服务器会中止与 internal_error
警报的连接。在这个版本中,OpenSSL 接受较小的但仍然兼容的客户端密钥共享。因此,在使用 FFDHE 密钥交换时,OpenSSL 和其他实现之间的连接不再随机中止。
基于 openssl 的应用程序现在可以使用 Turkish 区域正常工作
因为 OpenSSL
库使用不区分大小写的字符串比较功能,因此基于 OpenSSL 的应用程序无法使用 Turkish 区域正常工作,因此忽略的检查会导致应用程序使用这个区域设置崩溃。在这个版本中,提供一个补丁以使用可移植的操作系统接口(POSIX)区域进行不区分大小写的字符串比较。因此,基于 OpenSSL 的应用程序(如 curl)可以与 Turkish 区域正常工作。
在 SELinux 策略中添加 insights-client
的权限
新的 insights-client
服务需要权限,这些权限在以前的 selinux-policy
版本中。因此,insights-client
的一些组件无法正常工作,并报告了访问向缓存(AVC)错误消息。在这个版本中,SELinux 策略添加了新权限。因此,insights-client
在不报告 AVC 错误的情况下正确运行。
(BZ#2081425, BZ#2077377, BZ#2087765, BZ#2107363)
SELinux staff_u
用户不再错误地切换到 unconfined_r
在以前的版本中,当启用了 secure_mode
布尔值时,staff_u
用户可以切换到 unconfined_r
角色,这不是预期的行为。因此,staff_u
用户可以执行影响系统安全性的特权操作。在这个版本中,SELinux 策略已被修复,staff_u
用户无法再错误地切换到 unconfined_r
。
在检查可用内存时,OpenSCAP 不再生成错误
在以前的版本中,当评估一些 XCCDF 规则时,OpenSCAP 会错误地显示错误消息 Failed to check available memory
并生成无效的扫描结果。例如,这会在 accounts_user_dot_no_world_writable_programs
, accounts_user_dot_group_ownership
和 accounts_users_home_files_permissions
规则发生。在这个版本中,错误处理中的错误已被修复,错误消息只针对真实故障显示。
fagenrules --load
现在可以正常工作
在以前的版本中,fapolicyd
服务无法正确处理信号挂起 (SIGHUP)。因此,在接收 SIGHUP 后 fapolicyd
终止,fagenrules --load
命令无法正常工作。此更新包含针对此问题的修复。因此,fagenrules --load
现在可以正常工作,规则更新不再需要手动重启 fapolicyd
。