AIDE(Advanced Intrusion Detection Environment)是一款用于 Linux 系统的文件完整性检查工具,它通过检查数据文件的权限、时间、大小、哈希值等信息来校验数据的完整性,在生产环境中有广泛的应用。

1. 安装方式

目录

1. 安装方式

1.1  Debian/Ubuntu 系统

1.2  RHEL/CentOS 系统

2. 配置 AIDE

3. 初始化数据库

4. 运行检测

5. 查看检查结果

6. 配置钉钉定时告警

6.1 撰写脚本内容

6.2 授予执行权限

6.3 配置定时任务

7. 其他类似工具

7.1 Samhain

7.2 OSSEC

7.3 Tripwire


1.1  Debian/Ubuntu 系统

sudo apt update
sudo apt install aide

1.2  RHEL/CentOS 系统

sudo yum install aide  -y

2. 配置 AIDE

  • 主配置文件​​:/etc/aide.conf/etc/aide/aide.conf
  • ​关键配置项​​:
# 指定检查目录
/etc /var /usr /opt

# 校验属性(建议包含sha256)
file_attributes = size, perms, user, group, mtime, ctime, ftype, sha256

# 排除目录(避免误报)
exclude_dirs = /proc /sys /dev /tmp /var/tmp

3. 初始化数据库

sudo aide --init  # 生成初始数据库
sudo ln -s /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz  # 设为基准库

4. 运行检测

sudo aide --check   # 检查系统变化
sudo aide --update  # 更新基准库(确认无误报后)

5. 查看检查结果

AIDE 的检查结果默认记录在日志文件中:

cat /var/log/aide/aide.log

6. 配置钉钉定时告警

6.1 撰写脚本内容

cat   aide_dingtalk_alert.sh
#!/bin/bash

# 配置参数
DINGTALK_WEBHOOK="https://oapi.dingtalk.com/robot/send?access_token=你的钉钉机器人token"
AIDE_LOG="/var/log/aide/check_result.log"
TEMP_LOG=$(mktemp)

# 执行AIDE检查
echo "[$(date +'%Y-%m-%d %H:%M:%S')] 开始执行AIDE检查" > $TEMP_LOG
aide --check >> $TEMP_LOG 2>&1
echo "[$(date +'%Y-%m-%d %H:%M:%S')] AIDE检查完成" >> $TEMP_LOG

# 保存完整日志
cat $TEMP_LOG >> $AIDE_LOG

# 检查是否有异常
if grep -q "Changed files" $TEMP_LOG || grep -q "New files" $TEMP_LOG || grep -q "Removed files" $TEMP_LOG; then
    # 提取关键信息
    SUMMARY=$(grep -E "Changed files|New files|Removed files" $TEMP_LOG | tr '\n' '; ')
    
    # 构造钉钉消息
    MESSAGE="**AIDE文件完整性检查发现异常**\n\n\
    时间: $(date +'%Y-%m-%d %H:%M:%S')\n\
    主机: $(hostname -f)\n\
    摘要: $SUMMARY\n\
    详情请查看日志: $AIDE_LOG"
    
    # 发送到钉钉
    curl -s -H "Content-Type: application/json" \
    -d "{\"msgtype\": \"text\",\"text\": {\"content\": \"$MESSAGE\"}}" \
    $DINGTALK_WEBHOOK > /dev/null
fi

# 清理临时文件
rm -f $TEMP_LOG

# 每周日自动更新AIDE数据库(处理正常系统变更)
if [ $(date +%u) -eq 7 ]; then
    echo "[$(date +'%Y-%m-%d %H:%M:%S')] 每周更新AIDE数据库" >> $AIDE_LOG
    mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
fi

6.2 授予执行权限

chmod +x aide_dingtalk_alert.sh

6.3 配置定时任务

crontab   -l
0 5 * * * /path/to/aide_dingtalk_alert.sh

7. 其他类似工具

7.1 Samhain

        Samhain 是一款功能强大的跨平台文件完整性检查与入侵检测工具,支持 Linux、Unix、Windows 等系统,尤其在 Linux 环境中被广泛用于安全监控。它不仅能检测文件变更,还整合了日志分析、Rootkit 检测、进程监控等功能,适合中小型到企业级环境的安全防护

7.2 OSSEC

        OSSEC 是一款开源的入侵检测系统(IDS),兼具文件完整性检查、日志分析、实时告警等功能,广泛应用于 Linux、Windows、macOS 等多平台的安全监控。它不仅能检测文件篡改,还能监控系统日志、网络活动和异常行为,形成全方位的安全防护体系,尤其适合大规模服务器集群的集中化管理。

7.3 Tripwire

        Tripwire 是一款历史悠久且功能强大的文件完整性监控(FIM)工具,广泛应用于企业级 Linux 环境的安全防护。它通过建立文件基准数据库,持续监控文件的哈希值、权限、所有者等属性变化,从而检测未授权修改,是防御恶意入侵和内部滥用的重要工具。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐