5.5. 安全性
当为 FIPS 模式,会在 libgcrypt
中启用硬件优化
在以前的版本中,联邦信息处理标准(FIPS 140-2)不允许使用硬件优化。因此,在之前的 RHEL 版本中,当使用 FIPS 模式时,操作在 libgcrypt
软件包中被禁用。RHEL 9 在 FIPS 模式中启用硬件优化,因此,所有加密操作都会更快地执行。
crypto-policies
现在可以禁用 ChaCha20
密码
在以前的版本中,crypto-policies
软件包使用错误关键字在 OpenSSL 中禁用 ChaCha20
密码。因此,您无法通过 crypto-policies
在 OpenSSL 中为 TLS 1.2 协议禁用 ChaCha20
。在这个版本中,使用 -CHACHA20
关键字而不是 -CHACHA20-POLY1305
。现在,您可以使用加密策略在 OpenSSL 中为 TLS 1.2 和 TLS 1.3 禁用 ChaCha20
密码。
当使用 FIPS 模式安装时,64 位 IBM Z 系统不再无法引导
在以前的版本中,带有 --no-bootcfg
选项的 fips-mode-setup
命令不会执行 zipl
工具。因为 fips-mode-setup
会重新生成初始 RAM 磁盘(initrd
),因此生成的系统需要更新 zipl
内部状态才能引导,因此在以 FIPS 模式安装时将 64 位 IBM Z 系统置于无法引导的状态。在这个版本中,即使使用了 --no-bootcfg
,fips-mode-setup
也会在 64 位 IBM Z 系统中执行 zipl
,新安装的系统可以引导成功。
(BZ#2013195)
GNUTLS_NO_EXPLICIT_INIT
不再禁用隐式库初始化
在以前的版本中,GNUTLS_NO_EXPLICIT_INIT
环境变量禁用了隐式库初始化。在 RHEL 9 中,GNUTLS_NO_IMPLIMPLICIT_INIT
变量禁用隐式库初始化。
(BZ#1999639)
基于 openssl 的应用程序现在可以使用 Turkish 区域正常工作
因为 OpenSSL
库使用不区分大小写的字符串比较功能,因此基于 OpenSSL 的应用程序无法使用 Turkish 区域正常工作,因此忽略的检查会导致应用程序使用这个区域设置崩溃。在这个版本中,提供一个补丁以使用可移植的操作系统接口(POSIX)区域进行不区分大小写的字符串比较。因此,基于 OpenSSL 的应用程序(如 curl)可以与 Turkish 区域正常工作。
kdump
不再会因为 SELinux 权限崩溃
kdump
崩溃恢复服务需要额外的 SELinux 权限才能正确启动。因此,SELinux 会阻止 kdump
工作kdump
报告它无法正常工作,并且对 Access Vector Cache(AVC)拒绝进行审核。在这个版本中,所需权限被添加到 selinux-policy
中,因此 kdump
可以正常工作,且不会对 AVC 拒绝进行审核。
(BZ#1932752)
usbguard-selinux
软件包不再依赖于 usbguard
在以前的版本中,usbguard-selinux
软件包依赖于 usbguard
软件包。这与这些软件包的其它依赖关系相结合,这会导致安装 usbguard
时存在文件冲突。因此,这会阻止在某些系统上安装 usbguard
。在这个版本中,usbguard-selinux
不再依赖于 usbguard
,因此 dnf
可以正确安装 usbguard
。
dnf install
和 dnf update
现在可以在 SELinux 中使用 fapolicyd
fapolicyd-selinux
软件包包含 fapolicyd 的 SELinux 规则,不包含监视所有文件和目录的权限。因此,fapolicyd-dnf-plugin
无法正常工作,从而导致任何 dnf install
和 dnf update
命令使系统无限期停止响应。在这个版本中,监视任何文件类型的权限被添加到 fapolicyd-selinux
中。因此,fapolicyd-dnf-plugin
可以正常工作,并且 dnf install
和 dnf update
命令可以正常工作。
(BZ#1932225)
现在,Ambient 能力可以被正确应用到非 root 用户
作为一种安全措施,将 UID(用户标识符)从 root 更改为非 root 会使 permitted, effective, 和 ambient 能力集无效。
但是,pam_cap.so
模块无法设置 ambient 能力,因为能力需要同时位于 permitted 和 inheritable 集才可以处于ambient 中。此外,在更改 UID(例如使用 setuid
实用程序)后,permitted 集会变为无效,因此不能设置 ambient 能力。
要解决这个问题,pam_cap.so
模块现在支持 keepcaps
选项,该选项允许在将 UID 从 root 更改为非 root 后保留其允许的能力。pam_cap.so
模块现在支持 defer
选项,该选项会导致 pam_cap.so
在回调中的 pam_cap.so 中重新应用到 pam_end()
的功能。更改 UID 后,其他应用程序可使用此回调。
因此,如果 su
和 login
工具被更新并符合 PAM,您现在可以使用 pam_cap.so
和 keepcaps
和 defer
选项为非 root 用户设置 ambient 能力。
usbguard-notifier
不再将太多的错误消息记录到 Journal 中
在以前的版本中,usbguard-notifier
服务没有连接到 usbguard-daemon
IPC 接口的进程间通信(IPC)权限。因此,usbguard-notifier
无法连接到接口,它会将对应的错误消息写入 Journal。由于 usbguard-notifier
使用 --wait
选项启动,因此 usbguard-notifier
会在连接失败后尝试每秒连接到 IPC 接口,默认情况下日志会很快包含大量与这个行为相关的消息。
在这个版本中,usbguard-notifier
默认不以 --wait
开始。现在,该服务只会以 1 秒的间隔尝试连接到守护进程三次。因此,日志包含最多三个相关的错误消息。