必须在系统刚部署、未联网、无可疑进程时执行 aide --init,否则基线不可信;需清空旧文件、用干净配置重建、严格检查 aide.conf 格式、生成后手动重命名并校验 gzip 完整性,且规则须精简、顺序正确、变更需人工确认后重新初始化。

必须在系统刚部署、未联网、无可疑进程时执行 aide --init,否则基线本身就不可信——后续所有比对都白做。
初始化前先清空环境并确认系统干净
AIDE 的数据库不是“扫描一次就自动可信”,它只忠实记录当前状态。如果系统已被植入后门或日志被清理过,aide.db.new.gz 里存的就是篡改后的“正常”快照。
- 彻底删除旧残留:
sudo rm -f /var/lib/aide/aide.db* /etc/aide.conf - 用官方干净配置重建:
sudo cp /usr/share/doc/aide/examples/aide.conf.sample /etc/aide.conf - 检查
/etc/aide.conf:路径行开头不能有空格;每行末尾不能有 Windows 换行符(^M);关键路径如/bin、/etc、/usr/bin必须显式列出,不能靠通配继承
生成并手动转正数据库,不能跳过校验
AIDE 不会自动把 aide.db.new.gz 当成基准——它只认 /var/lib/aide/aide.db.gz 这个固定路径名。生成后不重命名,--check 会直接报错找不到数据库。
- 运行初始化:
sudo aide --init --force-init(加--force-init防止因已有文件跳过) - 确认生成成功:
ls -lh /var/lib/aide/aide.db.new.gz(大小应 >1KB,为空或 0 字节说明扫描失败) - 立即重命名:
sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz - 强制校验压缩完整性:
sudo gzip -t /var/lib/aide/aide.db.gz(失败则必须重做,别硬凑) - 可选但强推:保存指纹防篡改:
sudo sha256sum /var/lib/aide/aide.db.gz > /root/aide.db.sha256
规则配置要精简,且顺序决定优先级
默认配置扫全盘,既慢又误报多。生产环境必须聚焦核心路径,并把 ! 排除规则写在监控规则之前——AIDE 按行顺序匹配,先命中者生效。
- 定义轻量规则别名(例如只校验权限+属主+大小+SHA256):
F = p+i+n+u+g+s+sha256 - 只监控关键目录(一行一个,不加尾部斜杠):
/bin F、/etc F、/usr/sbin F - 排除干扰项(必须写在上面监控规则之前):
!/var/log/.*、!/tmp/、!/run/、!/proc/ - 改完
/etc/aide.conf后,必须重新运行aide --init才能让新规则生效
最常被忽略的一点:AIDE 没有“自动学习”机制。哪怕你每天 --check 发现 100 个变更,它也不会自己更新基线——必须人工判断是否可信,再手动 --init 覆盖。基线一旦放错位置、没校验、或在污染环境中生成,整个监控链条就断了。











