4.2. 安全性
NSS rebase 到 3.101
NSS 加密工具包软件包已 rebase 到上游版本 3.101,它提供很多 bug 修复和增强。最显著的更改如下:
- 现在支持 DTLS 1.3 协议(RFC 9147)。
- PBMAC1 支持已添加到 PKCS#12 (RFC 9579)。
-
X25519Kyber768Draft00 混合后量子密钥协议有实验性的支持(
draft-tls-westerbaan-xyber768d00
)。 -
lib::pkix
是 RHEL 10 中的默认验证器。 - 根据系统范围的加密策略(重大修复),具有小于 2048 位密钥的 RSA 证书停止工作。
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 模式前,fips-mode-setup
检查打开的 LUKS 卷中 Argon2 KDF 的使用
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 软件包已 rebase 到上游版本 3.2.2。此更新提供了各种改进和 bug 修复,最重要的是:
-
带有
-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, issuer:always
。 -
默认的 X.500 可分辨名称(DN)格式已改为使用 UTF-8 格式。这也会导致删除将 DN 元素类型与其值分开的等号(
=
)两边的空格字符。 - 现在支持证书压缩扩展(RFC 8879)。
- QUIC 协议现在可以在客户端作为技术预览使用。
- 支持 Argon2d、Argon2i 和 Argon2id 密钥派生功能(KDF)。
- Brainpool 曲线已添加到 TLS 1.3 协议(RFC 8734)中,但 Brainpool 曲线在所有支持的系统范围加密策略中保持禁用。
crypto-policies
在 Java 中提供算法选择
crypto-policies
软件包已更新,来将其控制权扩展到 Java 中的算法选择。这是由 Java 加密敏捷性配置的演变和需要跟上的 加密策略
而引起的,以便为更一致的系统范围配置提供更好的映射。具体来说,更新有以下变化:
-
DTLS 1.0 现在由
protocol
选项控制,默认被禁用,可使用protocol@java = DTLS1.0+
范围的指令重新启用。 -
anon
和NULL
密码套件现在由cipher@java = NULL
控制,并默认被禁用。 -
签名算法列表现在由
sign@java
范围的指令控制,并与系统范围的默认值保持一致。 -
签名算法列表现在由
sign
选项控制,并与系统范围的默认值保持一致。如果需要,您可以使用带有sign@java = <algorithm1>+ <algorithm2>+
范围的指令的 Java 重新启用所需算法的使用。 - 小于 256 位的椭圆曲线(EC)密钥被无条件地禁用,以与上游指导保持一致。
因此,默认允许加密算法的列表与 Java 一起使用,来更好地匹配系统范围的默认值。有关互操作性的详情,请查看 /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
软件包已 rebase 到上游版本 4.15。与之前发行版中提供的版本 4.9 相比,此版本提供了显著改进。
-
通过
libsystemd
删除了对libxz
的依赖。 -
在 IKEv1 中,默认的提议已为 Encapsulating Security Payload (ESP)设置为
aes-sha1
,为 Authentication Header (AH)设置为sha1
。 - IKEv1 拒绝将经过身份验证的加密与关联数据(AEAD)和非空 INTEG 合并的 ESP 提议。
- 当连接没有提议时,IKEv1 拒绝交换。
IKEv1 现在有一个更有限的默认密码套件:
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 填充。
Jira:RHEL-50006[1]
jose
rebase 到版本 14
jose
软件包已升级至上游版本 14。jose
是 Javascript 对象签名和加密(JOSE)标准的一种 C 语言实现。最重要的改进和修复包括:
-
改进了对 OpenSSL 中
oct
JWK 类型的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 域中运行。