Red Hat Training

A Red Hat training course is available for RHEL 8

第 15 章 使用 fapolicyd 阻止和允许应用程序

根据规则集设置和强制实施允许或拒绝应用程序执行的策略,可有效防止执行未知的和具有潜在恶意的软件。

15.1. fapolicyd 简介

fapolicyd 软件框架根据用户定义的策略来控制应用程序的执行。这是防止在系统上运行不受信任的和可能具有恶意的应用程序的最有效的方法之一。

fapolicyd 框架提供以下组件。

  • fapolicyd 服务
  • fapolicyd 命令行工具
  • fapolicyd RPM 插件
  • fapolicyd 规则语言

管理员可以为任何应用程序定义 allowdeny 执行规则,并根据路径、哈希、MIME 类型或信任进行审计。

fapolicyd 框架引入了信任的概念。在被系统软件包管理器正确安装后,应用程序是可信的,因此它会在系统 RPM 数据库中注册。fapolicyd 守护进程使用 RPM 数据库作为受信任的二进制文件和脚本的列表。fapolicyd RPM 插件注册由 YUM 软件包管理器或 RPM 软件包管理器处理的任何系统更新。插件会通知 fapolicyd 守护进程有关此数据库中的更改。添加应用程序的其他方法需要创建自定义规则,并重新启动 fapolicyd 服务。

fapolicyd 服务配置位于 /etc/fapolicyd/ 目录中,结构如下。

  • fapolicyd.rules 文件包含了允许拒绝执行规则。
  • fapolicyd.conf文件包含守护进程的配置选项。此文件主要用于性能调优目的。

您可以使用其中一种方法来对 fapolicyd 进行完整性检查:

  • 文件大小检查
  • 比较 SHA-256 哈希
  • 完整性映射架构(IMA)子系统

默认情况下,fapolicyd 不进行完整性检查。根据文件大小进行完整性检查很快,但攻击者可以替换文件的内容并保留其字节大小。计算和检查 SHA-256 校验和更安全,但这会影响系统性能。fapolicyd.conf 中的 integrity = ima 选项需要在包含可执行文件的所有文件系统上都支持扩展属性(也称为 xattr)。

其它资源