aide通过比对文件指纹检测系统文件篡改,核心步骤为生成可信基线数据库、定期校验、合理排除干扰项;需在干净系统中执行aide --init初始化,定制规则与路径排除,加入crontab自动化检查,并严格保护数据库安全。

Linux系统文件完整性监控工具AIDE(Advanced Intrusion Detection Environment)通过比对文件的指纹(如MD5、SHA256、inode、权限、属主等)来检测关键系统文件是否被篡改。配置AIDE的核心是:生成可信基线数据库 + 定期校验 + 合理排除干扰项。
安装与初始化配置
AIDE在主流发行版中可通过包管理器直接安装:
- CentOS/RHEL:运行 yum install aide 或 dnf install aide
- Ubuntu/Debian:运行 apt install aide
安装后默认配置文件位于 /etc/aide.conf。首次使用前需生成初始数据库:
- 执行 aide --init,生成数据库副本 /var/lib/aide/aide.db.new.gz
- 将其重命名为正式数据库:mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
注意:此操作必须在系统干净、未受入侵时完成,且建议在最小化运维窗口执行。
定制化规则与路径排除
默认配置覆盖较广,但实际环境中需按需调整,避免误报:
- 用 !/path/to/exclude 排除动态目录(如 !/var/log、!/proc、!/sys)
- 对需监控但允许部分属性变化的路径,定义自定义规则,例如:
binlib = p+i+n+u+g+s+m+c+md5+sha256
/usr/bin/ binlib - 敏感配置目录(如 /etc/ssh、/etc/pam.d)建议启用完整校验(含内容哈希)
修改 /etc/aide.conf 后,需重新运行 aide --init 并更新数据库。
自动化校验与结果处理
将AIDE加入定时任务,实现周期性检查:
- 编辑crontab:0 2 * * * /usr/bin/aide --check --config=/etc/aide.conf > /var/log/aide.log 2>&1
- 校验结果为文本格式,含新增、删除、变更的文件详情;可配合脚本提取关键变更行(如含 “changed”、“added” 的行)
- 建议将日志输出到独立文件,并用logrotate管理归档,防止日志膨胀
若发现异常变更,先确认是否为预期操作(如软件升级、配置更新),再结合数据库快照比对具体差异。
数据库安全与版本管理
AIDE数据库本身是攻击者重点目标,必须保护:
- 数据库文件(aide.db.gz)应设为仅root可读写:chmod 600 /var/lib/aide/aide.db.gz
- 建议将数据库备份至离线或只读介质(如USB设备、安全服务器),并签名验证其完整性
- 每次系统重大变更(如内核升级、安全补丁)后,手动重建基线并记录版本号与变更说明
不复杂但容易忽略:数据库和配置文件都应纳入配置管理工具(如Ansible)统一管控,确保环境一致性。










