You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分rsyslog接收的Sophos XGS4300合并防火墙日志?

Sophos XGS4300日志拼接问题解决方法

为什么防火墙会发送拼接后的日志?

这是Sophos XGS系列的默认优化策略,目的是在高日志量场景下减少网络连接次数、降低带宽开销。防火墙会将多条日志聚合成一个syslog消息发送,默认的分隔符是#000<30>(其中#000是ASCII空字符,<30>是syslog优先级标识)。

你可以直接在防火墙端解决这个问题:登录Sophos XGS Web管理界面,进入系统 > 日志设置 > 日志转发,找到对应的syslog服务器配置项,调整「批量大小」为1,或者禁用「日志聚合」功能,这样防火墙会每条日志单独发送,无需在rsyslog中处理拆分。

rsyslog端日志拆分方案

如果无法修改防火墙配置,可在rsyslog中通过以下配置实现拆分(需rsyslog 8.30及以上版本,支持split函数):

修改后的rsyslog配置文件

$DebugFile /var/log/rsyslog.debug
$DebugLevel 2
$EscapeControlCharactersOnReceive off  # 关键:关闭控制字符转义,才能识别ASCII空字符
module(load="mmnormalize")
global(
  DefaultNetstreamDriver="gtls"
  DefaultNetstreamDriverCAFile="/etc/rsyslog.d/keys/ca/sophos-default.pem"
  DefaultNetstreamDriverCertFile="/etc/rsyslog.d/keys/bundle.pem"
  DefaultNetstreamDriverKeyFile="/etc/rsyslog.d/keys/server-key.pem"
)

# 加载TLS TCP监听模块
module(
  load="imtcp"
  StreamDriver.Name="gtls"
  StreamDriver.Mode="1"
  StreamDriver.Authmode="x509/certvalid"
)

# 启动6514端口监听
input(
  type="imtcp"
  port="6514"
)

# 处理Sophos拼接日志
if ($inputname == "imtcp") then {
  # 移除msg开头的rsyslog自动添加的前缀(时间、主机等)
  set $msg = $msg:R,ERE,1,FIELD:^[^>]+>(.*)$;
  # 用分隔符#000<30>拆分日志条目
  set $logEntries = split($msg, "#000<30>");
  # 遍历每个拆分后的日志条目
  foreach $entry in $logEntries do {
    # 跳过空条目
    if $entry != "" then {
      # 将单条日志写入文件(可替换为转发到SIEM的action)
      action(type="omfile" file="/var/log/rsyslog/sophos-split.log" template="RSYSLOG_SyslogProtocol23Format")
      # 示例:转发到SIEM服务器(根据实际情况修改)
      # action(type="omtcp" target="siem.example.com" port="514" template="RSYSLOG_SyslogProtocol23Format")
    }
  }
  stop  # 终止原始拼接日志的后续处理
}

配置说明

  1. $EscapeControlCharactersOnReceive off:关闭控制字符转义,确保rsyslog能正确识别日志中的ASCII空字符#000。
  2. 前缀移除:通过正则去掉rsyslog自动添加的时间、主机等前缀,只保留Sophos的原始日志内容。
  3. 拆分与循环:使用split函数将拼接日志拆分为数组,再通过foreach循环处理每条日志,过滤空条目后写入文件或转发到SIEM。

内容的提问来源于stack exchange,提问作者Matthias Bitsch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 01:05:56