启动器 产品 Bitnami 文档imaxe CLI 博客 联系
imaxe aide 完整性 v1.0.0

监视服务器上发生的每一处变更

使用 AIDE 监控文件完整性:保存系统的参考快照(基线),并在任何文件被新增、删除或修改时向你发出提醒。一条命令即可检查状态;由你决定何时把这些变更接受为正常。

$ imaxe aide check
版本
v1.0.0
子命令
4
配置
/etc/imaxe/aide.yml
需要 root
输出
文本 · JSON

该模块的功能 #

文件完整性监控(FIM,即 File Integrity Monitoring)回答的是一个非常具体的问题:我的服务器上是否有什么东西在我不知情的情况下发生了变化?成功入侵的攻击者、编辑系统文件时的疏忽,或一次意外的更新,都会留下同样的痕迹:文件被新增、消失或改动。

aide 模块依托 AIDE(Advanced Intrusion Detection Environment)来精确检测这些变化。它的工作方式包含三个部分:首先保存一份基线,即记录每个受监控文件的哈希与属性的参考快照;随后检查当前状态与该快照的差异,并向你汇总有哪些文件被新增、删除或修改;当这些变更是合法的(例如在一次更新之后),你就接受当前状态作为新的基线,使它们不再显示为告警。

关键在于基线

只有当基线反映的是一个可信状态时,检查才有意义。在安装并配置好服务器、确知系统干净的时刻生成或接受基线。此后,每次 check 都会对照这个起点进行比较。

快速指南逐步任务

常见任务 #

选择你想做的事。每份配方都附有写好的命令——只需点击复制并粘贴到你的终端。

1

检查是否有东西发生了变化

对照基线比较当前系统并汇总变更。

ubuntu 用户通过 SSH 连接到你的服务器。

运行检查。你会看到被新增、删除和改动的文件数量统计:

终端
$ sudo imaxe aide check

需要用于脚本或面板?请求 JSON 输出:

终端
$ sudo imaxe aide check --json
如果计数为零,则一切都与基线一致。如果有变更,跳到查看报告逐一查看。
2

查看上一次检查的详情

显示究竟哪些文件被新增、删除或改动。

在一次 check 之后,以可读的方式查看结果,附带受影响文件的列表:

终端
$ sudo imaxe aide report
检查这份列表:如果变更是预期之内的(一次更新、你自己的调整),就用更新基线接受它们。如果有你认不出来的东西,请去调查。
3

查看总体状态

一眼看清:是否存在基线、上次检查是什么时候,以及是否还有待处理的变更。

查询该模块的状态摘要:

终端
$ sudo imaxe aide status

也可用 JSON 输出,便于集成到你的监控中:

终端
$ sudo imaxe aide status --json
它会告诉你基线是否存在、上一次 check 是什么时候、是否有待处理的变更,以及计划中的检查是否已启用。
4

把变更接受为正常

将当前状态固定为新的参考快照。

当你查看过报告、确认变更合法之后,接受当前状态作为新的基线:

终端
$ sudo imaxe aide update-baseline
从现在起,那些文件将不再显示为变更。下一次 check 会对照这个新的参考进行比较。
不要盲目接受基线

执行 update-baseline 会让检测到的变更被永久认定为合规。如果其中夹带了恶意内容,它就会被「洗白」。在更新之前务必查看 report,并且只在你信任系统状态时才这样做。

CLI 参考命令、标志与文件

用法概要 #

用法
imaxe aide <subcomando> [flags]

所有子命令都需要 root 权限(使用 sudo),因为 AIDE 会读取系统受保护的文件,且其数据库位于受限路径中。为 checkstatus 添加 --json 可获得机器可读的输出,适用于脚本和监控。

子命令 #

子命令功能相关标志
check对照基线检查完整性,并按类型汇总变更(新增、删除、改动)。--json
report以可读方式显示上一次检查,附带受影响文件的列表。
status状态:基线是否存在、上次检查、待处理变更以及计划检查。--json
update-baseline接受当前状态作为新的基线(执行 aide --update 并启用新数据库)。

参数与标志 #

标志类型默认值说明
--jsonboolfalsecheckstatus 中,将结果以结构化 JSON 输出到 stdout,适用于脚本和监控。

reportupdate-baseline 子命令不接受标志:它们分别始终对最近一次检查和当前基线进行操作。

文件与路径 #

路径内容
/etc/imaxe/aide.yml模块配置:check 的选项,例如在计数之外还列出受影响的文件。

aide.yml 示例:

/etc/imaxe/aide.yml
check:
  # Listar los ficheros afectados en `check` (además de los contadores).
  list_files: true

退出码与日志 #

每次执行都会返回一个退出码,你可以用 echo $? 查看——便于在脚本中串联或触发告警:

0OK无变更:系统与基线一致。
1ERR未分类的通用错误。请查看日志。
2USAGE参数无效或缺失。
3CHANGES检测到与基线相比存在差异。
4NOBASE没有基线:请在检查之前先生成一个。

调试时实时跟踪该模块的日志:

终端
$ 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」的输出发给我们,我们会尽快回复你。

联系支持