8.2. 安全性
OpenSSL 命令 cms
和 smime
可以在 FIPS 模式下加密文件
在以前的版本中,cms
和 smime
OpenSSL 命令使用旧的加密算法,如 3DES 或 PKCS #1 v1.5。这些算法在 FIPS 模式下被禁用。因此,使用smime
命令用默认设置加密文件无法在 FIPS 模式下的系统上工作。此更新引进了以下更改:
- 在 FIPS 模式下,OpenSSL API 默认使用带有 RSA 密钥的 OAEP 创建 CMS 数据。
-
在 FIPS 模式下,
cms
OpenSSL 命令在提供 RSA 密钥时,创建使用aes-128-cbc
和 OAEP 加密的 CMS 文件。
使用 ECDSA 密钥不受影响。在非 FIPS 模式下,OpenSSL API 和 cms
命令默认继续使用 PKCS#1 v1.5 填充和 3DES 加密。
因此,您可以在 FIPS 模式下使用 cms
和 smime
OpenSSL 命令来加密文件。
SELinux 允许在 Dovecot 中进行邮件复制
您可以为具有双向复制集的高可用性配置 Dovecot 高性能邮件发送代理,但之前的 SELinux 策略不包含规则,以使 dovecot-deliver
工具可在运行时文件系统中通过管道进行通信。因此,Dovecot 中的邮件复制无法正常工作。有了此更新,权限已添加到 SELinux 策略中,因此 Dovecot 中的邮件复制可以正常工作。
Bugzilla:2170495[1]
从 NFS 文件系统引导现在可以在 SELinux 设置为 enforcing 模式的情况下工作
在以前的版本中,当使用 NFS 作为 root 文件系统时,SELinux 标签不会从服务器转发,从而导致 SELinux 设置为 enforcing 模式时引导失败。
有了此更新,SELinux 已被修复,来在初始 SELinux 策略加载前正确地将创建的 NFS 挂载标记为支持安全标签。因此,NFS 挂载现在在服务器和客户端之间转发 SELinux 标签,引导可以在 SELinux 设置为 enforcing 模式的情况下成功。
Bugzilla:2218207[1]
RabbitMQ
使用 IPv6 不再失败
在以前的版本中,当您部署启用了 IPv6 的 rabbitmq
服务器时,inet_gethost
命令会尝试访问 /proc/sys/net/ipv6/conf/all/disable_ipv6
文件。因此,系统拒绝访问 /proc/sys/net/ipv6/conf/all/disable_ipv6
。有了这个更新,系统现在可以读取 /proc/sys/net/ipv6/conf/all/disable_ipv6
,rabbitmq
现在可以使用 IPv6。
SELinux 不再阻止通过 cloud-init
注册到 Insights
在以前的版本中,SELinux 策略不包含允许 cloud-init
脚本运行 insights-client
服务的规则。因此,尝试通过 cloud-init
脚本运行 insights-client --register
命令会失败。有了此更新,缺少的规则已被添加到策略中,您可以使用 enforcing 模式的 SELinux,通过 cloud-init
注册到 Insights。
staff_r
SELinux 角色中的用户现在可以运行 scap_workbench
探测
在以前的版本中,selinux-policy
软件包不包含用于运行 scap-workbench
工具所需的 staff_r
SELinux 角色中的用户的规则。因此,当用户在 staff_r
SELinux 角色下运行时,scap-workbench
探测会失败。有了此更新,缺少的规则已被添加到 selinux-policy
中,SELinux 用户现在可以运行 scap_workbench
探测。
在 SELinux 策略中添加 insights-client
的权限
insights-client
服务需要不在 selinux-policy
之前版本中的权限。因此,insights-client
的一些组件无法正常工作,并报告了访问向缓存(AVC)错误消息。在这个版本中,SELinux 策略添加了新权限。因此,insights-client
在不报告 AVC 错误的情况下正确运行。
JIRA:RHELPLAN-163014[1], Bugzilla:2190178,Bugzilla:2224737, Bugzilla:2207894, Bugzilla:2214581
Keylime allowlist 生成脚本已更新
Keylime 脚本 create_allowlist.sh
为 Keylime 策略生成一个 allowlist。在 RHEL 9.3 中,它被 create_runtime_policy.sh
脚本替代,该脚本在尝试将允许列表转换为 JSON 运行时策略时失败。
有了此更新,脚本被恢复为 create_allowlist.sh
。现在,您可以使用 keylime_create_policy
脚本将 allowlist 和 excludelist 合并到 JSON 运行时策略中。
Jira:RHEL-11866[1]
Keylime 不再需要 tls_dir = default
的特定文件
之前,当在 Keylime verifier 或 registrar 配置中将 tls_dir
变量设为 default
时,Keylime 会拒绝不同于 cacert.crt
文件名的自定义证书颁发机构(CA)证书。有了此更新,这个问题不再发生,您甚至可以使用具有 tls_dir = default
设置的自定义 CA 证书文件。
Jira:RHELPLAN-157337[1]
环境变量可以覆盖带有下划线的 Keylime 代理选项
在以前的版本中,当 Keylime 代理配置选项名称包含下划线(_)时,通过环境变量覆盖这个选项无法正常工作。有了此更新,即使选项名称包含下划线,通过环境变量的覆盖也可以正常工作。
Jira:RHEL-395[1]
Keylime 注册中心可以正确地识别 IPv6 地址
在以前的版本中,Keylime 注册中心无法正确识别 IPv6 地址,因此无法绑定其监听端口。有了此更新,注册中心可以正确地识别 IPv6 地址,因此可以正确地绑定到其端口。
Jira:RHEL-392[1]
Keylime 代理可以正确地处理 IPv6 地址
在以前的版本中,当使用未包含在括号 [ ] 中的 IPv6 地址注册 Keylime 代理时,keylime_tenant
工具失败,并显示错误。有了此更新,keylime_tenant
可以正确处理 IPv6 地址,即使它们没有包括在括号中。
Jira:RHEL-393[1]
Keylime 不再会由于 QEMU 虚拟机中的新事件而导致测量引导证明失败
edk2-ovmf
软件包的更新在 QEMU 操作的虚拟系统的测量引导日志中引入了一个新的事件类型。这些事件会在 Keylime 测量的引导证明中导致失败。有了此更新,Keylime 可以正确地处理这些事件。
Jira:RHEL-947[1]
Keylime Webhook 通知程序可以正确地关闭 TLS 会话
在以前的版本中,keylime Webhook 通知程序无法正确关闭 TLS 会话。这会导致在监听器端报告警告。此更新解决了这个问题,webhook 通知程序现在可以正确地关闭 TLS 会话。
Jira:RHEL-1252[1]
gpg-agent
现在在 FIPS 模式下作为 SSH 代理工作
在以前的版本中,当将密钥添加到 ssh-agent
程序中时,gpg-agent
工具会创建 MD5 指纹,即使 FIPS 模式禁用了 MD5 摘要。因此,ssh-add
工具无法将密钥添加到身份验证代理中。
有了这个版本,gpg-agent
不再使用 MD5 校验和。因此,gpg-agent
现在作为 SSH 身份验证代理可在 FIPS 模式下运行的系统上工作。
tangd-keygen
现在可以正确地处理非默认 umask
在以前的版本中,tangd-keygen
脚本不会更改生成的密钥文件的文件权限。因此,在具有阻止向其他用户读取密钥的默认用户文件创建模式掩码(umask
)的系统上,tang-show-keys
命令会返回错误消息 Internal Error 500
而不是显示密钥。有了这个更新,tangd-keygen
为生成的密钥文件设置文件权限,因此脚本现在可以在具有非默认 umask
的系统上正常工作。
fapolicyd
服务不再运行从可信数据库中删除的程序
在以前的版本中,fapolicyd
服务错误地将程序作为可信程序处理,即使它已从可信数据库中删除了。因此,输入 fapolicyd-cli --update
命令没有效果,即使被删除后程序也可以执行。有了此更新,fapolicyd-cli --update
命令可以正确地更新可信程序数据库,删除的程序无法再执行。
fapolicyd
不再导致系统在 mount
和 umount
后挂起
在以前的版本中,当 mount
或 umount
操作运行两次,然后运行 fapolicyd-cli --update
命令,fapolicyd
服务可能会进入无限循环。因此,系统会停止响应。有了此更新,服务可以正确地运行 fapolicyd-cli --update
命令,服务可以处理任意数量的 mount
或 umount
操作。
Keylime 现在接受串联的 PEM 证书
在以前的版本中,当 Keylime 收到作为单个文件中多个 PEM 格式的证书的证书链时,keylime-agent-rust
Keylime 组件会在生成 TLS 握手时失败。因此,客户端组件(keylime_verifier
和 keylime_tenant
)无法连接到 Keylime 代理。有了此更新,keylime-agent-rust
可以正确处理多个包括中间 CA 证书的证书。因此,您现在可以使用与 Keylime 串联的 PEM 证书。
Jira:RHEL-396[1]
即使没有能力,Rsyslog 也可以启动
当 Rsyslog 以普通用户或在容器化环境中执行时,rsyslog
进程没有能力。因此,在这种情况下 Rsyslog 无法丢弃能力,并在启动时退出。有了此更新,如果没有能力,进程不再尝试丢弃能力。因此,Rsyslog 可以启动,即使它没有能力。
Jira:RHELPLAN-160541[1]
io_uring
现在可以在没有 SELinux 拒绝的情况下正常工作
在以前的版本中,io_uring
内核接口在 SELinux 策略中缺少 map
权限。因此,mmap
系统调用失败,io_uring
接口无法正常工作。有了此更新,SELinux 策略中允许 map
权限,接口现在可以正常工作,而没有 SELinux 拒绝。
oscap-anaconda-addon
现在为 CIS 强化网络服务器
在以前的版本中,安装带有 CIS 安全配置文件(cis
、cis_server_l1、
cis_workstation_l1
或 cis_workstation_l2)
的 RHEL 网络服务器不可能带所选的 Network Servers 软件包组。这个问题已通过在 RHEL 9.3 提供的 oscap-anaconda-addon-2.0.0-17.el9
中排除 tftp
软件包得到了解决。因此,您可以安装带有 Network Servers 软件包组的 CIS 强化的 RHEL Network 服务器。
检查主目录的规则只适用于本地用户
scap-security-guide
软件包提供的多个合规性配置文件包含以下检查用户主目录的正确配置的规则:
-
accounts_umask_interactive_users
-
accounts_user_dot_group_ownership
-
accounts_user_dot_user_ownership
-
accounts_user_interactive_home_directory_exists
-
accounts_users_home_files_groupownership
-
accounts_users_home_files_ownership
-
accounts_users_home_files_permissions
-
file_groupownership_home_directories
-
file_ownership_home_directories
-
file_permissions_home_directories
这些规则正确地检查本地用户的配置。在以前的版本中,扫描程序还会错误地检查网络源(如 NSS)提供的远程用户的配置,即使补救脚本无法更改远程用户的配置。这是因为 OpenSCAP 扫描程序之前使用 getpwent()
系统调用。此更新更改了这些规则的内部实现,使其只依赖于 /etc/passwd
文件中的数据。因此,规则现在只适用于本地用户的配置。
密码过期规则只适用于本地用户
某些合规性配置文件(如 CIS 和 DISA STIG)包含以下检查用户帐户密码的期限和密码过期的规则:
-
accounts_password_set_max_life_existing
-
accounts_password_set_min_life_existing
-
accounts_password_set_warn_age_existing
-
accounts_set_post_pw_existing
这些规则正确地检查本地用户的配置。在以前的版本中,扫描程序还会错误地检查网络源(如 NSS)提供的远程用户的配置,即使补救脚本无法更改远程用户的配置。这是因为 OpenSCAP 扫描程序之前使用 getpwent()
系统调用。
此更新更改了这些规则的内部实现,使其只依赖于 /etc/shadow
文件中的数据。因此,规则现在只适用于本地用户的配置。
Red Hat CVE 源已更新
位于 https://access.redhat.com/security/data/oval/ 的红帽常见漏洞和暴露(CVE)版本 1 已停用,并被 https://access.redhat.com/security/data/oval/v2/ 提供的 CVE 版本 2 替代。
因此,scap-security-guide
软件包提供的 SCAP 源数据流中的链接已更新为链接到 Red Hat CVE 源的新版本。
与 journald
配置相关的规则不再添加额外的引号
在以前的版本中,SCAP 安全指南规则 journald_compress
、journald_forward_to_syslog
和 journald_storage
之前在补救脚本中包含了一个 bug ,这导致在 /etc/systemd/journald.conf
配置文件中的配置选项中添加了额外的引号。因此,journald
系统服务无法解析配置选项,并忽略它们。因此,配置选项无效。这会在 OpenSCAP 扫描中导致错误的pass
结果。有了此更新,规则和补救脚本不再添加额外的引号。因此,这些规则现在会为 journald
生成一个有效的配置。
/var/lib/fdo
下的文件现在得到正确的 SElinux 标签
在以前的版本中,有一个允许 FDO 进程访问整个主机的安全问题。有了这个更新,通过使用带有 SElinux 的 service-info-api
服务器,您可以添加任何文件,来发给 /var/lib/fdo
目录下的设备,因此 /var/lib/fdo
下的文件现在可以得到正确的 SElinux 标签。