Auditd与SIEM集成需构建内核事件采集到关联分析的闭环链路:禁用audit.log落盘(write_logs = no),启用audispd-syslog插件发至local6,再由rsyslog加密TCP转发至SIEM,并在SIEM端解析auid、exe等关键字段实现告警联动。

Auditd 与 SIEM 集成不是简单“转发日志”,而是构建从内核事件采集、标准化输出、加密传输到关联分析的闭环链路。关键在于绕过 audit.log 落盘,改用 audispd 插件直连 syslog,再由 rsyslog 加密推送到 SIEM(如 ELK、Splunk 或阿里云 SLS),确保事件低延迟、高保真、可溯源。
禁用本地落盘,启用 audispd-syslog 插件
默认 auditd 同时写 audit.log 并分发事件,既浪费 I/O 又增加日志管理复杂度。应关闭冗余落盘,只走插件通道:
- 编辑 /etc/audit/auditd.conf,设 write_logs = no(必须项),并注释或清空 log_file 行(如设为
/dev/null) - 检查 /etc/audisp/plugins.d/syslog.conf,确认 active = yes,且 args = LOG_LOCAL6(推荐 local6,避免与系统日志冲突)
- 重启服务:
systemctl restart auditd,验证 audit.log 不再增长,ausearch -m avc -ts recent仍能查到事件,说明内核审计仍在工作
配置 rsyslog 实现安全转发
rsyslog 是 auditd 与 SIEM 之间的可靠桥梁,需完成接收、过滤、加密、重传三步:
- 在 /etc/rsyslog.d/50-audit.conf 中添加接收规则:
local6.* @siem.example.com:10514;RSYSLOG_SyslogProtocol23Format(TCP + TLS 推荐) - 启用 TLS:生成客户端证书,配置
$DefaultNetstreamDriver gtls和$DefaultNetstreamDriverCAFile /etc/rsyslog.d/ca.pem - 加字段增强可读性:用
template提取 auditd 原始字段,例如%$!event.type% %$!auid% %$!exe%,便于 SIEM 解析归一化
SIEM 端解析与告警联动
SIEM 收到的是结构化 syslog 消息,需针对性解析才能发挥 auditd 的高价值字段:
- 提取关键字段:auid(原始用户ID)、uid(当前有效UID)、exe(执行路径)、key(规则标签)、success(是否成功)
- 建立告警规则示例:
— 匹配key:"ssh_login_fail"且success="no",5 分钟内超 10 次触发暴力破解告警
— 匹配key:"identity_change"且exe="/usr/sbin/useradd",立即通知账号管理员 - 与漏洞扫描结果联动:将 SIEM 中
exe="/usr/bin/nmap"或comm="nc"的事件,自动关联资产库中的 CVE 风险等级,提升研判优先级
运维验证与持续调优
集成后需常态化验证链路有效性,避免“假连接”:
- 手动触发测试事件:运行
sudo touch /tmp/audit-test,在 SIEM 中搜索key:"privilege_escalation",确认 3 秒内可见完整事件(含 auid、pid、exe) - 监控 rsyslog 队列积压:
rsyslogd -N1检查配置语法,systemctl status rsyslog观察是否有imjournal或omfwd错误 - 按需精简规则:若 SIEM 存储压力大,可关闭低价值规则(如
-w /tmp -p x),保留/etc/shadow、execve、setuid等核心链路

















