aide通过建立可信基线、聚焦高危路径、精准比对变更并识别异常文件特征来发现后门;需配置强校验规则、排除干扰路径、分层分析告警、结合命令溯源,并纳入自动化巡检与数据库防护闭环。

要在Linux上用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:检查非管理员添加的计划任务
-
/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上下文都纳入校验 - 为
/etc/passwd和/etc/shadow单独指定sha256+perm+uid+gid+size+mtime,防止攻击者新增高权限账户 - 禁用
atime(访问时间)校验,避免日志轮转等正常操作触发变动;但必须保留mtime和ctime,后门写入必然改动这些时间戳 - 排除路径要明确:
!/var/log/.*、!/proc/.*、!/sys/.*,但!/tmp/后面不加.*,否则会漏掉/tmp下新建的完整子目录结构
校验与响应:从告警到定位后门的三步动作
运行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注入
确认异常后,立即用stat查时间戳、file看文件类型、strings扫可疑字符串、lsof -p $(pidof suspicious_proc)查关联进程,再结合journalctl --since "2 hours ago"回溯操作源头。
自动化巡检与数据库防护:让体系真正落地
手动检查不可持续。将AIDE纳入生产闭环:
- 每天凌晨执行校验:
0 3 * * * /usr/bin/aide --check --config=/etc/aide.conf 2>&1 | /usr/bin/grep -E "(Added|Removed|Changed)" | /usr/bin/mail -s "AIDE ALERT $(hostname)" sec@team.com - 数据库文件
/var/lib/aide/aide.db.gz设为600权限,并用chattr +i锁定(更新时临时解除) - 每次系统升级或打补丁后,必须运行
aide --update并归档新数据库,附带变更说明:“20260430-kernel-5.10.198-安全补丁”,避免把合法更新误判为入侵 - 把数据库备份到离线介质或另一台安全服务器,防止攻击者直接删库灭迹











