如何使用 syslog-ng 从 dmz 中的 www 服务器收集日志并将其发送到防火墙 (NAT) 后面的服务器。Zabbix 代理可以解决这个问题吗?

如何使用 syslog-ng 从 dmz 中的 www 服务器收集日志并将其发送到防火墙 (NAT) 后面的服务器。Zabbix 代理可以解决这个问题吗?

我在 DMZ 中有几个 www 服务器。我的监控和日志收集服务器位于我的 LAN 中。没有像 这样的通信
WWW server in DMZ ----> monitor server in LAN

我可以从我的 LAN 连接 DMZ

LAN --via proxy--> WWW server in DMZ

我将使用 syslog-ng。问题是 syslog-ng 在客户端-服务器架构中工作,客户端连接到服务器以发送日志。

有没有办法将 syslog-ng 配置为某种被动模式,以便服务器(在我的 LAN 中)连接到客户端(DMZ)并收集日志?

编辑:我正在阅读有关 Zabbix 代理(zabbix 可以监控日志)的文章... 理论上,依靠 zabbix 文档,我的方案是可行的。有人可以证实吗?

答案1

那么隧道技术呢?例如使用隧道? 对于每个要监控的 DMZ 服务器:

  1. 让日志服务器启动到 DMZ 服务器的隧道
  2. 配置 DMZ 服务器的系统日志,以便它连接到隧道并将其用作附加目的地

注意:这可能通过防火墙/NAT工作(根据您的标题),但不能通过代理工作(根据您的问题内容)。

答案2

我不知道 syslog-ng,但我知道可以配置 Splunk 定期从客户端系统收集和索引日志文件。否则,我认为你能做的最好的事情就是在你的日志服务器上设置一个 cron 作业来将文件 rsync 到类似的东西/var/log/clientN/*.log,然后在客户端上手动调用 logrotate。

答案3

可能没有帮助,但我会分享我们如何解决这个问题。本质上我们使用多个 DMZ。

  • DMZ1 包含面向 Internet 的主机,并且无法与内部 LAN 通信。
  • DMZ2 是一个隔离区域(位于同一防火墙、不同的 VLAN 上),可以与 DMZ1 中的主机通信(双向),但不是互联网。DMZ2 中的某些主机还可以与内部 LAN 上的某些主机进行通信。

因此,DMZ1 中需要集中系统日志记录/scp 文件/发送电子邮件报告的主机通过 DMZ2 中的管理主机进行这些操作。然后,管理主机上的信息可以被内部的主机获取。

相关内容