10.6. 安全性
/etc/passwd-
的文件权限与CIS RHEL 8 Benchmark 1.0.0不一致
由于 CIS Benchmark 存在问题,修正 SCAP 规则可以确保 /etc/passwd-
backup 文件中的权限被配置为 0644
。但是 CIS Red Hat Enterprise Linux 8 Benchmark 1.0.0
需要该文件的文件权限 0600
。因此,在修复后, /etc/passwd-
的文件权限与基准数据不一致。
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
。
(BZ#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 策略。
/etc/selinux/config
中的SELINUX=disabled
无法正常工作
在 /etc/selinux/config
中使用 SELINUX=disabled
选项禁用 SELinux 会导致内核在启用了 SELinux 的情况下引导,并在稍后的引导过程中切换到禁用模式。这可能导致内存泄漏。
要临时解决这个问题,请在内核命令行中添加 selinux=0
参数来禁用 SELinux,如 使用 SELinux 中的在引导时更改 SELinux 模式部分所述。
(JIRA:RHELPLAN-34199)
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
的输出与当前配置的加密策略匹配。
(BZ#2044354)
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 的服务器会忽略所有其他参数,并选择类似大小的已知参数。要临时解决这个问题,请只使用兼容的组。
(BZ#1810911)
crypto-policies
错误地允许 Camellia 密码
RHEL 8 系统范围的加密策略应该在所有策略级别禁用 Camellia 密码,如产品文档中所述。但是 Kerberos 协议默认启用密码。
要临时解决这个问题,请应用 NO-CAMELLIA
子策略:
# update-crypto-policies --set DEFAULT:NO-CAMELLIA
在上一个命令中,如果您已经从 DEFAULT
切换,那么将 DEFAULT
替换为加密级名称。
因此,只有在您通过临时解决方案禁用系统范围的加密策略的所有应用程序中,Camellia 密码才会被正确禁止。
通过 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 策略。
(BZ#1628553)
TCP 连接上的 IKE 无法在自定义的 TCP 端口上工作
tcp-remoteport
Libreswan 配置选项无法正常工作。因此,当场景需要指定非默认 TCP 端口时,TCP 连接上的 IKE 无法建立。
在 kickstart 安装过程中修复与服务相关的规则可能会失败
在 kickstart 安装过程中,OpenSCAP 有时会错误地显示不需要服务 enable
或 disable
状态补救。因此,OpenSCAP 可能会将安装的系统上的服务设置为不合规的状态。作为临时解决方案,您可以在 kickstart 安装后扫描并修复该系统。这可以解决与服务相关的问题。
在安装过程中强化系统时,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 报告
红帽以 bzip2 压缩格式
提供 CVE OVAL 源,不再提供 XML 文件格式。RHEL 8 源的位置已相应更新,以反映这个变化。因为引用压缩的内容不是标准化的,因此第三方 SCAP 扫描程序在扫描使用源的规则时可能会遇到问题。
某些 SSG 中的规则组可能会失败
由于未定义规则及其依赖项的顺序,基准中SCAP Security Guide
(SSG)规则的修复可能会失败。如果需要以特定顺序执行两个或多个规则,例如,当一条规则安装组件和另一个规则配置同一组件时,它们可按错误的顺序运行,并报告错误。要临时解决这个问题,请执行补救两次,第二次运行会修复依赖规则。
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 所必需的。
(BZ#1665082)
STIG 配置文件中的 SSH 超时规则配置了不正确的选项
OpenSSH 的更新会影响以下国防信息系统局安全技术实施指南(DISA STIG)概要中的规则:
-
DISA STIG for RHEL 8 (
xccdf_org.ssgproject.content_profile_stig
) -
DISA STIG with GUI for RHEL 8 (
xccdf_org.ssgproject.content_profile_stig_gui
)
在每个配置文件中,以下两条规则都会受到影响:
Title: Set SSH Client Alive Count Max to zero CCE Identifier: CCE-83405-1 Rule ID: xccdf_org.ssgproject.content_rule_sshd_set_keepalive_0 STIG ID: RHEL-08-010200 Title: Set SSH Idle Timeout Interval CCE Identifier: CCE-80906-1 Rule ID: xccdf_org.ssgproject.content_rule_sshd_set_idle_timeout STIG ID: RHEL-08-010201
当应用到 SSH 服务器时,每个规则都会配置一个选项(ClientAliveCountMax
和 ClientAliveInterval
),其行为不再像之前一样。因此,当 OpenSSH 达到这些规则配置的超时时,OpenSSH 不再断开空闲的 SSH 用户。作为临时解决方案,这些规则已从 DISA STIG for RHEL 8 和 DISA STIG with GUI for RHEL 8 中临时删除,直到开发出解决方案为止。
某些 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
因此,当前的配置必须仅限于可正常工作的字符串。
默认日志设置在性能上的负面影响
默认日志环境设置可能会消耗 4 GB 内存甚至更多,当 systemd-journald
使用 rsyslog
运行时,速率限制值的调整会很复杂。
如需更多信息,请参阅 RHEL 默认日志设置对性能的负面影响及环境方案。
(JIRA:RHELPLAN-10431)
Ansible 补救需要额外的集合
使用 ansible-core
软件包替换 Ansible Engine 时,RHEL 订阅提供的 Ansible 模块列表会减少。因此,运行使用 scap-security-guide
软件包中包含的 Ansible 内容的补救需要来自 rhc-worker-playbook
软件包的集合。
对于 Ansible 补救,请执行以下步骤:
安装所需的软件包:
# dnf install -y ansible-core scap-security-guide rhc-worker-playbook
进入
/usr/share/scap-security-guide/ansible
目录:# cd /usr/share/scap-security-guide/ansible
使用环境变量运行相关的 Ansible playbook,以定义到额外 Ansible 集合的路径:
# ANSIBLE_COLLECTIONS_PATH=/usr/share/rhc-worker-playbook/ansible/collections/ansible_collections/ ansible-playbook -c local -i localhost, rhel9-playbook-cis_server_l1.yml
将
cis_server_l1
替换为您要修复该系统的配置集 ID。
因此,Ansible 内容会被正确处理。
对 rhc-worker-playbook
中提供的集合的支持仅限于启用 scap-security-guide
中的 Ansible 内容源。
(BZ#2114981)