6.7.6. 安全性

redhat-support-tool 无法使用 FUTURE 加密策略

因为客户门户网站 API 中的证书使用的加密密钥不满足 FUTURE 系统范围的加密策略的要求,所以 redhat-support-tool 工具目前无法使用这个策略级别。要临时解决这个问题,在连接到客户门户网站 API 时使用 DEFAULT 加密策略。

(BZ#1802026)

SELINUX=disabled/etc/selinux/config 中无法正常工作

/etc/selinux/config 中使用 SELINUX=disabled 选项禁用 SELinux 的结果是,内核在引导时首先启用 SELinux,并在后续的引导过程后切换到禁用模式。这可能导致内存泄漏和竞争条件,因此也会导致内核 panic。如果您的实际情况确实需要禁用 SELinux,可以使用一个临时解决方案:在内核命令行中添加 selinux=0 参数来禁用 SELinux,如 使用 SELinux 中的在引导时更改 SELinux 模式部分所述。

(JIRA:RHELPLAN-34199)

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

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

要临时解决这个问题,请启用 libselinux-pythonpython27 模块,并使用以下命令安装 libselinux-python 软件包及其依赖软件包:

# dnf module enable libselinux-python
# dnf install libselinux-python

或者,在单个命令中使用安装配置集安装 libselinux-python

# dnf module install libselinux-python:2.8/common

因此,您可以使用相关的模块安装 libselinux-python

(BZ#1666328)

udica 仅在启动时可以处理 UBI 8 容器 --env container=podman

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 策略。

(BZ#1763210)

删除 rpm-plugin-selinux 软件包会导致从系统中删除所有 selinux-policy 软件包

删除 rpm-plugin-selinux 软件包会禁用机器中的 SELinux。它还从系统中删除所有 selinux-policy 软件包。重复安装 rpm-plugin-selinux 软件包后会安装 selinux-policy-minimum SELinux 策略,即使之前系统中存在 selinux-policy-targeted 策略。但是,重复安装不会更新 SELinux 配置文件来考虑策略的改变。因此,即使重新安装 rpm-plugin-selinux 软件包也会禁用 SELinux。

要临时解决这个问题:

  1. 输入 umount /sys/fs/selinux/ 命令。
  2. 手动安装缺少的 selinux-policy-targeted 软件包。
  3. 编辑 /etc/selinux/config 文件,使策略等于 SELINUX=enforcing
  4. 输入 load_policy -i 命令。

因此,SELinux 被启用并运行和以前相同的策略。

(BZ#1641631)

SELinux 会防止 systemd-journal-gatewayd 在由创建的共享内存文件中调用 newfstatat() corosync

SELinux 策略不包含允许 systemd-journal-gatewayd 守护进程访问由 corosync 服务创建的文件的规则。因此,SELinux 拒绝 systemd-journal-gatewayd 在由 corosync 创建的共享内存文件中调用 newfstatat() 功能。

要临时解决这个问题,请使用启用上述场景的 allow 规则创建一个本地策略模块。有关生成 SELinux 策略允许和 dontaudit 规则的详情,请查看 audit2allow(1) man page。由于前面的临时解决方案,systemd-journal-gatewayd 可在由 corosync 使用 enforcing 模式的 SELinux 创建的共享内存文件中调用该功能。

(BZ#1746398)

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

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

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

(JIRA:RHELPLAN-10431)

Parameter not known rsyslog 输出中的错误并显示 config.enabled

rsyslog 输出中,使用 config.enabled 指令在配置处理错误中出现意外错误。因此,除了 include() 语句外,使用 config.enabled 指令时会显示 parameter not known 错误。

要临时解决这个问题,设置 config.enabled=on 或使用 include() 语句。

(BZ#1659383)

某些 rsyslog 优先级字符串无法正常工作

支持 imtcpGnuTLS 优先级字符串(允许对加密进行精细控制)未完成。因此,以下优先级字符串无法在 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)

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

GnuTLS 安全通讯库以 insecure 形式拒绝 SHA-1 证书签名。因此,使用 GnuTLS 作为 TLS 后端的应用程序无法建立与提供此类证书的对等的 TLS 连接。这个行为与其他系统加密库不一致。要临时解决这个问题,请升级服务器以使用 SHA-256 或更强大的哈希签名的证书,或切换到 LEGACY 策略。

(BZ#1628553)

TLS 1.3 在 FIPS 模式中无法在 NSS 中工作

在使用 FIPS 模式的系统中不支持 TLS 1.3。因此,需要 TLS 1.3 进行的连接在以 FIPS 模式工作的系统中无法正常工作。

要启用连接,请禁用系统的 FIPS 模式,或者启用对 peer 中 TLS 1.2 的支持。

(BZ#1724250)

OpenSSL 错误处理不支持原始 RSA 或 RSA-PSS 签名的 PKCS #11 令牌

OpenSSL 库不会检测 PKCS #11 令牌的与密钥相关的功能。因此,当使用不支持原始 RSA 或 RSA-PSS 签名的令牌创建签名时,建立 TLS 连接会失败。

要临时解决这个问题,请在 /etc/pki/tls/openssl.cnf 文件的 crypto_policy 部分末尾的 .include 行后面添加以下行:

SignatureAlgorithms = RSA+SHA256:RSA+SHA512:RSA+SHA384:ECDSA+SHA256:ECDSA+SHA512:ECDSA+SHA384
MaxProtocol = TLSv1.2

因此,可以在描述的场景中建立 TLS 连接。

(BZ#1685470)

OpenSSL TLS 库不会检测到 PKCS#11 令牌是否支持创建 raw RSARSA-PSS 签名

TLS-1.3 协议需要支持 RSA-PSS 签名。如果 PKCS#11 令牌不支持 raw RSARSA-PSS 签名,则使用 OpenSSL TLS 库的服务器应用程序如果由 PKCS#11 令牌持有,将无法使用 RSA 密钥。因此,TLS 通讯会失败。

要临时解决这个问题,配置服务器或客户端以使用 TLS-1.2 版本作为可用最高 TLS 协议版本。

(BZ#1681178)

OpenSSL 在 TLS 1.3 中的 CertificateRequest 消息中生成格式不正确的 status_request 扩展

如果启用了对 status_request 扩展以及基于客户端证书的身份验证的支持,OpenSSL 服务器会在 CertificateRequest 消息中发送格式不正确的 status_request 扩展。在这种情况下,OpenSSL 无法与与 RFC 8446 协议兼容的实现互操作。因此,可以正确地验证与 OpenSSL 服务器建立连接的 'CertificateRequest' 消息中的扩展的客户端。要临时解决这个问题,在连接两侧禁用对 TLS 1.3 协议的支持,或在 OpenSSL 服务器中禁用对 status_request 的支持。这将阻止服务器发送错误的消息。

(BZ#1749068)

ssh-keyscan 无法以 FIPS 模式检索服务器的 RSA 密钥

在 FIPS 模式中的 RSA 签名禁用了 SHA-1 算法,这样可防止 ssh-keyscan 工具程序获取在那个模式下运行的服务器的 RSA 密钥。

要临时解决这个问题,使用 ECDSA 密钥,或者使用服务器中的 /etc/ssh/ssh_host_rsa_key.pub 文件在本地检索密钥。

(BZ#1744108)

scap-security-guide Audit 规则的 PCI-DSS 修复无法正常工作

scap-security-guide 软件包包含补救以及可导致以下情况之一的检查:

  • 错误修复审计规则
  • 扫描评估包含通过的规则被标记为失败的假正值

因此,在 RHEL 8.1 安装过程中,扫描安装的系统会将一些审计规则报告为失败或错误。

要临时解决这个问题,请按照 RHEL-8.1 临时解决方案文档中的说明使用 scap-security-guide PCI-DSS 配置集文档中的内容进行修复和扫描

(BZ#1754919)

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

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

(BZ#1750755)

不提供容器安全和合规性扫描的实用程序

在 Red Hat Enterprise Linux 7 中,oscap-docker 工具可用于扫描基于 Atomic 技术的 Docker 容器。在 Red Hat Enterprise Linux 8 中,Docker 和 Atomic 相关的 OpenSCAP 命令不可用。

要临时解决这个问题,请参阅使用 OpenSCAP 在 RHEL 8 中扫描容器。因此,在 RHEL 8 中,您目前只能使用不受支持且有限的方式进行容器的安全性和合规性扫描。

(BZ#1642373)

OpenSCAP 不提供虚拟机和容器的离线扫描

重构 OpenSCAP 代码库会导致某些 RPM 探测无法在离线模式下扫描虚拟机和容器文件系统。因此,从 openscap-utils 软件包中删除了以下工具: oscap-vmoscap-chroot。另外,openscap-containers 软件包已被完全删除。

(BZ#1618489)

OpenSCAP rpmverifypackage 无法正常工作

rpmverifypackage 探测会调用 chdirchroot 系统调用两次。因此,在使用自定义 Open Vulnerability 和评估语言(OVAL)内容的 OpenSCAP 扫描中使用探测时会出现错误。

要临时解决这个问题,请不要在您的内容中使用 rpmverifypackage_test OVAL 测试,或者只使用 rpmverifypackage_testscap-security-guide 软件包中的内容。

(BZ#1646197)

SCAP Workbench 无法从定制的配置集生成基于结果的补救方法

当尝试使用SCAP Workbench 工具从自定义配置集生成基于结果的补救角色时,会出现以下错误:

Error generating remediation role .../remediation.sh: Exit code of oscap was 1: [output truncated]

要临时解决这个问题,使用 oscap 命令和 --tailoring-file 选项。

(BZ#1640715)

OSCAP Anaconda Addon 不会在文本模式中安装所有软件包

如果安装以文本模式运行,则 OSCAP Anaconda Addon 插件无法修改系统安装程序安装的软件包列表。因此,当使用 Kickstart 指定安全策略配置集且安装以文本模式运行时,安全策略所需的附加软件包不会在安装过程中安装。

要临时解决这个问题,可以使用图形模式运行安装,或者在 Kickstart 文件的 %packages 部分指定安全策略配置集所需的所有软件包。

因此,在没有描述的一个临时解决方案的情况下,安全策略配置集所需的软件包不会在 RHEL 安装过程中安装,且安装的系统与给定的安全策略配置集不兼容。

(BZ#1674001)

OSCAP Anaconda Addon 无法正确处理自定义配置集

OSCAP Anaconda Addon 插件无法以独立文件中自定义的方式正确处理安全配置集。因此,即使您在对应的 Kickstart 部分正确指定了自定义配置集,RHEL 图形安装中也不会提供自定义配置集。

要临时解决这个问题,请遵循 从原始 DS 创建单一 SCAP 数据流中的说明,以及一个定制文件 知识库文章。因此,您可以在 RHEL 图形安装中使用自定义的 SCAP 配置集。

(BZ#1691305)