文件完整性监控(FIM)

最后更新于:

文件完整性监控是一项功能,可帮助您监控Windows和Linux系统中文件及文件夹的所有变更(添加/删除/修改)。

重要提示
  1. 建议仅对严格必要的文件和文件夹实施 FIM,以避免因生成大量日志而可能出现的磁盘空间问题。
  2. 在 Windows FIM 模块中,
    • 若Windows文件服务器配置了FIM功能,则需同时 持有Windows Server许可文件服务器许可
    • 若为Windows服务器配置FIM,仅需Windows Server许可
    • 若为Windows工作站配置FIM,则仅需Windows工作站许可

Linux FIM 代理架构:

Linux FIM Agent Architecture

安装软件包请参阅此处的语法说明。

文件完整性监控的先决条件

Windows:

  • 启用Windows文件完整性监控时,文件服务器将自动启用特定访问策略。若域中存在覆盖审计策略的组策略对象(GPO),请按以下步骤手动启用:
    • 在管理员命令提示符中输入命令:auditpol/get/category:"Object Access"
    • 然后继续启用以下访问策略
      • 审核文件共享
      • 审计文件系统
      • 审核句柄操作
      • 详细审计文件共享
      • 审计其他对象访问事件。
  • 应为受监控的文件/文件夹启用安全访问控制列表(SACL)。该功能由产品自动启用。若未启用,请使用以下权限手动更新SACL
    • 执行文件/遍历文件夹
    • 写入数据/创建文件
    • 追加数据/创建文件夹
    • 写入属性
    • 写入扩展属性
    • 删除子文件夹和文件
    • 删除读取权限
    • 更改权限
    • 获取所有权

Linux:

  • 以下软件包应安装在代理机上
    • openssh-server [用于界面相关操作]
    • auditd
    • acl
  • 确保
    • SSH 端口(默认端口 22)可从服务器访问。
    • ELA服务器端口(默认端口8095)可从代理机器访问。
  • 验证端口可达性可使用以下命令:

    复制到剪贴板

    echo > /dev/tcp/[服务器主机名/IP]/[服务器端口] && echo "端口可达"

    示例:echo > /dev/tcp/ubuntu/8095 && echo "端口可访问"

    (或)

    复制到剪贴板

    telnet [服务器主机名/IP] [服务器端口]

    示例:telnet ubuntu 8095

  • 同时请确保:
    • Linux内核版本为2.6.25或更高
    • Linux审计框架版本高于1.8
  • 若以下规则处于启用状态,请从/etc/audit/audit.rules文件中移除并重启机器:
    • 系统调用阻断规则"-a never,task",以及
    • 不可变规则 "-e 2"。
  • 若需为 SUSE 机器启用审计功能,请设置以下规则:
    • 导航至/etc/sysconfig/auditd
    • 设置 AUDITD_DISABLE_CONTEXTS = no
  • 若存在安全增强型Linux(SELinux),则必须处于容许模式或禁用状态:
    • 使用命令 getenforce 检查 SELinux 状态。
    • 若状态为'强制',请导航至文件/etc/selinux/config并修改为:SELINUX = permissive。
    • 重启机器。
注意:服务器仅在文档所述操作中使用代理凭据。

配置 Linux 文件完整性监控时,将对以下操作进行审计:

  • 读取
  • 写入
  • 执行
  • 属性变更

由于auditd需要root或sudo权限,若用户未具备相应权限,请遵循权限设置步骤。

安装FIM代理所需权限:

  1. 将AgentManager添加至Sudoers文件。
  2. 创建目录并为其分配权限。

1. 将AgentManager添加至Sudoers文件:

为非超级用户启用AgentManager的sudo权限,请执行以下操作:

  • 使用 root 用户配置权限。
  • 请执行以下命令:
    复制到剪贴板

    visudo -f /etc/sudoers.d/<用户名>

  • 在sudoers文件中添加以下内容:
    复制到剪贴板

    <username> ALL=NOPASSWD: /opt/ManageEngine/EventLogAnalyzer_Agent/bin/AgentManager *

    示例:

    • visudo -f /etc/sudoers.d/testuser
    • testuser ALL=NOPASSWD: /opt/ManageEngine/EventLogAnalyzer_Agent/bin/AgentManager *
注意:安装前请确保AgentManager已添加至sudoers文件。验证方法如下:

cat /etc/sudoers.d/<username>

示例:cat /etc/sudoers.

d/testuser

预期输出:testuser ALL=NOPASSWD: /opt/ManageEngine/EventLogAnalyzer_Agent/bin/AgentManager *

将AgentManager添加至sudoers文件的原因:

以下操作需要 sudo 权限:

  • 将代理目录和 elafim.conf 文件(位于 audit [或] audisp 目录下)的所有权转移给 root 用户。
  • 重启auditd服务可能也需要root权限。

2. 创建目录并赋予权限

为防止非ManageEngine目录遭未授权访问,请以root用户身份为非sudo用户执行以下命令:

创建目录:

复制到剪贴板

mkdir /opt/ManageEngine/

授予目录权限:

复制到剪贴板

setfacl -m u:<username>:rwx /opt/ManageEngine/

CentOS/RHEL v8及更高版本/Ubuntu/openSUSE/Debian/Fedora:

复制到剪贴板

setfacl -m u:<username>:wx /etc/audit/ /etc/audit/plugins.d/

CentOS/RHEL v6 至 v7.9 系统:

复制到剪贴板

setfacl -m u:<username>:wx /etc/audisp/ /etc/audisp/plugins.d/

授予audit.rules文件权限:

复制到剪贴板

setfacl -m u:<username>:r /etc/audit/audit.rules

示例:setfacl -m u:testuser:rwx /opt/ManageEngine/

配置文件完整性监控

要配置文件完整性监控,请转至

  • 导航至设置>配置>管理文件完整性监控
  • 根据您要监控的文件和文件夹所在的设备,点击 Windows 或 Linux 选项卡。
  • 点击添加FIM
  • 选择文件/文件夹所在的设备,输入正确的凭据,浏览并选择要监控的文件和文件夹。或者,您可以直接输入文件/文件夹的位置。
注意:对于 Linux 设备,除输入上述信息外,系统还将提示输入 SSH 端口号。
  • 排除过滤器提供选项可排除
    • 特定文件类型。
    • 主位置内的特定子位置。
    • 主位置内的所有子位置。
  • 若需追踪文件或文件夹的修改者,请勾选"审核用户名"复选框
    注意: Linux设备 默认启用用户名审核功能。
  • 点击 “配置”。
Linux FIM Agent Architecture

批量文件完整性监控配置

若需将多个设备中相同的文件和文件夹添加至监控范围,可使用批量文件完整性监控功能。

  • 导航至“设置”>“配置”>“管理文件完整性监控”
  • 根据您要监控的文件和文件夹所在的设备类型,点击Windows或 Linux选项卡
  • 点击添加FIM。在右上角选择配置多个设备
  • 选择文件/文件夹所在的设备,输入正确凭据,并选择文件模板。
注意:对于 Linux 设备,除输入上述详细信息外,系统还将提示您输入 SSH 端口号。
  • 点击配置
Linux FIM Agent Architecture
注意事项
  • 若需监控的设备已安装代理程序,文件监控功能将自动在该代理程序中启用。
  • 若目标设备未安装代理程序,系统将自动安装代理程序并启用文件监控功能。
  • 请注意,文件夹中每次变更产生的日志量可能影响文件服务器性能。建议仅对必需的文件/文件夹启用监控。

管理文件完整性监控(FIM)模板

若需在多个设备中监控相同文件或文件夹,可创建模板并分配至这些设备。创建 FIM 模板请按以下步骤操作:

  • 导航至“设置”>“配置”>“管理文件完整性监控”>“FIM模板”。
  • 根据您要监控的文件和文件夹所在的设备,点击 Windows 或 Linux 选项卡。
  • 点击添加FIM。
  • 输入模板名称并选择文件和文件夹的位置。
  • 您也可以直接输入文件/文件夹的位置。

  • 排除过滤器提供排除选项
    • 特定文件类型。
    • 主位置内的特定子位置。
    • 主位置内的所有子位置。
  • 若需追踪文件/文件夹的修改者身份,请勾选"审核用户名"复选框。
  • 点击配置。
Linux FIM Agent Architecture

所有创建的模板均以表格形式列出,并提供编辑/删除选项。

Linux FIM Agent Architecture