最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何配置Auditd协同Rsyslog实现审计日志双路落盘与远程备份
时间:2026-06-23 09:14:52 编辑:袖梨 来源:一聚教程网
auditd日志需本地可靠存储与安全远程同步:一、本地落盘须调优auditd.conf,设max_log_file=100MB、num_logs=50、space_left=1024M、flush=data防丢;二、通过audispd插件将auditd日志转为syslog(facility=local6);三、rsyslog配置双写规则,本地存档+TLS加密发往远程6514端口,并启用磁盘队列防断连。
要让 auditd 日志既本地可靠存储、又安全同步到远程节点,关键不是“双路”这个词本身,而是明确两件事:本地日志必须按规范轮转不丢失,远程传输必须加密、可验证、带防丢机制。下面分三块说清楚。
一、auditd 本地落盘:稳住第一道防线
默认配置在高负载或磁盘紧张时容易丢审计事件。必须调整核心参数:
-
log_file = /var/log/audit/audit.log:路径固定,不建议改;确保
/var/log/audit/所在分区有足够空间(建议 ≥20GB) - max_log_file = 100:单个日志文件上限设为 100MB(不是字节),避免单文件过大难分析
- num_logs = 50:保留 50 个归档文件(即约 5GB 历史),配合 logrotate 更稳妥
- space_left = 1024 和 admin_space_left = 512:分别设为剩余 1GB 和 512MB 时告警/暂停,防止磁盘写满导致 auditd 停摆
- flush = data:强制每次写入都刷盘,牺牲一点性能换日志不丢失
二、auditd → rsyslog 的可靠衔接
auditd 不直接发网络包,需通过 audispd 插件转给 rsyslog。这步配置错,远程就收不到任何审计事件:
- 编辑
/etc/audisp/plugins.d/syslog.conf,确认以下三项已启用且正确:
active = yes
format = syslog
facility = local6 - 在
/etc/audit/auditd.conf中设置:
dispatcher = /sbin/audispd
log_format = NOLOG(关闭 auditd 自己写文件,全交给 syslog 处理) - 重启生效:
sudo systemctl restart auditd(会自动拉起 audispd)
三、rsyslog 实现双目标:本地存档 + 远程加密备份
用一条规则同时满足“本地留一份”和“远程传一份”,不依赖脚本或定时同步:
- 在客户端(被审计主机)新建
/etc/rsyslog.d/30-audit-both.conf:
# 将 local6(即 auditd 日志)同时写本地文件 + 加密发远程
local6.* /var/log/audit-syslog.log
local6.* @@(o)192.168.1.20:6514;RSYSLOG_SyslogProtocol23Format
- 必须加队列防断连(网络抖动时不丢日志):
$ActionQueueFileName audit_q
$ActionQueueMaxDiskSpace 500m
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
- 远程目标(如
192.168.1.20)必须已部署 TLS 证书,并监听 6514 端口;客户端需提前安装并信任 CA 证书 - 本地生成的
/var/log/audit-syslog.log建议配合 logrotate 每日切割、压缩保留 30 天