8.6. 安全性

可执行审核监控在符号链接上无法正常工作

-w 选项提供的文件监控无法直接跟踪路径。它需要解析到设备的路径以及内节点,才能与已执行程序进行比较。监控可执行符号链接的观察监控将监控设备和符号链接本身的索引节点,而不是内存中执行的程序,这些程序可从符号链接的解析中找到。即使监视解析了符号链接以获取生成的可执行程序,规则也会对从不同符号链接调用的多调用二进制文件触发。这会导致大量日志带有假的正状态。因此,可执行的审计监控符号链接无法正常工作。

要临时解决这个问题,请为可执行程序的解析路径设置监视,并使用 comm=proctitle= 字段中列出的最后一个组件来过滤生成的日志消息。

(BZ#1421794)

在转换到另一个 SELinux 上下文时执行文件需要额外的权限

由于 RHEL 7.8 中的 CVE-2019-11190 修复的后向移植,在转换到另一个 SELinux 上下文时执行一个文件需要比以前的版本更多的权限。

在大多数情况下,domain _entry_file() 接口向 SELinux 域授予新要求的权限。但是,如果执行的文件是一个脚本,则目标域可能缺少执行解释器二进制文件的权限。因为缺少了新的所需的权限,会导致 AVC 拒绝。如果 SELinux 以强制模式运行,内核可能会在这样的情形中使用 SIGSEGV 或 SIGKILL 信号终止进程。

如果问题在作为 selinux-policy 软件包一部分的域中发生,请针对此组件提交一个错误。如果它是自定义策略模块的一部分,红帽建议您使用标准 SELinux 接口授予缺少的权限:

  • corecmd_exec_shell() for shell scripts
  • corecmd_exec_all_executables() 用于标记为 bin_t (如 Perl 或 Python)的解释器

如需了解更多详细信息,请参阅 selinux-policy-doc 软件包提供的 /usr/share/selinux/devel/include/kernel/corecommands.if 文件 ,以及破坏客户门户网站中 RHEL SELinux 策略 API 稳定性的异常

(BZ#1832194)

使用 OpenSCAP 扫描大量文件会导致系统内存不足

OpenSCAP 扫描程序将所有收集的结果存储在内存中,直到扫描完成为止。因此,系统在扫描大量文件时,比如从大软件包组 Server with GUIWorkstation 中进行扫描时,系统可能会出现系统没有足够的问题。

要临时解决这个问题,在内存较小的系统中,使用较小的软件包组,如 ServerMinimal Install。如果您的环境需要大型软件包组,可以测试您的系统在虚拟或临时环境中是否有足够内存。或者,您可以将扫描配置集定制为取消选择涉及整个 / 文件系统递归的规则:

  • 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

这可防止 OpenSCAP 扫描程序造成系统内存不足。

(BZ#1829782)

RHEL7 无法完全禁用带有 SHA-1 的 RSA 签名

由于 OpenSSH 中必须允许 ssh-rsa 签名算法来使用新的 SHA2(rsa-sha2-512,rsa-sha2-256)签名,所以您无法在 RHEL7 中完全禁用 SHA1 算法。要临时解决这个问题,您可以升级到 RHEL8,或使用 ECDSA/Ed25519 密钥,该密钥只使用 SHA2。

(BZ#1828598)

rpm_verify_permissions 在 CIS 配置集中失败

rpm_verify_permissions 规则将文件权限与软件包默认权限进行比较。但是,由 scap-security-guide 软件包提供的互联网安全中心(CIS)配置将某些文件权限更改为比默认权限更严格。因此,使用 rpm_verify_permissions 验证某些文件会失败。要临时解决这个问题,请手动验证这些文件是否具有以下权限:

  • /etc/cron.d (0700)
  • /etc/cron.hourly (0700)
  • /etc/cron.monthly (0700)
  • /etc/crontab (0600)
  • /etc/cron.weekly (0700)
  • /etc/cron.daily (0700)

有关相关功能的详情请参考 SCAP 安全指南现在提供了一个与 CIS RHEL 7 Benchmark v2.2.0 一致的配置集。

(BZ#1838622)

OpenSCAP 文件所有权相关规则无法用于远程用户和组群后端

OpenSCAP 套件用来执行配置检查的 OVAL 语言具有一组有限的能力。如果部分用户、组及其 ID 是远程的,则无法获取系统用户、组群及其 ID 的完整列表。例如,如果将其存储在外部数据库中,如 LDAP。

因此,使用用户 ID 或组 ID 的规则无法访问远程用户的 ID。因此,这些 ID 被识别为系统外。这可能会导致在兼容的系统中扫描失败。在 scap-security-guide 软件包中,以下规则会受到影响:

  • xccdf_org.ssgproject.content_rule_file_permissions_ungroupowned
  • xccdf_org.ssgproject.content_rule_no_files_unowned_by_user

要临时解决这个问题,如果系统上定义了远程用户时处理用户或组 ID 的规则失败,请手动检查失败的部分。OpenSCAP 扫描程序可让您指定 --oval-results 选项和 --report 选项。此选项在 HTML 报告中显示出错文件和 UID,并使手动修订过程非常简单。

另外,在 RHEL 8.3 中,scap-security-guide 软件包中的规则包含一个只评估 local-user 后端的警告。

(BZ#1721439)

rpm_verify_permissionsrpm_verify_ownership 在 Essential Eight 配置集中失败

rpm_verify_permissions 规则 将文件权限与软件包默认权限进行比较,而 rpm_verify_ownership 规则将文件所有者与软件包默认所有者进行比较。但是,澳大利亚网络安全中心(ACSC)Essential Eight 配置文件由 scap-security-guide 软件包提供,它更改了一些文件权限和所有权,使其比默认更严格。因此,使用 rpm_verify_permissionsrpm_verify_ownership 验证某些文件会失败。要临时解决这个问题,请手动验证 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache 文件是否归 root 所有,并且设置了 suidsgid 位。

(BZ#1778661)