4.2. 安全性
Keylime rebase 到版本 7.3.0
Keylime 软件包已更新至上游版本 7.3.0。这个版本提供各种改进和 bug 修复。最值得注意的是,allow 和 exclude 列表被合并到 Keylime 运行时策略中。您可以使用 convert_runtime_policy.py
脚本合并这两个列表。
另外,更新修复了两个中等影响评级的漏洞: CVE-2023-38200 和 CVE-2023-38201。
Jira:RHEL-476[1]
Keylime 的端口在 SELinux 策略中有严格的规则
Keylime 使用的端口现在在 Keylime SELinux 策略中被标记为 keylime_port_t
。策略现在允许具有此标签的端口的 TCP 连接。这是因为之前的 Keylime SELinux 策略允许连接到所有未定义端口,而且 Keylime 使用的大多数端口也位于 undefined 组中。因此,这个更新会增加 Keylime SELinux 策略的粒度,端口安全性可以更严格,更有针对性。
Jira:RHEL-595[1]
审计现在支持 FANOTIFY
记录字段
这个 audit
软件包的更新引进了对 FANOTIFY
审计记录字段的支持。审计子系统现在在 AUDIT_FANOTIFY
记录中记录其他信息,特别是:
-
指定
FANOTIFY
事件的类型的fan_type
-
指定其他上下文信息的
fan_info
-
指示事件中涉及的主题和对象的信任级别的
sub_trust
和obj_trust
因此,您可以更好地理解为什么在某些情况下审计系统会拒绝访问。这可帮助您为 fapolicyd
框架等工具编写策略。
Jira:RHELPLAN-161087[1]
fapolicyd
现在为故障排除提供规则号
有了这个增强,新的内核和审计组件允许 fapolicyd
服务发送导致拒绝 fanotify
API 的规则号。因此,您可以更精确地对与 fapolicyd
相关的问题进行故障排除。
crypto-policies
现在在 FIPS 模式下为 TLS 1.2 连接提供 NO-ENFORCE-EMS
子策略
系统范围的加密策略现在包含 NO-ENFORCE-EMS
子策略。应用新子策略后,对于在 FIPS 模式下协商的所有 TLS 1.2 连接,系统不再需要 Extended Master Secret (EMS)扩展(RFC 7627)。这可允许系统连接到不支持 EMS 或 TLS 1.3 的旧系统。请注意,这违反了 FIPS-140-3 标准的要求。您可以通过输入 update-crypto-policies --set FIPS:NO-ENFORCE-EMS
来应用子策略。
Bugzilla:2216257[1]
在 FIPS 模式下,GnuTLS 需要带有 TLS 1.2 的 EMS
为了遵守 FIPS-140-3 标准,对于在 FIPS 模式下协商的所有 TLS 1.2 连接,GnuTLS 服务器和客户端需要 Extended Master Secret (EMS)扩展(RFC 7627)。如果您的场景需要保持与不支持 EMS 且无法使用 TLS 1.3 的旧服务器和客户端的兼容性,您可以应用 NO-ENFORCE-EMS
系统范围的加密策略:
# update-crypto-policies --set FIPS:NO-ENFORCE-EMS
如果您允许没有 EMS 的 TLS 1.2 连接,则您的系统将不再满足 FIPS-140-3 要求。
NSS 现在在 FIPS 模式下强制实施 EMS
网络安全服务(NSS)库现在包含 TLS-REQUIRE-EMS
策略,来要求所有 TLS 1.2 连接的 Extended Master Secret (EMS)扩展(RFC 7627),如 FIPS 140-3 标准强制的那样。当系统范围的加密策略被设置为 FIPS
时,NSS 使用新策略。
如果您的场景需要与不支持 EMS 或 TLS 1.3 的旧系统进行交互,您可以应用 NO-ENFORCE-EMS
系统范围的加密策略。此更改违反了 FIPS-140-3 要求。
OpenSSL 现在支持在 FIPS 模式下禁用 EMS
现在,您可以通过编辑 /etc/pki/tls/fips_local.cnf
文件,在 FIPS 模式下将 OpenSSL 加密库配置为允许没有 Extended aster Secret (EMS)扩展(RFC 7627)的 TLS 1.2 连接。在您选择的文本编辑器中,在配置文件中添加以下部分:
[fips_sect] tls1-prf-ems-check = 0 activate = 1
然后,在 /etc/pki/tls/openssl.cnf
文件中找到 SSL 配置部分。默认 SSL 配置部分是 crypto_policy
。在 SSL 配置部分的末尾,添加以下行:
Options=RHNoEnforceEMSinFIPS
以前的配置更改允许 FIPS 模式的系统连接到不支持 EMS 或 TLS 1.3 的旧系统。
您可以通过输入 update-crypto-policies --set FIPS:NO-ENFORCE-EMS
命令来停止在 FIPS 模式下为 TLS 1.2 强制使用 EMS。在这两种情况下,此类配置更改违反了 FIPS-140-3 标准的要求。
Bugzilla:2216256[1]
OpenSSH 进一步强制实施 SHA-2
出于加密目的,作为从不太安全的 SHA-1 消息摘要中进一步迁移努力的一部分,OpenSSH 中进行了以下更改:
-
对
sshd
启动添加了一个检查,检查是否在系统上配置了使用 SHA-1。如果不可用,OpenSSH 不会尝试对操作使用 SHA-1。这可消除在存在 DSS 密钥时加载它们,并在rsa-sha2
组合可用时强制发布这些组合。 - 在 SSH 私钥转换中,OpenSSH 明确使用 SHA-2 测试 RSA 密钥。
-
当 SHA-1 签名在服务器端不可用时,
sshd
使用 SHA-2 来确认主机密钥证明。这可能与 RHEL 8 及更早版本上的客户端不兼容。 - 当客户端上 SHA-1 算法不可用时,OpenSSH 使用 SHA-2。
- 在客户端上,当 SHA-1 在密钥证明请求中使用或未指定哈希算法(假设默认)时,OpenSSH 允许来自服务器的基于 SHA2 的密钥证明。这与 RSA 证书已存在的异常一致,并允许在支持时使用现代算法进行连接。
OpenSSL 现在包含针对类似 Bleichenbacher 的攻击的保护
这个 OpenSSL TLS 工具包发行版本引入了类似对 RSA PKCS #1 v1.5 解密过程的 Bleichenbacher 攻击的保护。如果 RSA 解密在 PKCS #1 v1.5 解密过程中检测到一个错误,则它现在返回一个随机生成的确定性消息,而不是一个错误。这个变化提供了对漏洞的通用保护,如 CVE-2020-25659 和 CVE-2020-25657。
您可以通过对 RSA 解密上下文调用 EVP_PKEY_CTX_ctrl_str (ctx, "rsa_pkcs1_implicit_rejection"."0")
函数来禁用这个保护,但这会使您的系统更易受攻击。
OpenSSL 现在支持通过 Groups
选项配置 Brainpool 曲线
这个 OpenSSL TLS 工具包的更新引进了对 Elliptic Curve Cryptography (ECC)中 Brainpool 曲线的支持。另外,您可以通过 Groups
配置选项使用系统范围的加密策略控制曲线。
OpenSSL ECC 中启用了以下 Brainpool 曲线:
-
brainpoolP256r1
-
brainpoolP256t1
-
brainpoolP320r1
-
brainpoolP320t1
-
brainpoolP384r1
-
brainpoolP384t1
-
brainpoolP512r1
-
brainpoolP512t1
crypto-policies
现在支持 OpenSSL ECC Brainpool 曲线
有了此系统范围加密策略的更新,您现在可以使用 group
选项控制 OpenSSL 中的以下 Brainpool Elliptic Curve Cryptography (ECC)曲线:
-
BRAINPOOL-P256R1
-
BRAINPOOL-P384R1
-
BRAINPOOL-P512R1
.
例如,您可以通过创建一个包含以下行的子策略,来在 OpenSSL 中启用所有支持的 Brainpool elliptic 曲线:
group = BRAINPOOL-*+
Bugzilla:2193324[1]
crypto-policies
现在默认使用与 OpenSSL 相同的组顺序
在这个发行版本中,系统范围的加密策略(crypto-policies
)在 OpenSSL Groups
配置选项中控制组顺序。要在 OpenSSL 中保留性能,crypto-policies
使用与 OpenSSL 内置首选项的顺序匹配的默认组顺序。因此,支持 crypto-policies
控制组顺序的 RHEL 加密后端,如 GnuTLS,现在使用与 OpenSSL 相同的顺序。
Jira:RHEL-591[1]
crypto-policies
permitted_enctypes
不再在 FIPS 模式下破坏复制
在此更新前,运行在 RHEL 8 上的 IdM 服务器发送一个 AES-256-HMAC-SHA-1- 加密服务票据,该票据表示在 FIPS 模式下运行 RHEL 9 的一个 IdM 副本。因此,默认的 permitted_enctypes
krb5
配置破坏了 RHEL 8 IdM 服务器和 FIPS 下 RHEL 9 IdM 副本之间的复制。
这个系统范围的加密策略的更新会重新排序 permitted_enctypes
krb5
配置选项值,以允许默认优先处理更具互操作性的加密类型。因此,permitted_enctypes
配置不再破坏 RHEL 8 IdM 服务器和 FIPS 模式下 RHEL 9 IdM 副本之间的复制。
如果使用 Kerberos,请验证 /etc/crypto-policies/back-ends/krb5.config
文件中 permitted_enctypes
的值的顺序。如果您的场景需要不同的顺序,请应用一个自定义加密子策略。
pcsc-lite-ccid
rebase 到 1.5.2
pcsc-lite-ccid
软件包已更新至版本 1.5.2。此版本提供各种程序错误修复和增强,最重要的是:
- 对新读卡器的支持
- 为 Alcor Micro AU9560 进行了修复
OpenSC
rebase 到 0.23
opensc
软件包已更新至版本 0.23。此版本提供各种程序错误修复和增强,最重要的是:
- 添加了对使用对称密钥的加密和解密的支持
- 添加了对长度超过 512 字节的签名数据的支持
- 默认禁用了旧的卡驱动程序支持
- 删除了对旧驱动程序 MioCOS 和 JCOP 的支持
Jira:RHEL-280[1]
setools
rebase 到 4.4.3
setools
软件包已更新至版本 4.4.3。此版本提供各种程序错误修复和增强,最重要的是:
- 修复了使用 Cython 3.0.0 的编译
- 改进了手册页
-
删除了
sediff
、sesearch
和apol
中未使用的选项 -
在
seinfoflow
命令中添加了-r
选项,以便获得对源类型的流分析 - 没有权限的规则会作为无效策略自动被拒绝
Bugzilla:2231801, Bugzilla:2184140
SELinux 策略中限制的其他服务
此更新将额外的规则添加到限制以下 systemd
服务的 SELinux 策略中:
-
qat
-
systemd-pstore
-
boothd
-
fdo-manufacturing-server
-
fdo-rendezvous-server
-
fdo-client-linuxapp
-
fdo-owner-onboarding-server
因此,这些服务不会再使用 unconfined_service_t
SELinux 标签运行,并可在 SELinux enforcing 模式下成功运行。
Bugzilla:2080443[1], Bugzilla:2026795,Bugzilla:2181565,Bugzilla:2128833
OpenSCAP rebase 到 1.3.8
OpenSCAP 软件包已更新到上游版本 1.3.8。此版本提供各种程序错误修复和增强,最重要的是:
-
修复了
systemd
探测,使其不忽略某些systemd
单元 -
向
shadow
OVAL 探测添加了离线功能 -
向
sysctl
OVAL 探测添加了离线功能 -
向网络文件系统列表中添加了
uristorfs
-
为
autotailor
工具生成的定制文件创建了一个临时解决方案
SCAP 安全指南 rebase 到版本 0.1.69
SCAP 安全指南(SSG)软件包已 rebase 到上游版本 0.1.69。这个版本提供各种改进和 bug 修复。最值得注意的是,它引入了与西班牙国家加密中心于 2022 年 10 月发布的 CCN-STIC-610A22 指南一致的 RHEL 9 的三个新 SCAP 配置文件:
配置文件名称 | 配置文件 ID | 策略版本 |
---|---|---|
CCN Red Hat Enterprise Linux 9 - 高级 |
| 2022-10 |
CCN Red Hat Enterprise Linux 9 - 基本 |
| 2022-10 |
CCN Red Hat Enterprise Linux 9 - 中级 |
| 2022-10 |
ANSSI-BP-028 安全配置文件已更新至版本 2.0
SCAP 安全指南中的以下法国信息系统安全局(ANSSI) BP-028 已更新,以与版本 2.0 保持一致:
- ANSSI-BP-028 最低级别
- ANSSI-BP-028 中间级别
- ANSSI-BP-028 增强级别
- ANSSI-BP-028 高级别
python3-greenlet-devel
现在在 CRB 中 提供
python3-greenlet-devel
软件包现在在 CodeReady Linux Builder (CRB)存储库中提供,您必须明确启用该存储库。如需更多信息,请参阅 如何启用和使用 CodeReady Linux Builder 中的内容 知识库文章。请注意,不支持 CRB 存储库中包含的软件包。
SSG 规则,用来检查 pam_wheel.so
模块使用的组是否已简化
CIS Benchmark 需要限制 su
命令,而使用 sudo
命令。SCAP 安全指南(SSG)通过 pam_wheel.so
模块来满足这个要求,该模块将 su
命令限制到特定的组。此更新改进了检查这个组是否存在且没有成员的规则。因此,规则效率更高,并简化了评估报告的解释。