一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

如何配置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 = 1024admin_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 天

热门栏目