新手配置Linux文件完整性定时扫描应选用AIDE工具,完成安装、初始化可信基线、精简配置规则、设置crontab定时检查并邮件告警,最后通过报告中的Added/Removed/Changed项快速响应。

新手配置Linux文件完整性定时扫描,核心是选对工具、建好基线、设好周期、看得懂报告。AIDE是最适合入门的专用工具,不依赖外部服务,一次配置就能长期运行。
安装与初始化可信基线
先确保系统干净(刚重装或确认无入侵),再执行初始化:
- Debian/Ubuntu:sudo apt install aide
- RHEL/CentOS:sudo dnf install aide(8+)或 sudo yum install aide(7)
- 生成初始数据库:sudo aide --init → 输出
/var/lib/aide/aide.db.new.gz - 设为正式数据库:sudo cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
这一步不能跳过,也不能在系统已运行多日后补做——否则基线本身就不干净,后续所有比对都失去意义。
精简配置规则避免误报
编辑 /etc/aide.conf,聚焦关键路径,排除动态内容:
- 定义常用规则别名,例如:
F = p+i+n+u+g+s+b+m+c+sha256(含权限、属主、大小、修改时间、SHA256哈希) - 监控重点目录:
/etc F、/bin F、/sbin F、/usr/bin F - 明确排除干扰项:
!/var/log/.*、!/tmp/、!/proc/、!/sys/ - 保存后测试语法:sudo aide --config-check(无输出即通过)
设置定时检查并自动发报告
用 crontab 实现每天凌晨自动扫描,并只推送异常项:
- 编辑 root 定时任务:sudo crontab -e
- 添加一行(每天 2:30 执行):
30 2 * * * /usr/bin/aide --check 2>/dev/null | /bin/grep -E "(Added|Removed|Changed)" | /bin/mail -s "AIDE Alert $(hostname)" admin@company.com - 如需存档日志,可改用:
30 2 * * * /usr/bin/aide --check > /var/log/aide/$(date +\%Y\%m\%d).log 2>&1
注意:AIDE 检查成功返回 0,发现变更返回 1,出错返回 2。脚本中建议加 || echo "AIDE failed" | mail ... 捕获异常。
看懂报告并快速响应
收到邮件或查看日志时,重点关注三类结果:
- Added:新增文件——最危险,可能是攻击者上传的 webshell 或恶意二进制
-
Removed:文件被删——如
/usr/bin/file消失,可能预示命令替换攻击 -
Changed:内容或属性变更——检查
sha256字段是否变化;若仅mtime变而哈希未变,大概率是正常更新
发现可疑变更,立即用 sudo aide --compare 查看新旧哈希对比,并结合 journalctl --since "2 hours ago" 和 ls -la /path/to/file 判断是否为运维操作。











