该模块的功能 #
文件完整性监控(FIM,即 File Integrity Monitoring)回答的是一个非常具体的问题:我的服务器上是否有什么东西在我不知情的情况下发生了变化?成功入侵的攻击者、编辑系统文件时的疏忽,或一次意外的更新,都会留下同样的痕迹:文件被新增、消失或改动。
aide 模块依托 AIDE(Advanced Intrusion Detection Environment)来精确检测这些变化。它的工作方式包含三个部分:首先保存一份基线,即记录每个受监控文件的哈希与属性的参考快照;随后检查当前状态与该快照的差异,并向你汇总有哪些文件被新增、删除或修改;当这些变更是合法的(例如在一次更新之后),你就接受当前状态作为新的基线,使它们不再显示为告警。
只有当基线反映的是一个可信状态时,检查才有意义。在安装并配置好服务器、确知系统干净的时刻生成或接受基线。此后,每次 check 都会对照这个起点进行比较。
常见任务 #
选择你想做的事。每份配方都附有写好的命令——只需点击复制并粘贴到你的终端。
1
检查是否有东西发生了变化
对照基线比较当前系统并汇总变更。
用 ubuntu 用户通过 SSH 连接到你的服务器。
运行检查。你会看到被新增、删除和改动的文件数量统计:
$ sudo imaxe aide check需要用于脚本或面板?请求 JSON 输出:
$ sudo imaxe aide check --json2
查看上一次检查的详情
显示究竟哪些文件被新增、删除或改动。
在一次 check 之后,以可读的方式查看结果,附带受影响文件的列表:
$ sudo imaxe aide report3
查看总体状态
一眼看清:是否存在基线、上次检查是什么时候,以及是否还有待处理的变更。
查询该模块的状态摘要:
$ sudo imaxe aide status也可用 JSON 输出,便于集成到你的监控中:
$ sudo imaxe aide status --jsoncheck 是什么时候、是否有待处理的变更,以及计划中的检查是否已启用。4
把变更接受为正常
将当前状态固定为新的参考快照。
当你查看过报告、确认变更合法之后,接受当前状态作为新的基线:
$ sudo imaxe aide update-baselinecheck 会对照这个新的参考进行比较。执行 update-baseline 会让检测到的变更被永久认定为合规。如果其中夹带了恶意内容,它就会被「洗白」。在更新之前务必查看 report,并且只在你信任系统状态时才这样做。
用法概要 #
imaxe aide <subcomando> [flags]所有子命令都需要 root 权限(使用 sudo),因为 AIDE 会读取系统受保护的文件,且其数据库位于受限路径中。为 check 或 status 添加 --json 可获得机器可读的输出,适用于脚本和监控。
子命令 #
| 子命令 | 功能 | 相关标志 |
|---|---|---|
| check | 对照基线检查完整性,并按类型汇总变更(新增、删除、改动)。 | --json |
| report | 以可读方式显示上一次检查,附带受影响文件的列表。 | — |
| status | 状态:基线是否存在、上次检查、待处理变更以及计划检查。 | --json |
| update-baseline | 接受当前状态作为新的基线(执行 aide --update 并启用新数据库)。 | — |
参数与标志 #
| 标志 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --json | bool | false | 在 check 和 status 中,将结果以结构化 JSON 输出到 stdout,适用于脚本和监控。 |
report 和 update-baseline 子命令不接受标志:它们分别始终对最近一次检查和当前基线进行操作。
文件与路径 #
| 路径 | 内容 |
|---|---|
| /etc/imaxe/aide.yml | 模块配置:check 的选项,例如在计数之外还列出受影响的文件。 |
aide.yml 示例:
check:
# Listar los ficheros afectados en `check` (además de los contadores).
list_files: true退出码与日志 #
每次执行都会返回一个退出码,你可以用 echo $? 查看——便于在脚本中串联或触发告警:
调试时实时跟踪该模块的日志:
$ sudo journalctl -u imaxe-aide -f故障排查 #
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 出现 NOBASE(退出码 4) | 系统中尚无基线。 | 在服务器干净时用 update-baseline 生成一份参考快照。 |
| 出现 CHANGES(退出码 3) | 自基线以来有文件被新增、删除或修改。 | 用 report 查看详情;若变更合法,用 update-baseline 接受它们。 |
check 耗时很久 | AIDE 正在重新计算大量文件的哈希;首次运行时这很正常。 | 让它跑完。后续的 check 会更快。 |
| 每次更新都触发变更 | 在应用系统补丁后基线已经过时。 | 查看 report 后,执行 update-baseline 固定新的可信状态。 |
完整性 模块遇到问题了?
把「imaxe <module> status --json」的输出发给我们,我们会尽快回复你。