AIDE是基于主机的文件完整性检查工具,通过在干净系统中初始化可信快照(aide --init),比对关键文件哈希、权限、时间戳等属性变化来检测入侵;需排除动态路径、启用强校验规则、自动化巡检并严格保护数据库。

AIDE 是 Linux 系统中成熟、轻量且可审计的文件完整性检查工具,核心价值在于用可信快照锁定关键文件状态,后续比对即可发现非预期变更。它不替代实时防护,但能提供入侵发生后的关键证据链——比如被替换的 ls 或篡改的 /etc/shadow,哪怕攻击者隐藏了进程或日志,AIDE 的离线数据库仍能揭示异常。
初始化必须在干净系统中完成
这是整个机制可信的前提。一旦系统已被入侵,生成的数据库本身就是污染源,后续所有比对都失去意义。
- 安装后立即执行:
aide --init,生成/var/lib/aide/aide.db.new.gz - 确认系统无异常(如无未知进程、无异常网络连接)后再重命名:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz - 数据库文件权限设为仅 root 可读写:
chmod 600 /var/lib/aide/aide.db.gz - 建议将该数据库备份至离线介质,并用 GPG 签名验证其来源可信
配置规则要兼顾覆盖与克制
默认配置往往过宽,容易因日志、临时文件、运行时数据等产生大量误报,反而掩盖真正风险。
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- 用
!/var/log、!/tmp、!/proc、!/sys明确排除动态路径 - 对敏感目录启用强校验,例如:
/etc/ssh p+i+n+u+g+s+m+c+sha256 - 定义常用规则别名简化管理,如:
SECURE = p+i+n+u+g+s+m+c+sha256,再用于路径:/etc/pam.d SECURE - 修改
/etc/aide.conf后,必须重新运行aide --init并更新数据库才生效
校验结果需结构化处理而非只看“Looks OK”
手动执行 aide --check 输出信息密集,生产环境必须自动化提取关键信号。
- 定时任务示例(每天凌晨 2 点):
0 2 * * * /usr/bin/aide --check --config=/etc/aide.conf | grep -E "(Added|Removed|Changed)" > /var/log/aide/daily-$(date +\%Y\%m\%d).log - 发现
Changed时,优先判断是否为预期操作(如刚执行过yum update),再用aide --compare查看新旧哈希差异 - 对
Added文件保持高度警惕,尤其是/tmp、/dev/shm、用户家目录下出现的可执行文件 - 日志建议配合
logrotate归档,保留至少 90 天以便回溯
数据库更新与版本管理不能依赖“自动同步”
每次系统有计划变更(如内核升级、安全补丁、软件部署),都应视为重建基线的机会,而非简单运行 --update。
-
aide --update会直接覆盖原库,丢失历史对比能力;推荐做法是:先aide --check确认变更合理,再aide --init生成新库并按日期命名存档 - 维护一个简明变更清单,例如:
aide-db-20260825-kernel-5.14.0-284.el9.x86_64 - 数据库和
aide.conf应纳入 Ansible 或 Git 等配置管理流程,确保多台服务器策略一致

















