11.6. 安全性
tangd-keygen
无法正确处理非默认的 umask
tangd-keygen
脚本不会更改生成的密钥文件的文件权限。因此,在具有阻止向其他用户读取密钥的默认用户文件创建模式掩码(umask
)的系统上,tang-show-keys
命令会返回错误消息 Internal Error 500
,而不是显示密钥。
要临时解决这个问题,请使用 chmod o+r *.jwk
命令更改 /var/db/tang
目录中的文件的权限。
sshd -T
提供关于 Ciphers、MAC 和 KeX 算法的不准确的信息
sshd -T
命令的输出不包含系统范围的加密策略配置或可能来自于环境文件 /etc/sysconfig/sshd
的其他选项,它们作为 sshd
命令的参数被应用。这种情况的发生是因为上游 OpenSSH 项目不支持 Include 指令,以支持 RHEL 8 中红帽提供的加密默认值。在使用 EnvironmentFile
启动sshd.service
单元服务的过程中,加密策略作为命令行参数被应用到 sshd
可执行文件中。要临时解决这个问题,请对环境文件使用 source
命令,并将加密策略作为参数传给 sshd
命令,如 sshd -T $CRYPTO_POLICY
。如需更多信息,请参阅 Ciphers、MAC 或 KeX 算法与 sshd -T
的不同,以了解当前加密策略级别所提供的内容。因此,sshd -T
的输出与当前配置的加密策略匹配。
Bugzilla:2044354
在安装过程中强化系统时,RHV hypervisor 可能无法正常工作
安装 Red Hat Virtualization Hypervisor(RHV-H),并应用 Red Hat Enterprise Linux 8 STIG 配置文件时,OSCAP Anaconda Add-on 可将系统强化为 RHEL 而不是 RVH-H ,并删除 RHV-H 的基本软件包。因此,RHV hypervisor 可能无法工作。要临时解决这个问题,请在不应用任何配置文件强化的情况下安装 RHV-H 系统,并在安装完成后使用 OpenSCAP 来应用配置文件。因此,RHV hypervisor 可以正常工作。
CVE OVAL 提要现在仅采用压缩格式,并且数据流不采用 SCAP 1.3 标准
红帽提供 bzip2 压缩格式的 CVE OVAL 提要,且不再以 XML 文件格式提供。因为引用压缩的内容没有在安全内容自动化协议(SCAP) 1.3 规范中标准化,所以第三方 SCAP 扫描程序可能在扫描使用提要的规则时有问题。
某些 Rsyslog 优先级字符串无法正常工作
对允许对加密进行精细控制的 imtcp
的 GnuTLS 优先级字符串的支持不完整。因此,以下优先级字符串无法在 Rsyslog 远程日志记录应用程序中正常工作:
NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+DHE-RSA:+AES-256-GCM:+SIGN-RSA-SHA384:+COMP-ALL:+GROUP-ALL
要临时解决这个问题,请只使用正确的优先级字符串:
NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+ECDHE-RSA:+AES-128-CBC:+SIGN-RSA-SHA1:+COMP-ALL:+GROUP-ALL
因此,当前的配置必须仅限于可正常工作的字符串。
Server with GUI
和 Workstation
安装可能无法使用 CIS 服务器配置文件
CIS Server Level 1 和 Level 2 安全配置文件与 Server with GUI
和 Workstation
软件选择不兼容。因此,无法使用 Server with GUI
软件选择和 CIS Server 配置文件进行 RHEL 8 安装。使用 CIS Server Level 1 或 Level 2 配置以及这些软件选择之一尝试安装会产生错误信息:
package xorg-x11-server-common has been added to the list of excluded packages, but it can't be removed from the current software selection without breaking the installation.
如果您需要根据 CIS 基准使系统与 Server with GUI
或 Workstation
软件选择保持一致,请使用 CIS Workstation Level 1 或 Level 2 配置文件。
Kickstart 在 RHEL 8 中使用 org_fedora_oscap
而不是 com_redhat_oscap
Kickstart 将 Open Security Content Automation Protocol(OSCAP)Anaconda 附加组件引用为 org_fedora_oscap
而不是 com_redhat_oscap
,后者可能会导致混淆。对于保持与 Red Hat Enterprise Linux 7 的兼容性,这是必需的。
Bugzilla:1665082
libvirt
overrides xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_forwarding
当具有 route
或 nat
转发模式的虚拟网络启动时,libvirt
虚拟化框架都会启用 IPv4 转发。这会通过 xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_forwarding
规则覆盖配置,后续合规性扫描在评估此规则时会报告fail
结果。
应用其中一个场景来临时解决这个问题:
-
如果您的场景不需要,请卸载
libvirt
软件包。 -
更改
libvirt
创建的虚拟网络的转发模式。 -
通过定制您的配置文件来删除
xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_forwarding
规则。
FIPS 模式中的 openssl 只接受特定的 D-H 参数
在 FIPS 模式中,使用 OpenSSL 的 TLS 客户端返回一个bad dh value
错误,并中止与使用手动生成参数的服务器的 TLS 连接。这是因为 OpenSSL 当配置为符合 FIPS 140-2 时,只可用于符合 NIST SP 800-56A rev3 附加 D(RFC 3526 中定义的组 14、15、16、17 和 18,以及 RFC 7919)中定义的组。另,,使用 OpenSSL 的服务器会忽略所有其他参数,并选择类似大小的已知参数。要临时解决这个问题,请只使用兼容的组。
Bugzilla:1810911
crypto-policies
错误地允许 Camellia 密码
RHEL 8 系统范围的加密策略应该在所有策略级别禁用 Camellia 密码,如产品文档中所述。但是 Kerberos 协议默认启用密码。
要临时解决这个问题,请应用 NO-CAMELLIA
子策略:
# update-crypto-policies --set DEFAULT:NO-CAMELLIA
在上一个命令中,如果您已经从 DEFAULT
切换,那么将 DEFAULT
替换为加密级名称。
因此,只有在您通过临时解决方案禁用系统范围的加密策略的所有应用程序中,Camellia 密码才会被正确禁止。
OpenSC 可能无法正确检测 CardOS V5.3 卡对象
OpenSC 工具包无法正确检测使用 CardOS V5.3 系统的智能卡的序列号。因此,pkcs11-tool
工具可能无法列出卡对象。
要临时解决这个问题,请在 /etc/opensc.conf
文件中设置'use_file_caching = false' 选项来关闭文件缓存。
通过 OpenSC pkcs15-init
的智能卡配置过程无法正常工作
file_caching
选项在默认的 OpenSC 配置中是启用的,文件缓存功能无法正确处理pkcs15-init
工具中的一些命令。因此,通过 OpenSC 进行智能卡置备过程会失败。
要临时解决这个问题,请在 /etc/opensc.conf
文件中添加以下代码段:
app pkcs15-init { framework pkcs15 { use_file_caching = false; } }
只有在应用了前面描述的临时解决方案时,通过 pkcs15-init
进行智能卡配置才能正常工作。
到带有 SHA-1 签名的服务器的连接无法使用 GnuTLS
GnuTLS 安全通讯库以 insecure 形式拒绝 SHA-1 证书签名。因此,使用 GnuTLS 作为 TLS 后端的应用程序无法建立与提供此类证书的对等的 TLS 连接。这个行为与其他系统加密库不一致。
要临时解决这个问题,请升级服务器以使用 SHA-256 或更强大的哈希签名的证书,或切换到 LEGACY 策略。
Bugzilla:1628553
libselinux-python
只能通过其模块提供
libselinux-python
软件包只包含用于开发 SELinux 应用程序的 Python 2 绑定,它用于向后兼容。因此,通过 yum install libselinux-python
命令,默认的 RHEL 8 软件仓库中不再提供 libselinux-python
。
要临时解决这个问题,请启用 libselinux-python
和 python27
模块,并使用以下命令安装 libselinux-python
软件包及其相依性软件包:
# yum module enable libselinux-python # yum install libselinux-python
或者,使用它的安装配置集在一个命令中安装 libselinux-python
:
# yum module install libselinux-python:2.8/common
因此,您可以使用相关的模块安装 libselinux-python
。
Bugzilla:1666328
UDICA
仅在使用 --env container=podman
启动时才会处理 UBI 8 容器
Red Hat Universal Base Image 8(UBI 8)容器将 container
环境变量设置为 oci
值,而不是 podman
值。这可以防止 udica
工具分析容器 JavaScript Object Notation(JSON)文件。
要临时解决这个问题,请使用带有 --env container=podman
参数的 podman
命令启动 UBI 8 容器。因此,只有在使用上述临时解决方案时,udica
才能为UBI 8 容器生成 SELinux 策略。
默认日志设置在性能上的负面影响
默认日志环境设置可能会消耗 4 GB 内存甚至更多,当 systemd-journald
使用 rsyslog
运行时,速率限制值的调整会很复杂。
如需更多信息,请参阅 RHEL 默认日志设置对性能的负面影响及环境方案。
Jira:RHELPLAN-10431
/etc/selinux/config
中的SELINUX=disabled
无法正常工作
在 /etc/selinux/config
中使用 SELINUX=disabled
选项禁用 SELinux 会导致内核在启用了 SELinux 的情况下引导,并在稍后的引导过程中切换到禁用模式。这可能导致内存泄漏。
要临时解决这个问题,请在内核命令行中添加 selinux=0
参数来禁用 SELinux,如 使用 SELinux 中的在引导时更改 SELinux 模式部分所述。
Jira:RHELPLAN-34199
通过 TCP 连接的 IKE 在自定义 TCP 端口上无法正常工作
tcp-remoteport
Libreswan 配置选项无法正常工作。因此,当场景需要指定非默认 TCP 端口时,TCP 连接上的 IKE 无法建立。
scap-security-guide
无法配置闲置会话的终止
虽然数据流中仍然存在 sshd_set_idle_timeout
规则,但之前配置 sshd
的会话超时的方法不再可用。因此,该规则被标记为 not applicable
,且无法强化任何内容。其他配置闲置会话终止的方法(如 systemd
(Logind))也不可用。因此,scap-security-guide
无法将系统配置为在一定时间后可靠地断开闲置会话。
您可以使用以下方法之一临时解决这个问题,这些方法可能满足安全要求:
-
配置
accounts_tmout
规则。但是,可以使用exec
命令覆盖此变量。 -
配置
configure_tmux_lock_after_time
和configure_bashrc_exec_tmux
规则。这需要安装tmux
软件包。 -
升级到 RHEL 8.7 或更高版本,其中
systemd
功能已与正确的 SCAP 规则一起实施。
OSCAP Anaconda 附加组件不会在图形安装中获取定制的配置文件
OSCAP Anaconda 附加组件不提供一个选项,来在 RHEL 图形安装中选择或取消选择安全配置文件的定制。从 RHEL 8.8 开始,当从存档或 RPM 软件包安装时,附加组件不会考虑定制。因此,安装会显示以下出错信息,而不是获取 OSCAP 定制的配置文件:
There was an unexpected problem with the supplied content.
要临时解决这个问题,您必须在 Kickstart 文件的 %addon org_fedora_oscap
部分中指定路径,例如:
xccdf-path = /usr/share/xml/scap/sc_tailoring/ds-combined.xml tailoring-path = /usr/share/xml/scap/sc_tailoring/tailoring-xccdf.xml
因此,您只能将用于 SCAP 定制的配置文件的图形安装与相应的 Kickstart 规格一起使用。
当删除智能卡读取器时,自动屏幕锁定无法正常工作
opensc
软件包不能正确处理删除 USB 智能卡读卡器。因此,即使 GNOME 显示管理器(GDM)被配置为在删除智能卡时锁住屏幕,系统仍保持解锁。另外,在重新连接 USB 读卡器后,在删除智能卡后屏幕也没有锁住。
要临时解决这个问题,请执行以下操作之一:
- 始终只删除一个智能卡,不是智能卡读卡器。
- 当使用将读卡器和卡集成到一个软件包的硬件令牌时,请升级到 RHEL 9。
OpenSCAP 内存消耗问题
在具有有限内存的系统上,OpenSCAP 扫描程序可能会预先终止,或者可能无法产生结果文件。要临时解决这个问题,您可以自定义扫描配置文件,以取消选择涉及递归整个 /
文件系统的规则:
-
rpm_verify_hashes
-
rpm_verify_permissions
-
rpm_verify_ownership
-
file_permissions_unauthorized_world_writable
-
no_files_unowned_by_user
-
dir_perms_world_writable_system_owned
-
file_permissions_unauthorized_suid
-
file_permissions_unauthorized_sgid
-
file_permissions_ungroupowned
-
dir_perms_world_writable_sticky_bits
如需了解更多详细信息和临时解决方案,请参阅相关的 知识库文章。
在 kickstart 安装过程中修复与服务相关的规则可能会失败
在 kickstart 安装过程中,OpenSCAP 工具有时会错误地显示服务的 enable
或disable
状态补救不需要。因此,OpenSCAP 可能会将安装的系统上的服务设置为不合规的状态。作为临时解决方案,您可以在 kickstart 安装后扫描并修复该系统。这可以解决与服务相关的问题。