实施AIDE文件完整性监控的关键是建立可信基线、聚焦高危路径、精准识别异常变更并形成响应闭环;需配置强校验规则、排除干扰路径、分层分析告警、结合命令溯源,并纳入自动化巡检与数据库防护。

实施基于 AIDE 的文件完整性监控策略,关键不是追求“全盘扫描”,而是建立可信基线、聚焦高危路径、精准识别异常变更,并形成可响应的闭环。它不提供实时阻断,但能在后门落地后的首次校验中就暴露痕迹——这才是对抗隐蔽植入的核心价值。
只监控真正关键的路径和文件
后门程序最常藏身于系统二进制目录、启动机制、权限配置和临时空间。盲目扫描整个根目录只会带来海量误报,掩盖真实风险:
-
/bin、/sbin、/usr/bin、/usr/sbin:启用
sha256+perm+uid+gid+size+mtime,一旦ls、ps、netstat等命令被替换,哈希立即不匹配 - /etc/cron.*、/etc/systemd/system、/var/spool/cron、/etc/crontab:监控定时任务和服务单元,新增或修改项可能是持久化入口
-
/etc/passwd、/etc/shadow:单独配置
sha256+perm+uid+gid+size+mtime,防止攻击者悄悄添加 UID 0 账户 -
/tmp、/dev/shm、/run:用
!/tmp明确排除,但若校验报告中出现这些路径下的新可执行文件(尤其无扩展名、.so、.elf),必须人工核查——这是内存马或临时后门典型落点
配置强校验规则,堵住绕过漏洞
默认规则太宽松,容易被攻击者利用元数据操作绕过。在 /etc/aide.conf 中需主动定义高保真规则:
- 定义严格规则如
FULL = p+i+n+u+g+s+b+m+c+sha256+acl+selinux+xattrs,把扩展属性、SELinux 上下文都纳入指纹 - 禁用
atime校验(避免日志轮转等正常操作触发变动),但必须保留mtime和ctime—— 后门写入必然改动这两项 - 排除路径要精确:
!/var/log/.*、!/proc/.*、!/sys/.*;!/tmp后不加.*,否则会漏掉/tmp/.hidden_dir这类完整子结构
校验结果不能只看“Changed”,要分层研判
运行 aide --check 后,告警需结合上下文判断性质:
-
Added:重点盯
/tmp、/dev/shm、/var/tmp、/home/*/.ssh/authorized_keys新增内容;也检查/lib/modules/下新出现的.ko模块(内核级后门) -
Changed:优先查
sha256字段是否变化——变了就是内容被篡改;若仅mtime变而哈希未变,大概率是运维操作;若perm从644变成755且哈希未变,说明文件被赋予执行权限,高度可疑 -
Removed:注意
/bin/busybox、/usr/bin/strace等调试工具消失,或/etc/ld.so.preload被清空——后者常被用于掩盖 LD_PRELOAD 注入攻击
纳入自动化与响应闭环
AIDE 本身是离线工具,但通过简单集成可形成有效防线:
- 首次部署后立即执行
aide --init && mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz,数据库必须存放在只读分区或独立安全主机上,防篡改 - 设置定时任务(如每周日凌晨):
0 2 * * 0 /usr/bin/aide --check | grep -E "(changed|added|removed)" | mail -s "AIDE Alert" admin@example.com - 告警邮件收到后,结合
lsof -p PID、cat /proc/PID/environ、journalctl -u servicename --since "1 hour ago"快速溯源;发现可疑文件后,用strings、file、readelf -d初步分析其行为特征

















