Rsyslog 不记录 Windows 事件

Rsyslog 不记录 Windows 事件

我正在尝试配置将 Windows 事件发送到 rsyslog 服务器,但 rsyslog 忽略了它们。

$EscapeControlCharactersOnReceive off

template(name="OnlyMsg" type="string" string="%msg:::drop-last-lf%\n")

module(load="imtcp")
input(type="imtcp" port="10514" ruleset="Remote10514LogProcess")

template(name="RemoteWinLogSavePath" type="list") {
    constant(value="/var/spool/rsyslog/windows-pci-dss/")
    property(name="hostname")
    constant(value="/")
    property(name="timegenerated" dateFormat="year")
    constant(value="/")
    property(name="timegenerated" dateFormat="month")
    constant(value="/")
    property(name="timegenerated" dateFormat="day")
    constant(value="/")
    property(name="$.logpath" )
}

ruleset(name="Remote10514LogProcess") {
    set $.logpath = replace($programname, "-", "/");
    if ( $syslogtag contains "Security" ) then 
        action(type="omfile" dynaFileCacheSize="1024"
               dynaFile="RemoteWinLogSavePath" 
               template="OnlyMsg" flushOnTXEnd="off" asyncWriting="on" 
               flushInterval="1" ioBufferSize="64k")
}

从 Windows 服务器接收到的数据包片段

14:28:31.034046 IP 192.168.1.2.64733 > 192.168.1.49.10514: UDP, length 286
        0x0000:  4500 013a 7eb8 0000 8011 231e c0a8 0b5b  E..:~.....#....[
        0x0010:  c0a8 0b31 fcdd 2912 0126 e9cd 3c31 3837  ...1..)..&..<187
        0x0020:  3e4e 6f76 2020 3120 3134 3a32 383a 3330  >Nov..1.14:28:30
        0x0030:  2050 524f 442d 3031 2d44 4330 3320 5365  .WIN-SERVER.Se
        0x0040:  6375 7269 7479 2d41 7564 6974 696e 673a  curity-Auditing:
        0x0050:  2034 3737 363a 2041 5544 4954 5f46 4149  .4776:.AUDIT_FAI
        0x0060:  4c55 5245 2054 6865 2063 6f6d 7075 7465  LURE.The.compute
        0x0070:  7220 6174 7465 6d70 7465 6420 746f 2076  r.attempted.to.v
...

即使我只是指定

:syslogtag, startswith, "Security-Auditing:" -/var/spool/rsyslog/Security/Auditing.txt
:syslogtag, startswith, "Security-Auditing:" ~

不管用。

答案1

据我所知,Windows 无法将事件日志“这样”转发到远程 SYSLOG 服务器。相反,您应该考虑以下方法之一:

  • 设置 Windows 事件收集器 (WEC) 服务器并配置您的源客户端 (WEF) 以定位此收集器。然后您必须在其上安装一个代理解决方案,该解决方案会将您的日志转发到您的最终目标(例如:SIEM)。主要可用的代理解决方案是:NXLog 代理 CE、WinLogBeat、RSYSLOG、Splunk 代理 UF、...
  • 使用模拟 WEC 服务器的无代理方法。这可以通过市场上的两种解决方案来实现:NXLog agent Enterprise 或 SYSLOG-NG Premium。
  • 部署上述代理解决方案之一之前在所有 Windows 源客户端上都进行此操作。但根据环境的大小,这可能非常复杂。我个人建议采用 WEC 方法。

请注意,如果您的源主机位于同一个域中,则可以非常快速地设置带有 Kerberos 身份验证的 WEC。如果您的源主机位于工作组中,您可能需要部署并使用 TLS 证书。

在所有情况下,如果你想更熟悉 Windows 事件收集器的功能,我建议你看一下这个推介会

相关内容