auditd 审计实战:Linux 系统审计与溯源配置

适用场景

auditd 审计日志框架适用于需要记录”谁在何时对什么文件或命令做了什么”的高安全场景:等保三级合规审计、关键文件(/etc/passwd、Web 目录)完整性监控、特权命令与 SSH 登录溯源、入侵后取证。它基于 Linux 内核审计子系统,无需安装第三方 agent。

前置条件

  • Linux 内核 2.6 及以上(默认支持 audit)
  • root 权限
  • 预留至少 1GB 磁盘空间(默认日志目录 /var/log/audit/)

原理说明

auditd 依赖内核 audit 子系统工作:内核将系统调用、文件访问、登录事件写入审计队列,用户态守护进程 auditd 负责落盘,规则由 auditctl 加载。查询日志用 ausearch(按条件检索)与 aureport(汇总报表)。规则文件位于 /etc/audit/rules.d/,可持久化生效。

操作步骤

第一步:安装并启动

Ubuntu/Debian:

sudo apt install -y auditd audispd-plugins
sudo systemctl enable --now auditd

CentOS/RHEL 通常已内置:

sudo systemctl enable --now auditd

第二步:编写审计规则

创建 /etc/audit/rules.d/security.rules:

# 监控关键文件写与属性变更
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
# 监控 Web 目录文件变化
-w /var/www/html -p wa -k webroot
# 记录 root 用户执行的所有命令
-a always,exit -F arch=b64 -S execve -F euid=0 -k rootcmd
# 记录网络连接建立
-a always,exit -F arch=b64 -S connect -k network

-w 指定监控路径,-p wa 表示写与属性变更,-k 设置检索关键字。

第三步:加载规则

sudo auditctl -R /etc/audit/rules.d/security.rules
sudo auditctl -l

第四步:查询与溯源

# 按关键字检索今日事件
sudo ausearch -k identity -ts today
# 可读化输出(uid 转用户名)
sudo ausearch -k webroot -i
# 认证与登录报表
sudo aureport -au
sudo aureport -l

-i 将数字 ID 转换为可读名称,-ts today 限定时间范围。

第五步:日志保护与防篡改

编辑 /etc/audit/auditd.conf:

max_log_file = 128
num_logs = 5
space_left = 75
action_mail_acct = root

规则加载完成后设置不可变模式(重启前规则不可修改):

echo "-e 2" | sudo tee -a /etc/audit/rules.d/security.rules
sudo auditctl -R /etc/audit/rules.d/security.rules

配置验证

  • 触发事件:执行 sudo touch /etc/passwd 后运行 sudo ausearch -k identity -i,应出现 type=PATH 记录
  • 规则生效:sudo auditctl -l 输出与规则文件一致
  • 报表可用:sudo aureport -au 显示认证尝试统计
  • 重启持久化:reboot 后复查 sudo auditctl -l,规则仍存在

常见问题

Q1:auditd 与 ELK 日志平台冲突吗?

不冲突。auditd 负责内核级采集,可通过 audispd 插件(如 syslog 转发)将事件送入 ELK 统一分析,实现实时告警。

Q2:监控 Web 目录导致日志量过大怎么办?

缩小监控范围(只监控关键子目录),利用 -k 关键字精确检索;仍过大时调大 max_log_file 并启用日志轮转(num_logs)。

Q3:重启后规则丢失?

直接用 auditctl 添加的规则仅对当前会话生效,规则必须写入 /etc/audit/rules.d/ 才会在重启后自动加载。

总结

auditd 以内核审计能力提供比 Web 日志更底层的证据链:文件、命令、网络连接全量可追溯。建议关键服务器强制开启,配合关键字规则与定期 ausearch 巡检,构成应急响应与合规审计的取证基础。