GIS开发 | 空间分析 | 软硬件技术

AIDE介绍

AIDE 完整介绍

AIDE 完整介绍

一、全称与定位

AIDE = Advanced Intrusion Detection Environment,高级入侵检测环境

开源免费的 Linux 文件完整性监控工具(FIM),是等保 2.0 强制要求部署的主机安全组件,用来发现黑客篡改系统文件、植入后门、替换二进制程序的行为。

二、核心工作原理

1. 干净基线快照

系统刚装好、无病毒无入侵时,扫描指定目录(/etc/bin/sbin/usr/bin/root 等关键路径),记录每一个文件的全套指纹信息存入数据库 /var/lib/aide/aide.db.gz

  • 文件内容哈希:SHA256/SHA512(判断内容是否被篡改)
  • 基础属性:权限、属主 uid、属组 gid、inode、文件大小、修改时间 mtime、创建时间 ctime
  • 扩展属性:ACL、SELinux 标签、扩展文件属性

2. 定期比对检测

执行 aide --check 时,重新扫描当前系统文件,和基线数据库一一对比,输出三类异常:

  • Changed:文件内容 / 权限 / 归属被改动(高危,大概率后门、恶意修改 passwd、sshd 配置)
  • Added:多出陌生文件(木马、webshell、后门程序)
  • Removed:系统关键文件被删除(破坏运维、留入侵通道)

三、和 auditd 的核心区别(别混淆)

工具模式作用适用场景
AIDE 周期快照对比(每日定时) 事后发现文件被改了,不知道谁改的 等保合规、入侵事后取证、基线校验
auditd 内核实时审计 实时记录谁、何时、哪个进程修改文件 实时操作溯源、精细行为监控

两者互补,生产环境一般同时部署。

四、典型监控目录(必监控)

  1. 系统命令:/bin /sbin /usr/bin /usr/sbin(防止替换 ls、ps、ssh 后门)
  2. 系统配置:/etc(passwd、shadow、sshd_config、issue.net、sudoers 等)
  3. 管理员目录:/root
  4. 启动脚本:/etc/rc.d /etc/systemd
  5. 业务关键目录:你的宝塔站点根目录、后端程序目录

必须排除的目录(否则大量误报)

/proc /sys /dev /tmp /var/tmp /var/log(日志、临时文件、虚拟文件系统持续变动)

五、CentOS 最简实操命令

1. 安装

yum install aide -y

2. 配置文件

vi /etc/aide.conf

自定义监控路径、排除目录、校验算法(推荐 sha512)。

3. 初始化基线(系统干净时执行,只做一次)

aide --init
# 生成新库,替换为正式基准库
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

4. 日常检测(手动扫描)

aide --check

5. 正常运维更新基线(确认是人为修改后)

改完配置、升级系统后,同步更新基准库避免持续告警:

aide --update
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

六、安全价值(对应你前面配置 sshd、issue.net 场景)

  1. 黑客入侵后常篡改:/etc/passwd/etc/shadow/etc/ssh/sshd_config/etc/issue.net、系统命令;AIDE 会第一时间发现改动并告警。
  2. 满足等保三级测评硬性要求:主机必须具备文件完整性校验能力,缺少 AIDE 直接扣分。
  3. 服务器被入侵后,可完整导出 AIDE 报告,定位所有被篡改文件,用于溯源清理后门。

七、补充注意事项

  1. 基线数据库必须在系统干净时生成,如果系统已经中毒再初始化,基准本身就是脏的,检测完全失效。
  2. 建议把基准库异地备份(上传对象存储、另一台服务器),防止黑客本地删除数据库掩盖篡改痕迹。
  3. 配合 crontab 每日自动检测,输出日志并对接钉钉 / 邮件告警,不用人工每天手动执行。

八、简易定时任务(每日凌晨 2 点扫描)

# 编辑定时
crontab -e
# 添加
0 2 * * * /usr/sbin/aide --check >> /var/log/aide/daily_check.log 2>&1