AIDE发现后门的核心是建立可信基线、聚焦高危路径、精准比对变更;需监控/bin等关键目录及/etc/cron*等持久化入口,配置FULL规则校验哈希与属性,排除干扰路径,并分层分析Added/Changed/Removed告警。

核心是建立可信基线、聚焦高危路径、精准比对变更,而不是追求“实时”。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:新增或修改的服务单元或定时任务,往往是持久化入口
-
/tmp、/dev/shm、/run:用
!/tmp排除整个目录,但若发现其中出现无扩展名可执行文件、.so或.elf文件,需人工核查——这是内存马或临时后门常见落点 -
/etc/passwd、/etc/shadow:单独配置
sha256+perm+uid+gid+size+mtime,防新增高权限账户
配置强校验规则,堵住绕过漏洞
默认规则太弱,攻击者可通过改权限、换时间戳等方式绕过。必须在 /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/newdir/这类新建子目录结构
比对结果要分层看,不只扫一眼
运行 aide --check 后,不能只看有没有 “Changed”,得按类型快速判断风险等级:
-
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 注入
自动化巡检与数据库保护缺一不可
靠手动跑 --check 不现实,必须闭环管理:
- 用
crontab设置每日检查,例如:15 3 * * * /usr/bin/aide --check | /bin/grep -E "(Added|Removed|Changed)" | /bin/mail -s "AIDE Alert on $(hostname)" admin@example.com - 每次成功校验后,可选执行
aide --update更新数据库,并按日期归档历史版本(如aide.db.gz.20260618),便于回溯分析 - 数据库文件
/var/lib/aide/aide.db.gz必须由 root 创建且不可被普通用户写入;建议生成 SHA256 指纹存于/root/aide.db.sha256,防止数据库自身被篡改

















