首页/安全/取证与溯源速查/AIDE 文件完整性基线
Linux 取证135 条

AIDE 文件完整性基线

AIDE 按配置规则计算文件哈希与属性生成基线库,之后用 --check 对比,可发现新增、删除与被修改的关键文件。

取证与溯源速查安全更新于 2026-10-13

文件完整性校验

AIDE 用预先建立的基线数据库比对文件系统的哈希与属性变化,是判断系统文件是否被替换的常用手段。它的价值取决于基线质量:基线必须来自可信状态,并且保存在与主机隔离的位置,否则攻击者可以连基线一起改掉。

基本信息

配置文件/etc/aide.conf,定义检查规则与数据库路径
数据库已有基线库与 database_out 指定的新库
初始化aide --init 生成新基线库
检查aide --check 与基线比对并输出差异
检查内容哈希、权限、属主、大小、时间戳,按规则选择
资源消耗全盘检查会占用大量 IO 与时间

典型使用场景

  • 确认关键系统文件是否被替换
  • 事件发生后与可信基线比对找出改动
  • 定期巡检发现异常变更
  • 与包管理器校验结果互相印证
  • 为系统重建提供改动清单

最小示例

最小示例
aide --init                                     # 按规则生成新基线库
ls -l /var/lib/aide/                            # 确认新库文件名与时间
aide --check                                    # 与基线比对
aide --check | head -40                         # 优先看变更清单开头
grep -E '^database|^database_out' /etc/aide.conf # 确认库文件路径配置
sha256sum /var/lib/aide/aide.db*                # 库文件本身也要固化哈希

输出类别与关注点

输出类别含义关注点
added基线中不存在的新文件与安装或运维记录核对
removed基线中有但已消失的文件可能被攻击者删除
changed内容或属性发生变化优先看系统二进制与配置
权限与属主属性层面的改动与包默认值比对
时间戳与变更窗口对照用于说明改动时机
库文件的实际名称与位置由 /etc/aide.conf 的 database 与 database_out 决定,各发行版默认值不同,不要按固定路径假设。
基线要放在只读介质或离线位置:与主机同盘存储时,攻击者能同时改动基线和被检文件,校验结果就失去了证明力。
aide --init 会覆盖数据库输出文件;对已有基线执行初始化前务必先备份,否则比对基准将永久丢失。

易错点

  • 基线与被检文件同盘存放:攻击者可以一并修改,校验结果无法作为证明
  • 未记录检查时间与工具版本:结论无法复现,也说不清基线建立时点
  • 直接用 --init 覆盖旧库:原有基线丢失,历史比对无法再做
  • 把全部 changed 都当篡改:升级、轮转与临时文件都会命中,需结合包校验与变更记录筛选

数据来源与参考

  • AIDE 官方文档(aide.conf 与命令用法)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌