Menu Close

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- 的文件权限与基准数据不一致。

(BZ#1858866)

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 仅在使用 --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)

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

默认日志环境设置可能会消耗 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)

crypto-policies 错误地允许 Camellia 密码

RHEL 8 系统范围的加密策略应该在所有策略级别禁用 Camellia 密码,如产品文档中所述。但是 Kerberos 协议默认启用密码。

要临时解决这个问题,请应用 NO-CAMELLIA 子策略:

# update-crypto-policies --set DEFAULT:NO-CAMELLIA

在上一命令中,如果您之前从 DEFAULT 切换,将 DEFAULT 替换为加密级别名称。

因此,只有在您通过临时解决方案禁用系统范围的加密策略的所有应用程序中,Camellia 密码才会被正确禁止。

BZ#1919155

使用带有 IKEv2 的多个标记的 IPsec 连接无法正常工作

当 Libreswan 使用 IKEv2 协议时,IPsec 的安全标签对于多个连接无法正常工作。因此,使用标记的 IPsec 的 Libreswan 只能建立第一个连接,但无法正确建立后续连接。要使用多个连接,请使用 IKEv1 协议。

BZ#1934859

通过 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)

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)

IKE over TCP 连接在自定义 TCP 端口上无法正常工作

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

(BZ#1989050)

SELinux 审计规则和 SELinux 布尔配置中存在冲突

如果审计规则列表包含一个含有 subj_*obj_* 字段的审计规则,并且 SELinux 布尔值配置发生了变化,那么设置 SELinux 布尔值会导致死锁。因此,系统会停止响应,需要重启才能恢复。要临时解决这个问题,请禁用包含 subj_*obj_* 字段的所有审计规则,或者在修改 SELinux 布尔值前临时禁用这些规则。

随着 RHSA-2021:2168 公告的发布,内核可以正确处理这种情况,不会再死锁。

(BZ#1924230)

systemd 无法从任意路径执行命令

systemd 服务无法从 /home/user/bin 任意路径执行命令,因为 SELinux 策略软件包不包括任何这样的规则。因此,在非系统路径中执行的自定义服务会失败,并最终会在 SELinux 拒绝访问时记录 Access Vector Cache(AVC)拒绝审核信息。要临时解决这个问题,请执行以下操作之一:

  • 使用带有 -c 选项的 shell 脚本执行该命令。例如:

    bash -c command
  • 从常用的命令路径 /bin/sbin/usr/sbin/usr/local/bin/usr/local/sbin 中执行命令。

(BZ#1860443)

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

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

(BZ#1750755)

无法使用 Server with GUIWorkstation 软件选择和 CIS 安全配置集进行安装

CIS安全配置集与Server with GUIWorkstation不兼容。因此,无法使用 Server with GUI 软件选择和 CIS 配置集进行 RHEL 8 安装。使用 CIS 配置集进行尝试安装,且这两种软件选择之一都会生成出错信息:

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.

要临时解决这个问题,请不要在 Server with GUIWorkstation 软件选择中使用 CIS 安全配置集。

(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)

usbguard-notifier 在日志中记录太多错误消息

usbguard-notifier 服务没有进程间通信(IPC)权限,无法连接到 usbguard-daemon IPC 接口。因此,usbguard-notifier 无法连接到该接口,它会将对应的错误消息写入日志。由于 usbguard-notifier--wait 选项开头,这可确保 usbguard-notifier 尝试在每次连接失败后连接 IPC 接口,因此默认情况下,日志很快会包含大量的这些消息。

要临时解决这个问题,允许运行 usbguard-notifier 的用户或组连接到 IPC 接口。例如,以下错误消息包含 GNOME 显示管理器(GDM)的 UID 和 GID 值:

IPC connection denied: uid=42 gid=42 pid=8382, where uid and gid 42 = gdm

要为 gdm 用户授予缺少的权限,请使用 usbguard 命令并重启 usbguard 守护进程:

# usbguard add-user gdm --group --devices listen
# systemctl restart usbguard

授予缺失的权限后,错误消息将不再显示在日志中。

(BZ#2000000)

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