商城首页欢迎来到中国正版软件门户

您的位置:首页 >如何在Linux中配置具体的文件完整性扫描

如何在Linux中配置具体的文件完整性扫描

  发布于2026-08-11 阅读(0)

扫一扫,手机访问

AIDE是最稳妥的文件完整性监控工具,因其原生支持权限、属主、SHA256、inode等全字段校验,且具备压缩数据库与增量比对能力;需精简配置规则、严格设置数据库权限并准确命名,避免误报与失效。

如何在Linux中配置具体的文件完整性扫描

怎么选工具:AIDE 是当前最稳妥的选择

系统级扫描这件事,直接上 aide 就够了,没必要再折腾 md5sum 或者手写脚本。原因很简单:MD5 早就被证明存在碰撞,md5sum 最多只能防文件误损坏,挡不住恶意替换;就算改用纯 sha256sum 脚本,虽然能核对内容,但权限、属主、硬链接数、ACL、SELinux 上下文这些关键元数据,照样容易漏掉。相比之下,aide 对这些字段都是原生支持的,数据库还能压缩,也支持增量比对,更适合拿来长期运行。

/etc/aide.conf 规则怎么写才不误报

默认配置太宽泛,一跑就满屏 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/*.log
  • 检查语法是否合法:sudo aide --config-check,无输出才算通过

数据库初始化和定时任务最容易错在哪

两个地方一错,整个扫描就失效:

  • aide --init 生成的是 /var/lib/aide/aide.db.new.gz,必须手动重命名为 /var/lib/aide/aide.db.gz,否则 aide --check 会报 database not found
  • 数据库文件权限必须设为 600sudo chmod 600 /var/lib/aide/aide.db.gz,否则非 root 用户可能篡改或读取
  • crontab 里不能只依赖 grep 输出发邮件——aide --check 成功返回 0,发现变更返回 1,出错返回 2;只管道 grep 会漏掉 2(比如数据库损坏、权限不足),建议加退出码判断逻辑
  • 日志路径别写错:database=file:/var/lib/aide/aide.db.gz 中的 .gz、斜杠、大小写都必须完全匹配配置文件

怎么看出告警是真的入侵而不是运维操作

收到 AddedRemovedChanged 不代表立刻断定被黑,得看上下文:

  • Added 最危险——查新增文件路径是否在 /tmp/dev/shm/var/www 等可写目录;用 stat -c "%y %U %G" /path/to/file 看创建时间与属主
  • RemovedChanged 更可疑——比如 /usr/bin/file 消失,可能是攻击者清理痕迹,优先核对 RPM 包状态:rpm -V file
  • Changed 要看具体字段:如果只有 m(mtime)变而 sha256 不变,可能是 touch 或日志轮转;如果 sha256 变了,再结合 journalctl --since "2 hours ago" | grep -i "update|upgrade" 排查是否刚执行过更新
  • 别只看邮件摘要,手动跑一次 sudo aide --compare,它会输出新旧哈希值对比,能确认是不是真内容改动
真实环境里,最难的不是配通,而是把“干净基线”建在对的时间点——系统重装后、打完补丁后、关掉所有无关服务后,再跑 aide --init。早一小时,可能就把后门也当成可信状态存进数据库了。
本文转载于:https://www.php.cn/faq/2972933.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注