8.5. 安全性
即使未定义 RuleFile ,USBGuard 也会保存规则
在以前的版本中,如果在 USBGuard 中设置了 RuleFolder 配置指令,但没有设置 RuleFile,则规则集无法更改。有了这个更新,即使设置了 RulePRESS,但没有设置 RuleFile,您也可以更改规则集。因此,您可以修改 USBGuard 中的永久策略,以永久保存新添加的规则。
python-sqlalchemy rebase 到 1.4.45
python-sqlalchemy 软件包已 rebase 至版本 1.4.45,与版本 1.4.37 相比,它提供了很多 bug 修复。最值得注意的是,这个版本包含了对缓存密钥生成中关键内存 bug 的一个修复。
crypto-policies 现在为 BIND 禁用了 NSEC3DSA
在以前的版本中,系统范围的加密策略不会控制 BIND 配置中的 NSEC3DSA 算法。因此,在 DNS 服务器上没有禁用不满足当前安全要求的 NSEC3DSA。有了这个更新,所有加密策略默认在 BIND 配置中禁用 NSEC3DSA。
SECLEVEL=3 中的 openssl 现在可以与 PSK 密码套件一起使用
在以前的版本中,预共享密钥(PSK)密码套件不被识别为执行完美转发保密(PFS)密钥交换方法。因此,ECDHE-PSK 和 DHE-PSK 密码套件无法与 OpenSSL 一起使用来配置为 SECLEVEL=3 ,例如当系统范围的加密策略被设为 FUTURE 时。openssl 软件包的新版本解决了这个问题。
Clevis 现在可以正确跳过 crypttab中注释的设备
在以前的版本中,Clevis 会尝试解锁 crypttab 文件中注释的设备,从而导致即使设备无效,clevis-luks-askpass 服务也会运行。这会导致不必要的服务运行,并很难进行故障排除。
有了这个修复,Clevis 会忽略注释的设备。现在,如果无效的设备被注释掉了,Clevis 不会尝试解锁它,clevis-luks-askpass 会正确完成。这样可以更轻松地排除故障并减少不必要的服务运行。
Clevis 不再从 pwmake请求太多的熵
在以前的版本中,当 Clevis 使用 pwmake 创建密码,以在 LUKS 元数据中存储数据时,pwmake 密码生成工具会显示不需要的警告,这会导致 Clevis 使用较低的熵。有了这个更新,Clevis 仅限于为 pwmake 提供的 256 熵位,这消除了不需要的警告,并使用正确的熵数。
USBGuard 不再造成混淆的警告
在以前的版本中,当父进程比第一个子进程早完成时,USBGuard 中可能会发生竞争条件。因此,systemd 会报告存在一个具有错误标识的父 PID (PPID)的进程。有了这个更新,父进程会在工作模式下等待第一个子进程完成。因此,systemd 不再报告这样的警告。
OOM 终止程序不再过早地终止 usbguard
在以前的版本中,usbguard.service 文件不包含 systemd 服务的 OOMScoreAdjust 选项的定义。因此,当系统资源不足时,usbguard-daemon 进程可能会在其他非特权进程之前被终止。有了这个更新,usbguard.service 文件现在包含 OOMScoreAdjust 设置,这可防止内存不足(OOM)终止程序过早终止 usbguard-daemon 进程。
logrotate 不再错误地在日志轮转中发送 Rsyslog 信号
在以前的版本中,logrotate 脚本中参数顺序被错误地设置,这会导致语法错误。这会导致 logrotate 在日志轮转过程中无法正确发送 Rsyslog 信号。
有了这个更新,logrotate 中的参数顺序被修复,即使设置了 POSIXLY_CORRECT 环境变量,在日志轮转后 logrotate 可以正确地发送 Rsyslog 信号。
imklog 不再对缺失的对象调用 free()
在以前的版本中,imklog 模块对已经释放的对象调用称为 free() 的函数。因此,imklog 可能会导致分段错误。有了这个更新,对象不再释放两次。
fagenrules --load 现在可以正常工作
在以前的版本中,fapolicyd 服务无法正确处理信号挂起 (SIGHUP)。因此,在接收 SIGHUP 后 fapolicyd 终止,fagenrules --load 命令无法正常工作。此更新包含针对此问题的修复。因此,fagenrules --load 现在可以正常工作,规则更新不再需要手动重启 fapolicyd。
扫描和补救可以正确地忽略 SCAP 审计规则审计密钥
在以前的版本中,在没有审计密钥(-k 或 -F 密钥)的情况下定义的审计监控规则可能会遇到以下问题:
- 即使规则的其他部分都正确,该规则也被标记为不合规。
- Bash 补救修复了监视规则的路径和权限,但它没有正确地添加审计密钥。
-
补救有时不能修复缺少的密钥,返回一个
error,而不是固定的值。
这会影响以下规则:
-
audit_rules_login_events -
audit_rules_login_events_faillock -
audit_rules_login_events_lastlog -
audit_rules_login_events_tallylog -
audit_rules_usergroup_modification -
audit_rules_usergroup_modification_group -
audit_rules_usergroup_modification_gshadow -
audit_rules_usergroup_modification_opasswd -
audit_rules_usergroup_modification_passwd -
audit_rules_usergroup_modification_shadow -
audit_rules_time_watch_localtime -
audit_rules_mac_modification -
audit_rules_networkconfig_modification -
audit_rules_sysadmin_actions -
audit_rules_session_events -
audit_rules_sudoers -
audit_rules_sudoers_d
有了这个更新,审计密钥已从检查和 Bash 以及 Ansible 补救中删除。因此,在检查和补救过程中由 key 字段导致的不一致问题不再发生,审核员可以任意选择这些密钥,以便更轻松地搜索审计日志。
在测试访问多个 IMA 测量文件的系统时,Keylime 不再失败
在以前的版本中,如果运行 Keylime 代理的系统快速连续访问由完整性测量架构(IMA)测量的多个文件时,Keylime 验证器会错误地处理 IMA 日志添加。因此,运行的哈希值与正确的平台配置寄存器(PCR)状态不匹配,系统会在测试时失败。这个更新解决了这个问题,快速访问多个测量文件的系统不会再在测试时失败。
Keylime 策略生成脚本不再导致分段错误和内核转储
create_mb_refstate 脚本为 Keylime 中测量的引导测试生成策略。在以前的版本中,create_mb_refstate 错误地计算 DevicePath 字段中的数据长度。因此,脚本会尝试使用错误计算的长度访问无效的内存,这会导致分段错误和内核转储。
此更新已在 RHBA-2023:0309 公告中发布,在处理测量的引导事件日志时防止分段错误。因此,您可以生成一个测量的引导策略。
TPM 证书不再导致 Keylime 注册中心崩溃
在以前的版本中,Keylime TPM 证书存储中的一些证书是格式错误的 x509 证书,并导致 Keylime 注册中心崩溃。这个更新解决了这个问题,Keylime 注册中心不再会因为错误的证书而崩溃。