8.5. 安全性

即使未定义 RuleFile ,USBGuard 也会保存规则

在以前的版本中,如果在 USBGuard 中设置了 RuleFolder 配置指令,但没有设置 RuleFile,则规则集无法更改。有了这个更新,即使设置了 RulePRESS,但没有设置 RuleFile,您也可以更改规则集。因此,您可以修改 USBGuard 中的永久策略,以永久保存新添加的规则。

Bugzilla:2155910

python-sqlalchemy rebase 到 1.4.45

python-sqlalchemy 软件包已 rebase 至版本 1.4.45,与版本 1.4.37 相比,它提供了很多 bug 修复。最值得注意的是,这个版本包含了对缓存密钥生成中关键内存 bug 的一个修复。

Bugzilla:2152649

crypto-policies 现在为 BIND 禁用了 NSEC3DSA

在以前的版本中,系统范围的加密策略不会控制 BIND 配置中的 NSEC3DSA 算法。因此,在 DNS 服务器上没有禁用不满足当前安全要求的 NSEC3DSA。有了这个更新,所有加密策略默认在 BIND 配置中禁用 NSEC3DSA。

Bugzilla:2152635

SECLEVEL=3 中的 openssl 现在可以与 PSK 密码套件一起使用

在以前的版本中,预共享密钥(PSK)密码套件不被识别为执行完美转发保密(PFS)密钥交换方法。因此,ECDHE-PSKDHE-PSK 密码套件无法与 OpenSSL 一起使用来配置为 SECLEVEL=3 ,例如当系统范围的加密策略被设为 FUTURE 时。openssl 软件包的新版本解决了这个问题。

Bugzilla:2060044

Clevis 现在可以正确跳过 crypttab中注释的设备

在以前的版本中,Clevis 会尝试解锁 crypttab 文件中注释的设备,从而导致即使设备无效,clevis-luks-askpass 服务也会运行。这会导致不必要的服务运行,并很难进行故障排除。

有了这个修复,Clevis 会忽略注释的设备。现在,如果无效的设备被注释掉了,Clevis 不会尝试解锁它,clevis-luks-askpass 会正确完成。这样可以更轻松地排除故障并减少不必要的服务运行。

Bugzilla:2159728

Clevis 不再从 pwmake请求太多的熵

在以前的版本中,当 Clevis 使用 pwmake 创建密码,以在 LUKS 元数据中存储数据时,pwmake 密码生成工具会显示不需要的警告,这会导致 Clevis 使用较低的熵。有了这个更新,Clevis 仅限于为 pwmake 提供的 256 熵位,这消除了不需要的警告,并使用正确的熵数。

Bugzilla:2159735

USBGuard 不再造成混淆的警告

在以前的版本中,当父进程比第一个子进程早完成时,USBGuard 中可能会发生竞争条件。因此,systemd 会报告存在一个具有错误标识的父 PID (PPID)的进程。有了这个更新,父进程会在工作模式下等待第一个子进程完成。因此,systemd 不再报告这样的警告。

Bugzilla:2042345

OOM 终止程序不再过早地终止 usbguard

在以前的版本中,usbguard.service 文件不包含 systemd 服务的 OOMScoreAdjust 选项的定义。因此,当系统资源不足时,usbguard-daemon 进程可能会在其他非特权进程之前被终止。有了这个更新,usbguard.service 文件现在包含 OOMScoreAdjust 设置,这可防止内存不足(OOM)终止程序过早终止 usbguard-daemon 进程。

Bugzilla:2097419

logrotate 不再错误地在日志轮转中发送 Rsyslog 信号

在以前的版本中,logrotate 脚本中参数顺序被错误地设置,这会导致语法错误。这会导致 logrotate 在日志轮转过程中无法正确发送 Rsyslog 信号。

有了这个更新,logrotate 中的参数顺序被修复,即使设置了 POSIXLY_CORRECT 环境变量,在日志轮转后 logrotate 可以正确地发送 Rsyslog 信号。

Bugzilla:2124488

imklog 不再对缺失的对象调用 free()

在以前的版本中,imklog 模块对已经释放的对象调用称为 free() 的函数。因此,imklog 可能会导致分段错误。有了这个更新,对象不再释放两次。

Bugzilla:2157659

fagenrules --load 现在可以正常工作

在以前的版本中,fapolicyd 服务无法正确处理信号挂起 (SIGHUP)。因此,在接收 SIGHUP 后 fapolicyd 终止,fagenrules --load 命令无法正常工作。此更新包含针对此问题的修复。因此,fagenrules --load 现在可以正常工作,规则更新不再需要手动重启 fapolicyd

Bugzilla:2070655

扫描和补救可以正确地忽略 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 字段导致的不一致问题不再发生,审核员可以任意选择这些密钥,以便更轻松地搜索审计日志。

Bugzilla:2120978

在测试访问多个 IMA 测量文件的系统时,Keylime 不再失败

在以前的版本中,如果运行 Keylime 代理的系统快速连续访问由完整性测量架构(IMA)测量的多个文件时,Keylime 验证器会错误地处理 IMA 日志添加。因此,运行的哈希值与正确的平台配置寄存器(PCR)状态不匹配,系统会在测试时失败。这个更新解决了这个问题,快速访问多个测量文件的系统不会再在测试时失败。

Bugzilla:2138167

Keylime 策略生成脚本不再导致分段错误和内核转储

create_mb_refstate 脚本为 Keylime 中测量的引导测试生成策略。在以前的版本中,create_mb_refstate 错误地计算 DevicePath 字段中的数据长度。因此,脚本会尝试使用错误计算的长度访问无效的内存,这会导致分段错误和内核转储。

此更新已在 RHBA-2022:105318-02 公告中发布,在处理测量的引导事件日志时防止分段错误。因此,您可以生成一个测量的引导策略。

Bugzilla:2140670

TPM 证书不再导致 Keylime 注册中心崩溃

在以前的版本中,Keylime TPM 证书存储中的一些证书是格式错误的 x509 证书,并导致 Keylime 注册中心崩溃。这个更新解决了这个问题,Keylime 注册中心不再会因为错误的证书而崩溃。

Bugzilla:2142009