要将 Auditd 日志可靠转发至 Syslog,关键是在内核事件产生时直接经 audispd-syslog 插件发往 syslog 设施(如 local6),而非先写入 audit.log;需启用插件、禁用 write_logs、配置 rsyslog 接收并转发,确保全链路无文件落盘。

要将 Auditd 日志可靠转发至 Syslog,关键不是“读取 audit.log 再转发”,而是让内核审计事件在产生时就直接进入 Syslog 流程——绕过本地文件落盘,避免延迟、权限问题和轮转干扰。
启用 audispd-syslog 插件
Auditd 本身不直接写 syslog,它依赖 audispd(审计事件分发守护进程)及其插件。其中 audispd-syslog 是专用于向 syslog 设施(如 local0~local7)发送事件的内置插件。
- 确认插件存在:
ls /usr/lib64/audit/plugins/audispd-syslog*(RHEL/CentOS)或ls /usr/lib/audit/plugins/audispd-syslog*(Debian/Ubuntu) - 检查配置:
/etc/audisp/plugins.d/syslog.conf中需含:active = yesargs = LOG_LOCAL6(推荐用 local6,便于与命令审计等统一归类) - 若 inactive,改为
yes后执行:systemctl restart auditd
禁用 audit.log 落盘,只走 audispd 分发
默认 auditd 会同时写文件和分发事件,造成冗余和性能开销。应关闭文件写入,确保所有事件仅经 audispd → syslog 路径流转。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 编辑
/etc/audit/auditd.conf:write_logs = no(必须设置,否则仍会落盘)log_file = /dev/null(或保留小容量日志仅作调试) - 重启生效:
systemctl restart auditd
验证:重启后/var/log/audit/audit.log不再增长,说明已完全切换至 syslog 输出路径
配置 rsyslog 接收并转发 local6 日志
rsyslog 需识别来自 audispd 的 local6 设施日志,并按需本地处理或加密转发至 SIEM。
- 在客户端创建
/etc/rsyslog.d/20-audit-to-syslog.conf:local6.* /var/log/audit/forwarded.log(可选:本地规整存档)local6.* @@(o)siem.example.com:6514;RSYSLOG_SyslogProtocol23Format(TCP+TLS 加密转发) - 确保 rsyslog 加载了必要模块(通常默认启用),无需额外加载 imfile —— 因为这里不是读文件,而是接收 syslog 消息
- 重启 rsyslog:
systemctl restart rsyslog
验证与排查要点
转发链路为:内核事件 → auditd → audispd → syslog(local6) → rsyslog → 远端 SIEM,任一环节中断都会失败。
- 用
ausearch -m avc -ts recent或logger -p local6.info "test_audit_forward"触发一条日志,检查/var/log/audit/forwarded.log是否收到 - 确认 rsyslog 是否监听 UDP/TCP 端口(
netstat -tuln | grep :514),但注意:audispd-syslog 发送的是本地 syslog socket 通信,不走网络端口 - 若无日志,优先检查
auditctl -s确认 auditd 正常运行,再查systemctl status audispd

















