4.6. 安全性
libreswan rebase 到 4.9
libreswan
软件包已升级到版本 4.9。与以前版本相比的显著变化包括:
-
支持
addconn
和whack
工具的{left,right}pubkey=
选项 - KDF 自检
显示主机的身份验证密钥(
showhostkey
):- 支持 ECDSA 公钥
-
新的
--pem
选项,以打印 PEM 编码的公钥
互联网密钥交换协议版本 2 (IKEv2):
- 可扩展的身份验证协议 - 传输层安全(EAP-TLS)支持
- 仅支持 EAP 身份验证
pluto
IKE 守护进程:-
支持
maxbytes
和maxpacket
计数器
-
支持
Bugzilla:2128669
OpenSSL rebase 到 3.0.7
OpenSSL 软件包已更新至版本 3.0.7,其中包含各种 bug 修复和增强。最值得注意的是,默认供应商现在包含 RIPEMD160
哈希函数。
libssh
现在支持智能卡
现在,您可以通过公钥加密标准(PKCS)#11 统一资源标识符(URI)使用智能卡。因此,您可以将智能卡与 libssh
SSH 库以及使用 libssh
的应用程序一起使用。
libssh
rebase 到 0.10.4
用于实现安全远程访问和机器间文件传输的 SSH 协议的 libssh
库已更新至版本 0.10.4。
新特性:
- 添加了对 OpenSSL 3.0 的支持。
- 添加了对智能卡的支持。
-
添加了两个新的配置选项
IdentityAgent
和ModuliFile
。
其他显著变化包括:
- 不再支持比 1.0.1 早的 OpenSSL 版本
- 默认情况下,数字签名算法(DSA)支持已载构建时禁用。
- SCP API 已被弃用。
-
pubkey
和privatekey
API 已被弃用。
SELinux user-space 软件包已更新至 3.5
SELinux user-space 软件包 libselinux
、libsepol
、libsemanage
、checkpolicy
、mcstrans
和 policycoreutils
,其包含 sepolicy
工具,已更新至版本 3.5。主要改进和程序错误修复包括:
sepolicy
工具:- 在手册页中添加了缺失的布尔值
- 多个 Python 和 GTK 更新
-
添加了对
libselinux
的临时解决方案,它减少了PCRE2
库的堆内存使用率 libsepol
软件包:- 拒绝了内核策略的类型 AV 规则中的属性
- 不再写入空类定义,其允许更简单的往返测试
- 更严格的策略验证
-
fixfiles
脚本卸载SIGINT
信号上的临时绑定挂载 - 修复了很多代码和拼写错误
-
删除了对已弃用的 Python 模块
distutils
和使用 PIP 的安装的依赖项 -
semodule
选项--rebuild-if-modules-changed
重命名为--refresh
- 为生成的描述更新了翻译,并改进了对不支持的语言的处理
- 修复了很多静态代码分析 bug、模糊问题和编译器警告
Bugzilla:2145224, Bugzilla:2145228, Bugzilla:2145229, Bugzilla:2145226, Bugzilla:2145230, Bugzilla:2145231
OpenSCAP rebase 到 1.3.7
OpenSCAP 软件包已 rebase 到上游版本 1.3.7。此版本提供各种程序错误修复和增强,最重要的是:
- 修复了处理 OVAL 过滤器时的错误(RHBZ#2126882)
-
如果 XPath 不匹配,OpenSCAP 不再发出无效的空
xmlfilecontent
项(RHBZ#2139060) -
防止
Failed to check available memory
错误(RHBZ#2111040)
SCAP 安全指南 rebase 到 0.1.66
SCAP 安全指南(SSG)软件包已 reb ase到上游版本 0.1.66。此版本提供各种改进和程序错误修复,最重要的是:
- 新的 CIS RHEL9 配置文件
-
弃用规则
account_passwords_pam_faillock_audit
,而使用accounts_passwords_pam_faillock_audit
新的用于闲置会话终止的 SCAP 规则
新的 SCAP 规则 logind_session_timeout
已添加到用于增强和高级别的 ANSSI-BP-028 配置文件中的 scap-security-guide
软件包中。此规则使用 systemd
服务管理器的新功能,并在一定时间后终止闲置用户会话。此规则提供多个安全策略所需的健壮的空闲会话终止机制的自动配置。因此,OpenSCAP 可以自动检查与终止闲置用户会话相关的安全要求,如有必要,修复它。
Rsyslog 日志文件的 scap-security-guide
规则与 RainerScript 日志兼容
scap-security-guide
中用于检查和修复 Rsyslog 日志文件的所有权、组所有权和权限的规则现在也与 RainerScript 语法兼容。现代系统已在 Rsyslog 配置文件中使用 RainerScript 语法,相应的规则无法识别此语法。因此,scap-security-guide
规则现在在两种可用语法中可以检查并修复 Rsyslog 日志文件的所有权、组所有权和权限。
Keylime rebase 到 6.5.2
keylime
软件包已 rebase 至上游版本 - keylime-6.5.2-5.el9。这个版本包含各种改进和 bug 修复,最重要的是:
- 解决了漏洞 CVE-2022-3500
- 当一个脚本在另一个之后快速执行时,Keylime 代理不再会无法通过 IMA 认证 RHBZ#2138167。
-
修复了
/usr/share/keylime/create_mb_refstate
脚本 RHBZ#2140670 中的分段错误 -
当启用了
require_ek_cert
选项时,注册中心不再会在 EK 验证过程中崩溃 RHBZ#2142009
Clevis 接受外部令牌
随着新的 -e
选项引入到 Clevis 自动加密工具,您可以提供一个外部令牌 ID,以避免在 cryptsetup
过程中输入密码。此功能使配置过程更加自动化、方便,特别是对于使用 Clevis 的软件包(如 stratis
)等非常有用。
Rsyslog TLS 加密的日志现在支持多个 CA 文件
使用新的 NetstreamDriverCaExtraFiles
指令,您可以为 TLS 加密的远程日志记录指定额外的证书颁发机构(CA)文件的列表。请注意,新指令仅适用于 ossl
(OpenSSL) Rsyslog 网络流驱动程序。
Rsyslog 权限是有限制的
Rsyslog 日志处理系统的权限现在仅限于 Rsyslog 明确所需的权限。这可最小化在输入资源(如网络插件)中出现潜在的错误时,最大限度地减少安全风险。因此,Rsyslog 具有相同的功能,但没有不必要的特权。
SELinux 策略允许 Rsyslog 在启动时丢弃特权
因为 Rsyslog 日志处理系统的特权现在被限制为最大程度减少安全风险(RHBZ#2127404),所以 SELinux 策略已被更新,以允许 rsyslog
服务在启动时丢弃特权。
Tang 现在使用 systemd-sysusers
Tang 网络呈现服务器现在通过 systemd-sysusers
服务,而不是包含 useradd
命令的 shell 脚本来添加系统用户和组,。这简化了系统用户列表的检查,您还可以通过提供具有更高优先级的 sysuser.d
文件来覆盖系统用户的定义。
opencryptoki
rebase 到 3.19.0
opencryptoki
软件包已 rebase 至版本 3.19.0,它提供很多改进和 bug 修复。最值得注意的是, opencryptoki
现在支持以下功能:
- 特定于 IBM 的 Dilithium 密钥
- 双功能加密函数
-
使用新的
C_SessionCancel
函数取消基于活跃会话的操作,如 PKCS#11 Cryptographic Token Interface Base Specification v3.0 中所述 -
通过
CKM_IBM_ECDSA_OTHER
机制的 Schnorr 签名 -
通过
CKM_IBM_BTC_DERIVE
机制的比特币密钥派生 - IBM z16 系统中的 EP11 令牌
Bugzilla:2110314
SELinux 现在限制 mptcpd
和 udftools
有了这个 selinux-policy
软件包的更新,SELinux 会限制以下服务:
-
mptcpd
-
udftools
Bugzilla:1972222
fapolicyd 现在提供对 RPM 数据库的过滤
使用新的配置文件 /etc/fapolicyd/rpm-filter.conf
,您可以自定义 fapolicyd
软件框架存储在信任数据库中的 RPM-database 文件的列表。这样,您可以阻止 RPM 安装的某些应用程序,或者允许被默认的配置过滤器拒绝的应用程序。
Jira:RHEL-192
GnuTLS 可以在解密和加密过程中添加和删除填充
在解密和加密过程中,某些协议的实现需要 PKCS#7 填充。gnutls_cipher_encrypt3
和 gnutls_cipher_decrypt3
块密码函数已添加到 GnuTLS 中,以透明地处理填充。因此,如果原始纯文本的长度不是块大小的倍数,则您现在可以将这些函数与 GNUTLS_CIPHER_PADDING_PKCS7
标志结合使用,以自动添加或删除填充。
NSS 不再支持少于 1023 位的 RSA 密钥
网络安全服务(NSS)库的更新将所有 RSA 操作的最小密钥大小从 128 位改为 1023 位。这意味着 NSS 不再执行以下功能:
- 生成大于 1023 位的 RSA 密钥。
- 使用 RSA 密钥签名或验证 RSA 签名少于 1023 位。
- 使用 RSA 密钥加密或解密值少于 1023 位。
现在,在启用了 FIPS 的系统上强制 Extended Master Secret
TLS 扩展
随着 RHSA-2023:3722 公告的发布,在启用了 FIPS 的 RHEL 9 系统上,对 TLS 1.2 连接强制Extended Master Secret
(EMS)扩展 (RFC 7627) 。这符合 FIPS-140-3 要求。TLS 1.3 不受影响。
不支持 EMS 或 TLS 1.3 的旧客户端现在无法连接到运行在 RHEL 9 上的 FIPS 服务器。同样,FIPS 模式下的 RHEL 9 客户端无法连接到只支持没有 EMS 的 TLS 1.2 服务器。在实践中意味着这些客户端无法连接到 RHEL 6、RHEL 7 和非 RHEL 传统操作系统上的服务器。这是因为传统的 OpenSSL 1.0.x 版本不支持 EMS 或 TLS 1.3。
另外,如果 hypervisor 使用没有 EMS 的 TLS 1.2,则从启用了 FIPS 的 RHEL 客户端连接到 hypervisor (如 VMWare ESX)现在会失败,并显示 Provider routines::ems not enabled
错误。要临时解决这个问题,请更新 hypervisor 以支持带有 EMS 扩展的 TLS 1.3 或 TLS 1.2。对于 VMWare vSphere,这意味着版本 8.0 或更高版本。
如需更多信息,请参阅 使用 Red Hat Enterprise Linux 9.2 强制执行的 TLS 扩展 "Extended Master Secret" 。