![将数据包复制到另一个本地主机(SIEM)](https://linux22.com/image/757517/%E5%B0%86%E6%95%B0%E6%8D%AE%E5%8C%85%E5%A4%8D%E5%88%B6%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%9C%BA%EF%BC%88SIEM%EF%BC%89.png)
我们有一个中央系统日志服务器,用于收集来自主机的所有日志,最近我们又得到了一个 SIEM,我们也想收集日志。
我们希望中央 Syslog 服务器将日志复制到 SIEM,而无需更改源 IP/源 Mac。不重定向,因为这样 Syslog 服务器中就不会有日志。因此,最终结果是我们将日志发送到中央 Syslog 服务器,并且我们的中央 Syslog 服务器和 SIEM 中都会有来自将其发送到中央 Syslog 服务器的资产的 IP 的日志。
我们想要这样做的原因是。
- 有些设备只允许我们将日志转发到单个 syslog 设备
- 必须配置所有设备以结束对两者的日志记录非常耗时。
- 如果我们使用 rsyslog 从中央 Syslog 服务器转发任何日志,根据日志,源将显示为中央 Syslog 服务器,这对于 SIEM 上的关联来说是一个噩梦。有些日志不包含来源,因此对于这些日志,SIEM 会假设转发日志的设备是源。
我尝试使用 iptables 来执行此操作,但只能重定向日志,而不能发送重复日志。
可以使用 IP 表或任何其他应用程序来实现这一点吗?我愿意接受任何建议。
答案1
您可以尝试 iptables TEE 目标,但它有一个限制,即复制数据包的目的地必须位于同一个第 2 层网段上。
从手册页中:
TEE 目标将克隆数据包并将此克隆重定向到本地网段上的另一台机器。换句话说,下一跳必须是目标,否则您将必须配置下一跳以根据需要将其进一步转发。
例如,在接收日志的服务器上,您可以执行以下操作:
iptables -t mangle -A PREROUTING -p udp --dport 514 -j TEE --gateway 192.168.87.203
这会将 UDP 数据包的副本(包含原始源地址)发送到给定的网关 IP 地址。