您的位置:首页 >如何在Linux中配置具体的文件完整性扫描
发布于2026-08-11 阅读(0)
扫一扫,手机访问
AIDE是最稳妥的文件完整性监控工具,因其原生支持权限、属主、SHA256、inode等全字段校验,且具备压缩数据库与增量比对能力;需精简配置规则、严格设置数据库权限并准确命名,避免误报与失效。

系统级扫描这件事,直接上 aide 就够了,没必要再折腾 md5sum 或者手写脚本。原因很简单:MD5 早就被证明存在碰撞,md5sum 最多只能防文件误损坏,挡不住恶意替换;就算改用纯 sha256sum 脚本,虽然能核对内容,但权限、属主、硬链接数、ACL、SELinux 上下文这些关键元数据,照样容易漏掉。相比之下,aide 对这些字段都是原生支持的,数据库还能压缩,也支持增量比对,更适合拿来长期运行。
默认配置太宽泛,一跑就满屏 Changed,实际多数是日志或临时文件刷新导致的。必须手动精简:
F = p+i+n+u+g+s+m+c+sha256(权限、inode、链接数、用户、组、大小、mtime、ctime、SHA256)/bin F、/sbin F、/usr/bin F、/etc/ssh/ F、/etc/pam.d/ F!/var/log/、!/tmp/、!/proc/、!/sys/、!/run/、!/etc/.*~、!/etc/*.logsudo aide --config-check,无输出才算通过两个地方一错,整个扫描就失效:
aide --init 生成的是 /var/lib/aide/aide.db.new.gz,必须手动重命名为 /var/lib/aide/aide.db.gz,否则 aide --check 会报 database not found600:sudo chmod 600 /var/lib/aide/aide.db.gz,否则非 root 用户可能篡改或读取grep 输出发邮件——aide --check 成功返回 0,发现变更返回 1,出错返回 2;只管道 grep 会漏掉 2(比如数据库损坏、权限不足),建议加退出码判断逻辑database=file:/var/lib/aide/aide.db.gz 中的 .gz、斜杠、大小写都必须完全匹配配置文件收到 Added、Removed、Changed 不代表立刻断定被黑,得看上下文:
Added 最危险——查新增文件路径是否在 /tmp、/dev/shm、/var/www 等可写目录;用 stat -c "%y %U %G" /path/to/file 看创建时间与属主Removed 比 Changed 更可疑——比如 /usr/bin/file 消失,可能是攻击者清理痕迹,优先核对 RPM 包状态:rpm -V fileChanged 要看具体字段:如果只有 m(mtime)变而 sha256 不变,可能是 touch 或日志轮转;如果 sha256 变了,再结合 journalctl --since "2 hours ago" | grep -i "update|upgrade" 排查是否刚执行过更新sudo aide --compare,它会输出新旧哈希值对比,能确认是不是真内容改动aide --init。早一小时,可能就把后门也当成可信状态存进数据库了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9