首页/安全/等保与合规速查/rsyslog 集中收集:把日志搬离本地

rsyslog 集中收集:把日志搬离本地

集中日志服务器是防篡改与长期留存的基础:客户端将日志转发到服务器,服务器按主机与程序分类存储,并限制本地清理权限。

等保与合规速查安全更新于 2026-10-13

rsyslog 集中收集是什么

rsyslog 是 Linux 上主流的日志服务,既写本地文件也支持把日志转发到远端服务器。集中收集的意义有两层:一是防篡改,本机日志被清理后服务器仍有副本;二是长期留存,满足法规对网络日志留存期限的要求。客户端做转发配置,服务器按主机与程序分类落盘。

基本信息

适用平台Linux 各发行版(RHEL / CentOS / Ubuntu / Debian 等)
客户端配置/etc/rsyslog.d/ 下的转发规则文件
服务器配置按主机名与程序名分目录存储
传输方式UDP 514 简单但易丢包,生产建议 TCP 并叠加 TLS
权限要求修改服务配置需 root,服务端目录仅日志账号可写
留存要求网络日志按法规与内部制度保存,通常不少于六个月

典型使用场景

  • 等保整改中落实网络日志集中留存与防篡改要求
  • 多台主机日志汇聚到一台日志服务器,便于关联分析
  • 安全事件调查时比对本地与服务器副本,判断日志是否被清理
  • 把认证日志单独转发到审计库,供日常审阅与告警规则使用
  • 日志服务器与业务主机物理或账号隔离,降低被一并攻陷的风险

客户端转发配置

客户端转发配置
# /etc/rsyslog.d/50-remote.conf
*.* @@10.0.0.10:514        # @@ 表示 TCP;生产建议叠加 TLS 传输
# 单独转发认证日志可提高可读性
authpriv.* @@10.0.0.10:514
# 改完先校验再重载,避免日志中断
rsyslogd -N1 && systemctl reload rsyslog

服务端落盘配置

服务端落盘配置
# /etc/rsyslog.d/10-remote.conf
$template RemoteLogs,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
& stop

配置项与含义

配置项含义注意点
@@host:port使用 TCP 转发日志单 @ 为 UDP,丢包且明文
authpriv.*设施选择器,认证与授权类日志审计重点,建议单独转发
$template定义落盘路径模板路径含主机名便于溯源
& stop匹配后不再继续后续规则避免日志重复落盘
/var/log/remote服务端接收目录权限最小化,仅日志账号可写
服务器侧目录权限最小化,仅日志服务账号可写;本地删除不影响服务器副本,形成交叉验证。也可以用 journald 转发或专门日志平台替代,思路一致。
验证方式:在客户端用 logger 写一条测试日志,确认服务器目录出现对应记录,并把验证日期记入日志源台账。

易错点

  • UDP 514 明文传输:丢包且可篡改,建议改为 TCP 并叠加 TLS 加密
  • 服务器磁盘写满导致日志丢失:容量与轮转需监控告警,否则事故期间正好没有日志
  • 只转发不验证:配置看似正确但实际未到达,需用测试日志定期核验
  • 日志服务器与业务同机或同账号:被攻陷时副本一并被清理,集中留存失去意义

数据来源与参考

  • rsyslog 文档(rsyslog.conf 语法与模板)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌