4.2. 安全性
NSS rebase 到 3.101
NSS 加密工具包软件包已更新到上游版本 3.101,它提供很多程序错误修复和增强。最显著的更改如下:
- 现在,支持 DTLS 1.3 协议(RFC 9147)。
- PBMAC1 支持已被添加到 PKCSGRESS (RFC 9579)。
-
X25519Kyber768Draft00 混合子密钥协议具有实验性支持(
draft-tls-westerbaan-xyber768d00
)。 -
lib::pkix
是 RHEL 10 中的默认验证器。 - RSA 证书带有小于 2048 位的密钥停止工作,根据系统范围的加密策略(破坏修复)。
Jira:RHEL-46840[1]
libreswan 接受 IPv6 SAN 扩展
在以前的版本中,当使用一个包含带有 IPv6 地址的 subjectAltName (SAN)扩展的证书设置基于证书的身份验证时,IPsec 连接会失败。有了这个更新,pluto
守护进程已被修改为接受 IPv6 SAN 和 IPv4。现在,IPsec 连接会被正确建立,使用嵌入在证书中的 IPv6 地址作为 ID。
Jira:RHEL-32720[1]
ssh-keygen
中的自定义密钥大小
现在,您可以通过在 /etc/sysconfig/sshd
环境文件中设置环境变量 SSH_RSA_BITS
和 SSH_ECDSA_BITS
来配置 /usr/libexec/openssh/sshd-keygen
脚本生成的密钥大小。
Jira:RHEL-26454[1]
在启用 FIPS 模式前,在打开 LUKS 卷中使用 Argon2 KDF 的 FIPS-mode-setup
检查
fips-mode-setup
系统管理命令现在会检测当前打开 LUKS 卷中使用的密钥派生功能(KDF),如果它检测到 Argon2 KDF 的使用,则会中止。这是因为 Argon2 KDF 不兼容 FIPS,因此防止其使用有助于确保 FIPS 合规性。因此,在使用 Argon2 作为 KDF 的打开 LUKS 卷的系统中切换到 FIPS 模式会被阻断,直到这些卷关闭或转换为不同的 KDF。
新的 SELinux 布尔值,以允许 QEMU 客户机代理执行受限命令
在以前的版本中,应该通过 QEMU 客户机代理守护进程程序在受限上下文中执行的命令,如 mount
失败,并显示 Access Vector Cache (AVC) denial。要能够执行这些命令,guest-agent
必须在 virt_qemu_ga_unconfined_t
域中运行。
因此,这个更新添加了 SELinux 策略布尔值 virt_qemu_ga_run_unconfined
,它允许 guest-agent
为以下目录中的可执行文件转换为 virt_qemu_ga_unconfined_t
:
-
/etc/qemu-ga/fsfreeze-hook.d/
-
/usr/libexec/qemu-ga/fsfreeze-hook.d/
-
/var/run/qemu-ga/fsfreeze-hook.d/
另外,qemu-ga
守护进程的转换的必要规则已添加到 SELinux 策略布尔值中。
因此,您现在可以通过启用 virt_qemu_ga_run_unconfined
布尔值,通过没有 AVC 拒绝的 QEMU 客户机代理执行受限命令。
openssl rebase 到 3.2.2
OpenSSL 软件包已更新到上游版本 3.2.2。这个版本提供了各种改进和程序错误修复,最重要的是:
-
带有 the
-extensions
选项的openssl req
命令不会在创建证书签名请求(CSR)时错误处理扩展。在以前的版本中,命令获取、解析并检查配置文件部分的名称,以实现一致性,但不用于在创建的 CSR 文件中添加扩展。在这个版本中,扩展被添加到生成的 CSR。作为此更改的副作用,如果部分指定了与 CSR 中使用的扩展不兼容的扩展,命令可能会失败,并显示 error:11000080:X509 V3 routines:X509V3_EXT_nconf_int:error in extension:crypto/x509/v3_conf.c:48:section=server_cert, name=authorityKeyIdentifier, value=keyid, value=keyid, issuer:always
. -
默认的 X.500 可分辨名称(DN)格式已改为使用 UTF-8 格式器。这也会导致删除等于符号(
=
)之间的空格字符,该字符将 DN 元素类型与其值分开。 - 现在支持证书压缩扩展(RFC 8879)。
- QUIC 协议现在可以在客户端上作为技术预览使用。
- 支持 Argon2d、Argon2i 和 Argon2id 密钥派生函数(KDF)。
- Brainpool curves 已添加到 TLS 1.3 协议(RFC 8734)中,但 Brainpool curves 在所有支持的系统范围的加密策略中都被禁用。
crypto-policies
在 Java 中提供算法选择
crypto-policies
软件包已更新,以将其控制权扩展到 Java 中的算法选择。这是因为 Java 加密的灵活性配置和 加密策略
的演进需要捕获为更一致的系统范围配置提供更好的映射。具体来说,更新有以下变化:
-
DTLS 1.0 现在由
protocol
选项控制,默认是禁用的,并可使用protocol@java = DTLS1.0+
范围指令重新启用。 -
anon
和NULL
ciphersuites 现在由cipher@java = NULL
和 disabled 控制。 -
签名算法列表现在由
sign@java
scoped 指令控制,并与系统范围的默认值保持一致。 -
签名算法列表现在由
sign
选项控制,并与系统范围的默认值保持一致。如果需要,您可以重新启用带有sign@java = <algorithm1>+ <algorithm2>+
scoped 指令的 Java 的算法。 - 小于 256 位的 Elliptic curve (EC)键会被无条件地禁用,以匹配上游指导。
因此,默认允许与系统范围的默认值匹配的加密算法列表。有关互操作性的详情,请查看 /etc/crypto-policies/back-ends/java.config
文件,并相应地配置您的活跃加密策略。
Jira:RHEL-45620[1]
Centos Stream 10 的 selinux-policy
git 存储库现在可以公开访问
现在,CentOS Stream 贡献者可以通过贡献 fedora-selinux/selinux-policy
git 存储库的 c10s
分支参与 SELinux 策略的开发。
clevis
rebase 到版本 20
clevis
软件包已升级到版本 20。最显著的改进和修复包括:
-
通过在
clevis luks
命令、udisks2
集成和 Shamir 的 Secret Sharing (SSS)阈值方案中修复静态分析器工具报告的潜在问题来提高安全性。 -
密码生成现在使用
jose
工具,而不是pwmake
。这样可确保在 Clevis 绑定步骤中生成的密码有足够的熵。
ca-certificates
以 OpenSSL 目录格式提供可信 CA root
在这个版本中,使用可信 CA root 证书填充 /etc/pki/ca-trust/extracted/pem/directory-hash/
目录。因此,当 OpenSSL 配置为从此目录加载证书时,查找和验证速度更快,例如,通过将 SSL_CERT_DIR
环境变量设置为 /etc/pki/ca-trust/extracted/pem/directory-hash/
。
Jira:RHEL-21094[1]
nbdkit
服务受 SELinux 限制
nbdkit-selinux
子软件包向 SELinux 策略添加新规则,因此 nbdkit
在 SELinux 中限制。因此,运行 nbdkit
的系统对权限升级攻击更具弹性。
libreswan
rebase 到 4.15
libreswan
软件包已更新到上游版本 4.15。与之前版本 4.9 相比,这个版本提供了显著改进。
-
删除了通过
libsystemd
的对libxz
的依赖项。 -
在 IKEv1 中,对于 Encapsulating Security Payload (ESP)和
sha1
for Authentication Header (AH)被设置为aes-sha1
。 - IKEv1 拒绝 ESP 提议,它将经过身份验证的加密与关联数据(AEAD)和非空 INTEG 合并。
- 当连接没有提议时,IKEv1 会拒绝交换。
IKEv1 现在有一个比较有限的默认 cryptosuite:
IKE={AES_CBC,3DES_CBC}-{HMAC_SHA2_256,HMAC_SHA2_512HMAC_SHA1}-{MODP2048,MODP1536,DH19,DH31} ESP={AES_CBC,3DES_CBC}-{HMAC_SHA1_96,HMAC_SHA2_512_256,HMAC_SHA2_256_128}-{AES_GCM_16_128,AES_GCM_16_256} AH=HMAC_SHA1_96+HMAC_SHA2_512_256+HMAC_SHA2_256_128
-
libcap-ng
库的故障不再是致命的。 -
现在,在
pluto
实用程序中为 AEAD 算法设置了 TFC padding。
Jira:RHEL-50006[1]
Jose
rebase 到版本 14
jose
软件包已升级至上游版本 14。Jose
是 Javascript 对象签名和加密(JOSE)标准的 C-language 实施。最重要的改进和修复包括:
-
改进了 OpenSSL 中
oct
JWK Type 的len
函数的绑定检查。 -
受保护的 JSON Web 加密(JWE)标头不再包含
zip
。 -
Jose
避免使用高解压缩块来避免潜在的拒绝服务(DoS)攻击。
从 SELinux permissive 模式中删除了四个 RHEL 服务
RHEL 服务的以下 SELinux 域已从 SELinux permissive 模式中删除:
-
afterburn_t
-
bootupd_t
-
mptcpd_t
-
rshim_t
在以前的版本中,最近添加到 RHEL 9 的软件包中的这些服务临时设置为 SELinux permissive 模式,允许在系统的其余部分处于 SELinux enforcing 模式时收集有关附加拒绝的信息。现在,这个临时设置已被删除,因此这些服务现在在 SELinux 的 enforcing 模式下运行。
bootupd
服务受 SELinux 限制
bootupd
服务支持更新引导装载程序,因此需要限制。这个对 SELinux 策略的更新会添加额外的规则,因此 bootupd
服务在 bootupd_t
SELinux 域中运行。