AIDE 是做什么的
AIDE(Advanced Intrusion Detection Environment)对文件建立基线数据库,记录权限、属主、属组、大小、inode、时间戳与多种哈希值,之后按同一规则重新扫描并输出差异,用来发现系统文件被篡改。它的价值取决于基线质量:基线必须在系统干净可信的状态下初始化,并妥善保存在攻击者不易改写的位置,否则等于把已被污染的状态固化成「正常」。
基本信息
| 适用平台 | 麒麟、UOS、openEuler 均可从仓库安装 aide |
|---|---|
| 配置文件 | /etc/aide.conf,定义监控范围与检查项 |
| 数据库 | /var/lib/aide/aide.db.gz 为基线,新建的为 aide.db.new.gz |
| 常用命令 | aide --init、--check、--update |
| 权限要求 | root,需要读取全部被监控文件 |
典型使用场景
- 等保合规要求主机具备文件完整性检测能力,作为入侵检测的基础手段之一
- 安全事件后核对哪些系统二进制与配置文件被改动,为处置范围提供依据
- 交付与验收环节留一份基线,后续运维期间定期巡检对比
- 定期巡检关键目录(/bin、/sbin、/etc、模块目录)并输出差异报告
- 变更管理配套:审批通过的变更后执行 --update 更新基线,保持基线可信
- 排查异常文件:结合校验和变化定位被替换的程序或私自添加的配置
安装与建立基线
安装与建立基线
dnf install -y aide # 或 apt install aide
aide --init # 扫描全量并生成 aide.db.new.gz
cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz # 固化为基线
ls -l /var/lib/aide/ # 确认基线文件权限
# 定期检查(建议工作日低峰执行)
aide --check # 与基线比对并输出差异
aide --update # 变更审批通过后再更新基线
# 定时任务示例:
# 0 3 * * 0 /usr/sbin/aide --check | mail -s aide-report root配置项与检查维度
| 配置项 | 含义 | 使用建议 |
|---|---|---|
| database_in/new | 基线库读取与写出路径 | 基线放只读介质或异地保存 |
| 规则别名 | 如 R、L、N 组合权限与哈希检查 | 按目录重要程度选用不同规则 |
| 排除规则 | ! 或 = 前缀排除目录 | 排除日志、缓存、运行时目录降噪 |
| 哈希算法 | sha256 等摘要 | 兼顾强度与扫描耗时 |
| report_url | 差异输出目标 | 写入文件并集中收集 |
aide.conf 里必须为日志目录、缓存目录、临时目录设置排除规则,否则每次巡检都会被大量正常变化淹没,真实告警反而被忽略。
基线数据库本身也要保护:如果攻击者能改写基线,后续检查将不再报出任何异常;建议把基线文件放到只读介质或独立服务器,并记录每次更新的审批人。