4.7. 安全
新软件包: keylime
RHEL 9.1 引进了 Keylime,这是一个用于测试远程系统的工具,它使用可信平台模块 (TPM) 技术。借助 Keylime,您可以验证并持续监控远程系统的完整性。您还可以指定对被监控的机器提供的加密有效负载,并定义在系统无法进行完整性测试时触发的自动化操作。
如需更多信息,请参阅 RHEL 9 安全强化文档中的浏览系统完整性。
(JIRA:RHELPLAN-92522)
OpenSSH 中的新选项支持设置最小 RSA 密钥长度
意外使用简短的 RSA 密钥可以使系统受到安全攻击的影响。在这个版本中,您可以为 OpenSSH 服务器和客户端设置最小 RSA 密钥长度。要定义最小 RSA 密钥长度,请在 OpenSSH 服务器的 /etc/ssh/sshd_config
文件中使用新的 RequiredRSASize
选项,并在 OpenSSH 客户端的 /etc/ssh/ssh_config
文件中使用新的 RequiredRSASize 选项。
crypto-policies
默认为 OpenSSH 强制 2048 位 RSA 密钥长度
使用短 RSA 密钥会使系统受到安全攻击的影响。因为 OpenSSH 现在支持最小 RSA 密钥长度,所以系统范围的加密策略会默认强制实施 RSA 的 2048 位最小密钥长度。
如果您遇到 OpenSSH 失败并显示 Invalid key length
错误消息,请开始使用较长的 RSA 密钥。
另外,您可以在安全性能方面使用自定义子策略来放宽限制。例如,如果 update-crypto-policies --show
命令报告当前策略为 DEFAULT
:
-
通过将
min_rsa_size@openssh = 1024
参数插入到/etc/crypto-policies/policies/modules/RSA-OPENSSH-1024.pmod
文件来定义自定义子策略。 -
使用
update-crypto-policies --set DEFAULT:RSA-OPENSSH-1024
命令应用自定义子策略。
OpenSSL 中的新选项支持 SHA-1 进行签名
RHEL 9 中的 openssl 3.0.0 不支持 SHA-1 进行签名创建和验证(SHA-1 密钥分离功能(KDF)和基于哈希的消息验证代码(HMAC))。但是,为了与仍使用 SHA-1 进行签名的 RHEL 8 系统向后兼容,RHEL 9 增加了一个新的配置选项 rh-allow-sha1-signatures
。如果在 openssl.cnf
的 alg_section
中启用此选项,允许创建和验证 SHA-1 签名。
如果设置了 LEGACY 系统范围的加密策略(而非传统供应商),则会自动启用这个选项。
请注意,这也会影响安装带有 SHA-1 签名的 RPM 软件包,这可能需要切换到 LEGACY 系统范围的加密策略。
(BZ#2060510, BZ#2055796)
crypto-policies
现在支持 sntrup761x25519-sha512@openssh.com
这个系统范围的加密策略的更新增加了对 sntrup761x25519-sha512@openssh.com
密钥交换 (KEX) 方法的支持。OpenSSH 套件中已经提供了 post-quantum sntrup761
算法,这种方法可以为来自上级计算机的攻击提供更好的安全性。要启用 sntrup761x25519-sha512@openssh.com
,请创建并应用子策略,例如:
# echo 'key_exchange = +SNTRUP' > /etc/crypto-policies/policies/modules/SNTRUP.pmod # update-crypto-policies --set DEFAULT:SNTRUP
如需更多信息,请参阅 RHEL 9 安全强化文档中的使用 subpolicies 自定义系统范围的加密策略。
NSS 不再支持少于 1023 位的 RSA 密钥
网络安全服务(NSS)库的更新将所有 RSA 操作的最小密钥大小从 128 改为 1023 位。这意味着 NSS 不再执行以下功能:
- 生成小于 1023 位的 RSA 密钥。
- 使用小于 1023 位的 RSA 密钥进行签名或验证 RSA 签名。
- 使用小于 1023 位的 RSA 密钥的加密或解密值。
SELinux 策略限制其他服务
selinux-policy
软件包已更新,因此以下服务现在被 SELinux 限制:
-
ksm
-
nm-priv-helper
-
rhcd
-
stalld
-
systemd-network-generator
-
targetclid
-
wg-quick
(BZ#1965013, BZ#1964862, BZ#2020169, BZ#2021131, BZ#2042614, BZ#2053639, BZ#2111069)
SELinux 在类型转换中支持 self
关键字
SELinux 工具现在支持在策略源中使用 self
关键字的类型转换规则。支持使用 self
关键字进行类型转换,准备 SELinux 策略以标记匿名内节点。
SELinux 用户空间软件包已更新
SELinux 用户空间软件包 libsepol
,libselinux
,libsemanage
,policycoreutils
,checkpolicy
, 和 mcstrans
更新为最新的上游版本 3.4。最显著的更改有:
添加了对通过
setfiles
、restorecon
和fixfiles
工具中的-T
选项并行重新标记的支持。-
您可以在这个选项中指定进程线程数量,或使用
-T 0
来使用最大可用处理器内核。这可显著减少重新标记所需的时间。
-
您可以在这个选项中指定进程线程数量,或使用
-
添加了新的
--checksum
选项,该选项会输出模块的 SHA-256 哈希。 -
在
libsepol-utils
软件包中添加了新的策略实用程序。
SELinux 自动重新标记现在默认并行
因为新引入的并行重新标记选项可显著减少在多核系统上 SELinux 重新标记进程所需的时间,所以自动重新标记脚本现在包含 fixfiles
命令行中的 -T 0
选项。t 0
选项确保 setfiles
程序默认使用最大可用处理器内核重新标记。
如象以前的 RHEL 一样对重新标记只使用一个处理线程,输入 fixfiles -T 1 onboot
命令而不是 fixfiles onboot
,或使用 echo "-T 1" > /.autorelabel
命令而不是 touch /.autorelabel
。
SCAP 安全指南 rebase 到 0.1.63
SCAP 安全指南(SSG)软件包已更新到上游版本 0.1.63。此版本提供各种改进和程序错误修复,最重要的是:
-
添加了
sysctl
、grub2
、pam_pwquality
的新合规性规则以及构建时间内核配置。 -
强化 PAM 堆栈的规则现在使用
authselect
作为配置工具。注意:如果以其他方式编辑 PAM 堆栈,则通过此修改,将不会应用强化 PAM 堆栈的规则。
为 Rsyslog 错误文件添加了一个最大大小选项
使用新的 action.errorfile.maxsize
选项,您可以为 Rsyslog 日志处理系统指定错误文件的最大字节数。当错误文件达到指定大小时,Rsyslog 无法在其中写入额外的错误或其他数据。这可防止错误文件填满文件系统,并使主机不可用。
clevis-luks-askpass
现在被默认启用
/lib/systemd/system-preset/90-default.preset
文件现在包含 enable clevis-luks-askpass.path
配置选项,并且 clevis-systemd
子软件包的安装确保 clevis-luks-askpass.path
单元文件被启用。这使 Clevis 加密客户端也可解锁在引导过程后期挂载的 LUKS 加密的卷。在此次更新之前,管理员必须使用 systemctl enable clevis-luks-askpass.path
命令来使 Clevis 解锁此类卷。
fapolicyd
rebase 到 1.1.3
fapolicyd
软件包已升级到版本 1.1.3。主要改进和 bug 修复包括:
- 规则现在可以包含新的主题 PPID 属性,该属性与主题的父 PID (进程 ID)匹配。
- OpenSSL 库代替了 Libgcrypt 库,来作为哈希计算的加密引擎。
-
fagenrules --load
命令现在可以正常工作。