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 注册中心不再会因为错误的证书而崩溃。