11.6. 安全

/etc/passwd- 的文件权限与 CIS RHEL 8 基准 1.0.0 不一致

由于 CIS Benchmark 存在问题,修正 SCAP 规则可以确保 /etc/passwd- backup 文件中的权限被配置为 0644。但是 CIS Red Hat Enterprise Linux 8 Benchmark 1.0.0 需要该文件的文件权限 0600。因此,在修复后, /etc/passwd- 的文件权限与基准数据不一致。

(BZ#1858866)

libselinux-python 只能通过其模块提供

libselinux-python 软件包只包含用于开发 SELinux 应用程序的 Python 2 绑定,它用于向后兼容。因此,通过 yum install libselinux-python 命令,默认的 RHEL 8 软件仓库中不再提供 libselinux-python

要临时解决这个问题,请启用 libselinux-pythonpython27 模块,并使用以下命令安装 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 对象表示法(JSON)文件。

要临时解决这个问题,请使用带有 --env container=podman 参数的 podman 命令启动 UBI 8 容器。因此,只有当使用上述的临时解决方案时,udica 才可以为 UBI 8 容器生成一个 SELinux 策略。

(BZ#1763210)

/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 密码才会被正确禁止。

BZ#1919155

通过 OpenSC pkcs15-init 的智能卡配置过程无法正常工作

file_caching 选项在默认的 OpenSC 配置中是启用的,文件缓存功能无法正确处理pkcs15-init 工具中的一些命令。因此,通过 OpenSC 进行智能卡置备过程会失败。

要临时解决这个问题,请在 /etc/opensc.conf 文件中添加以下代码段:

app pkcs15-init {
        framework pkcs15 {
                use_file_caching = false;
        }
}

只有在应用了前面描述的临时解决方案时,通过 pkcs15-init 进行智能卡配置才能正常工作。

BZ#1947025

到带有 SHA-1 签名的服务器的连接无法使用 GnuTLS

GnuTLS 安全通讯库以 insecure 形式拒绝 SHA-1 证书签名。因此,使用 GnuTLS 作为 TLS 后端的应用程序无法建立与提供此类证书的对等的 TLS 连接。这个行为与其他系统加密库不一致。

要临时解决这个问题,请升级服务器以使用 SHA-256 或更强大的哈希签名的证书,或切换到 LEGACY 策略。

(BZ#1628553)

TCP 连接上的 IKE 无法在自定义的 TCP 端口上工作

tcp-remoteport Libreswan 配置选项无法正常工作。因此,当场景需要指定非默认 TCP 端口时,TCP 连接上的 IKE 无法建立。

(BZ#1989050)

在安装过程中强化系统时,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 可以正常工作。

(BZ#2075508)

红帽以压缩格式提供 CVE OVAL 报告

红帽以 bzip2 压缩格式 提供 CVE OVAL 源,不再提供 XML 文件格式。RHEL 8 源的位置已相应更新,以反映这个变化。因为引用压缩的内容不是标准化的,因此第三方 SCAP 扫描程序在扫描使用源的规则时可能会遇到问题。

(BZ#2028428)

某些 SSG 中的规则组可能会失败

由于未定义规则及其依赖项的顺序,基准中 SCAP 安全指南(SSG)规则的修复可能会失败。如果需要以特定顺序执行两个或多个规则,例如,当一条规则安装组件和另一个规则配置同一组件时,它们可按错误的顺序运行,并报告错误。要临时解决这个问题,请执行补救两次,第二次运行会修复依赖规则。

(BZ#1750755)

Server with GUIWorkstation 安装可能无法使用 CIS 服务器配置文件

CIS Server Level 1 和 Level 2 安全配置文件与 Server with GUIWorkstation 软件选择不兼容。因此,无法使用 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 GUIWorkstation 软件选择保持一致,请使用 CIS Workstation Level 1 或 Level 2 配置文件。

(BZ#1843932)

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 服务器时,每个规则都会配置一个选项(ClientAliveCountMaxClientAliveInterval),其行为不再像之前一样。因此,当 OpenSSH 达到这些规则配置的超时时,OpenSSH 不再断开空闲的 SSH 用户。作为临时解决方案,这些规则已从 DISA STIG for RHEL 8 和 DISA STIG with GUI for RHEL 8 中临时删除,直到开发出解决方案为止。

(BZ#2038977)

某些审计规则的 Bash 补救无法正常工作

以下 SCAP 规则的 SCAP 安全指南(SSG) Bash 补救不会添加审计密钥:

  • audit_rules_login_events
  • audit_rules_login_events_faillock
  • audit_rules_login_events_lastlog
  • audit_rules_login_events_tallylog
  • audit_rules_usergroup_modification
  • audit_rules_usergroup_modification_group
  • audit_rules_usergroup_modification_gshadow
  • audit_rules_usergroup_modification_opasswd
  • audit_rules_usergroup_modification_passwd
  • audit_rules_usergroup_modification_shadow
  • audit_rules_time_watch_localtime
  • audit_rules_mac_modification
  • audit_rules_networkconfig_modification
  • audit_rules_sysadmin_actions
  • audit_rules_session_events
  • audit_rules_sudoers
  • audit_rules_sudoers_d

因此,修复脚本修复了补救规则中的访问位和路径,但没有 Audit 密钥的规则不符合 OVAL 检查。因此,在此类规则修复后进行扫描会报告 FAIL 。要临时解决这个问题,请手动向受影响的规则添加密钥。

(BZ#2119356)

某些 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

因此,当前的配置必须仅限于可正常工作的字符串。

(BZ#1679512)

默认日志设置在性能上的负面影响

默认日志环境设置可能会消耗 4 GB 内存甚至更多,当 systemd-journald 使用 rsyslog 运行时,速率限制值的调整会很复杂。

如需更多信息,请参阅 RHEL 默认日志设置对性能的负面影响及环境方案

(JIRA:RHELPLAN-10431)

在 kickstart 安装过程中修复与服务相关的规则可能会失败

在 kickstart 安装过程中,OpenSCAP 工具有时会错误地显示服务的 enabledisable 状态补救不需要。因此,OpenSCAP 可能会将安装的系统上的服务设置为不合规的状态。作为临时解决方案,您可以在 kickstart 安装后扫描并修复该系统。这可以解决与服务相关的问题。

(BZ#1834716)