8.2. 安全性
从 NFS 文件系统引导现在可以在 SELinux 设置为 enforcing 模式的情况下工作
在以前的版本中,当使用 NFS 作为 root 文件系统时,SELinux 标签不会从服务器转发,从而导致 SELinux 设置为 enforcing 模式时引导失败。
有了此修复,SELinux 已被修复为在初始 SELinux 策略作为支持安全标签加载前,正确标记创建的 NFS 挂载。因此,NFS 挂载现在可以在服务器和客户端之间转发 SELinux 标签,引导可以在 SELinux 设置为 enforcing 模式的情况下成功。
Bugzilla:1753646[1]
现在,自动屏幕锁定可以正常工作,即使删除了 USB 智能卡读卡器,
在 RHEL 8.9 之前,opensc
软件包不能正确处理删除 USB 智能卡读卡器。因此,即使 GNOME 显示管理器(GDM)被配置为在删除智能卡时锁定屏幕,系统仍保持解锁。另外,重新连接 USB 读卡器后,在删除智能卡后,屏幕也不会锁定。在本发行版本中,用于处理删除 USB 智能卡读卡器的代码已被修复。因此,屏幕被正确锁定,即使智能卡或 USB 智能卡读卡器被删除了。
SCAP enable_fips_mode
规则现在仅在 64 位 IBM Z 构架上检查 fips=1
在以前的版本中,SCAP 安全指南规则 enable_fips_mode
确实检查 /boot/grub2/grubenv
文件的内容。因此,64 位 IBM Z 架构没有对 FIPS 模式使用 /boot/grub2/grubenv
文件。有了此更新,OVAL 规则 enable_fips_mode
现在测试 Linux 内核的参数 fips=1
是否在 64 位 IBM Z 架构上的 /boot/loader/entries/rhcs.conf
文件中存在。
SCAP journald
规则不再修复无效的配置
在以前的版本中,SCAP 安全指南规则 journald_compress
、journald_forward_to_syslog
和 journald_storage
在补救脚本中包含一个 bug,其在 /etc/systemd/journald.conf
配置文件中向相应的选项添加了额外的引号。因此,journald
服务无法解析配置选项,并忽略它们。因此,配置选项无效,OpenSCAP 报告假的通过结果。有了此更新,规则和补救脚本已被修复,不会添加额外的引号。规则现在为 journald
创建了一个有效的配置。
现在可以使用安全配置文件配置镜像
配置挂载点选项的 SCAP 安全指南规则已重新制定,现在您还可以在镜像构建器中构建操作系统镜像时使用它们来强化镜像。因此,您现在可以使用与特定安全配置文件一致的分区配置来构建镜像。
从与 AIDE 配置相关的 SSG 规则中删除严格的要求
在以前的版本中,SCAP 安全指南(SSG)规则 aide_build_database
需要存在 /var/lib/aide/aide.db.new.gz
和 /var/lib/aide/aide.db.gz
文件才能通过。因为 AIDE
工具不需要 /var/lib/aide/aide.db.new.gz
文件,所以这个更新从 aide_build_database
规则中删除了相应的要求。因此,该规则只需要 /var/lib/aide/aide.db.gz
文件就能通过。
此外,SCAP 安全指南规则 aide_periodic_cron_checking
现在对 /etc/cron.daily
和 /etc/cron.weekly
文件中的条目不太严格。现在,您可以使用额外的包装程序调度 aide --check
命令,同时遵守规则。
与 pam_faillock
相关的 SCAP 规则有正确的描述
在以前的版本中,与 pam_faillock
相关的 SCAP 安全指南规则包含与一些配置文件值不一致的描述。因此,描述不正确。有了此更新,规则描述现在使用 XCCDF 变量。
这个更改会影响以下规则:
-
accounts_passwords_pam_faillock_deny
-
accounts_passwords_pam_faillock_interval
-
accounts_passwords_pam_faillock_dir
-
accounts_passwords_pam_faillock_unlock_time
当挂载 /boot/efi
时,file_permissions_efi_user_cfg
SCAP 规则不再失败
在以前的版本中,UEFI 文件的默认权限不被接受。因此,当 /boot/efi
分区使用虚拟文件分配表(VFAT)文件系统时,不可能使用 chmod
命令更改权限。因此,file_permissions_efi_user_cfg
规则失败。此更新将默认权限从 0600
改为 0700
。因为 CIS 也接受 0700
权限,所以评估和补救现在与 CIS 配置文件很好地保持一致。
SSG 补救现在与 configure_openssl_cryptopolicy
保持一致
在以前的版本中,SCAP 安全指南(SSG)补救向 opensslcnf.config
文件中添加了 =
字符。此语法与 configure_openssl_cryptopolicy
规则的描述不匹配。因此,在向 opensslcnf.config
插入 .include =
而不是 .include
的补救后,合规性检查可能会失败。有了这个版本,补救脚本与规则描述保持一致,使用 configure_openssl_cryptopolicy
的 SSG 补救不再因为额外的 =
而失败。
postfix_prevent_unrestricted_relay
规则现在接受 =
符号周围的空格
在以前的版本中,SCAP 规则 xccdf_org.ssgproject.content_rule_postfix_prevent_unrestricted_relay
的 OVAL 检查太严格,它不考虑在 =
符号周围包含空格的 postconf
配置赋值语句。因此,即使对技术上满足规则要求的配置,最终报告也将此规则报告为失败。有了此更新,规则被修改了,检查接受 =
符号周围有空格的语句。现在,对于正确的配置语句,最终的报告规则将此规则标记为通过。
SCAP 规则现在正确地评估 /var/log
和 /var/log/audit
分区是否存在
在以前的版本中,一些与 /var/log
和 /var/log/audit
分区相关的 SCAP 规则会被评估和修复,即使合适的磁盘分区不存在。这会影响以下规则:
-
mount_option_var_log_audit_nodev
-
mount_option_var_log_audit_noexec
-
mount_option_var_log_audit_nosuid
-
mount_option_var_log_nodev
-
mount_option_var_log_noexec
-
mount_option_var_log_nosuid
因此,这些规则会被评估,并在最终报告中被错误地报告为失败,即使目录 /var/log
或 /var/log/audit
不是单独分区的挂载点。此更新添加了一个适用性检查,来确定 /var/log
或 /var/log/audit
是否为单个分区的挂载点。因此,当目录不是单个分区的挂载点时,规则不会在配置中被评估,规则在最终报告中被标记为 notapplicable
。
SCAP 规则 accounts_passwords_pam_faillock_interval
现在涵盖新的 STIG ID
在以前的版本中,SCAP 安全指南规则 accounts_passwords_pam_faillock_interval
没有涵盖 RHEL-08-020012 和 RHEL-08-020013。因此,规则 accounts_passwords_pam_faillock_interval
检查所有这三个文件中的 faillock
配置:/etc/pam.d/password-auth
,/etc/pam.d/system-auth
和 /etc/security/faillock.conf
。有了此更新,规则现在涵盖 STIG ID RHEL-08-020012 和 RHEL-08-020013。
Red Hat CVE 源已更新
红帽常见漏洞和披露(CVE)源版本 1 (CVE) https://access.redhat.com/security/data/oval/ 已下架,并被 https://access.redhat.com/security/data/oval/v2/ 的 CVE 源版本 2 所替代。
因此,scap-security-guide
软件包提供的 SCAP 源数据流中的链接已更新为链接到 Red Hat CVE 源的新版本。
wget
工具在访问受限资源时不再使 TLS 握手失败
在以前的版本中,当在 TLS 中启用了基于票据的会话恢复时,wget
工具预期恢复一个 TLS 会话,即使服务器要求客户端重新验证以访问受限资源。这个行为会导致 wget
使第二个 TLS 握手失败。有了此更新,wget
可以正确发起一个新的握手,对受限资源的访问不再失败。
pam_cap
中的设置被正确地应用到 SELinux 的系统
在以前的版本中,SELinux 策略不包含用于 pam_cap
模块的规则。因此,当使用 ssh
或控制台登录时,在/etc/security/capability.conf
配置文件中将 pam_cap
控制的登录功能授予用户无法正常工作。此更新在策略中添加了一个新规则。因此,在 /etc/security/capability.conf
中授予能力现在可以正常工作,登录时会考虑使用 pam_cap
配置的用户能力。
systemd-fsck-root
服务现在在启用了 SELinux 的系统上可以被正确标记
在以前的版本中,/run/fsck
目录是由 systemd-fsck-root
服务或 fsck
命令创建的,但 SELinux 策略不包含用于正确标记目录的规则。因此,systemd-fsck-root
服务无法正常工作。有了此更新,/run/fsck
的正确标签和文件转换被添加到策略中。因此,systemd-fsck-root
服务可以正常工作,而不报告错误。
Bugzilla:2184348[1]
SELinux 策略现在允许 D-Bus 上的双向通信
在以前的版本中,SELinux 策略包含只允许 D-Bus 消息总线系统上两个域之间单向通信的规则。但是,此类通信在两个方向上都必须被允许。当 Pacemaker 高可用性集群资源管理器执行 hostnamectl
或 timedatectl
命令时也会发生这种情况。因此,Pacemaker 执行的这些命令会超时,而没有收到 D-Bus 上的响应,因为 SELinux 阻止了它。对 SELinux 策略的此更新允许 D-Bus 上的双向通信。因此,需要 D-Bus 上双向通信的由 Pacemaker 执行的命令可以成功完成。
tangd-keygen
现在可以正确地处理非默认 umask
在以前的版本中,tangd-keygen
脚本不会更改生成的密钥文件的文件权限。因此,在具有阻止其他用户读取密钥的默认用户文件创建模式掩码(umask
)的系统上,tang-show-keys
命令会返回错误消息 Internal Error 500
,而不是显示密钥。有了这个更新,tangd-keygen
为生成的密钥文件设置文件权限,因此脚本现在可以在具有非默认 umask
的系统上正常工作。
Clevis 现在处理 SHA-256 指纹
在此更新之前,Clevis 客户端无法识别通过 thp
配置选项指定的 SHA-256 指纹。因此,客户端没有绑定到使用 SHA-256 指纹的 Tang 服务器,每个对应的 clevis encrypt tang
命令都会报告一个错误。有了此更新,Clevis 使用 SHA-256 识别指纹,并正确处理它们。因此,Clevis 客户端不仅可以使用 SHA-1 绑定到 Tang 服务器,还可以使用 SHA-256 指纹绑定到 Tang 服务器。
Rsyslog 即使没有能力也可以启动
当 Rsyslog 以普通用户或在容器化环境中执行时,rsyslog
进程没有能力。因此,在这种情况下 Rsyslog 无法丢弃能力,并在启动时退出。有了此更新,如果没有能力,进程不再尝试丢弃能力。因此,Rsyslog 可以启动,即使它没有能力。
Jira:RHELPLAN-160541[1]
fapolicyd
服务不再运行从可信数据库中删除的程序
在以前的版本中,fapolicyd
服务错误地将一个程序作为可信程序处理,即使它已从可信数据库中删除了。因此,输入 fapolicyd-cli --update
命令无效,即使程序被删除了也可以执行。有了此更新,fapolicyd-cli --update
命令可以正确地更新可信程序数据库,删除的程序不再被执行。
fapolicyd
服务现在创建具有正确所有权的 RPM 数据库文件
在以前的版本中,fapolicyd
服务在 /var/lib/rpm/
目录中创建并拥有 RPM 数据库文件。因此,其他程序无法访问文件,这导致可用性控制错误。有了此更新,fapolicyd
创建具有正确所有权的文件,不再发生错误。