如何将网络接口上的所有流量镜像到虚拟接口

lac*_*991 1 networking security debian snort ids

我正在尝试在兼作路由器的 debian 机器上设置 snort 作为 ID。理想情况下,我想以这种方式设置 snort,这样我就不必购买额外的网络适配器,只是让它侦听 debian 机器已经处理的相同流量。话虽如此,从接口镜像流量,然后将镜像流量发送到 snort 的最佳方法是什么?或者你会建议我走不同的路线吗?我在想一座桥可能会起作用,但我不确定这是否是正确的解决方案,任何帮助将不胜感激,谢谢!

Sco*_*ack 5

在您的情况下,我认为我们可以构建两个可能有效的设计选项。

  1. 直接在路由器上运行snort。
  2. 在专门用于此目的的单独盒子上运行 snort。

在路由器上运行

由于您已经为路由器推出了自己的 Debian 实例,因此只需为您的版本/架构安装或编译软件包即可。然后,您可以配置 snort 以连接到内部或外部接口,具体取决于您要监控的接口,然后让 'er rip'。

这很容易,不需要添加更多硬件,可以很容易地重新配置为在 IDP 模式下运行,并且不需要任何潜在的奇怪网络配置来工作。最大的缺点是性能。Snort 会消耗大量资源。它可能会轻微地耗尽系统中的所有 RAM 和 CPU,从而使您的路由器无法路由。

Snort 有很多配置选项。不只是打开或关闭规则,还包括某些主机的白名单规则,调整用于数据包碎片整理的内存字节数,用于 TCP 流重组的内存中存储的数据包数量等。我通常建议花费大量时间调整这些参数,甚至在您设置好它们之后,您也希望它们返回并定期检查以查看是否需要调整任何内容。

运行专用传感器

这通常是推荐的解决方案。它解决了资源竞争的网络中断问题。它允许您使用特制的硬件,让您的传感器完全按照您的意愿运行。这还可以让您腾出时间添加额外的硬盘驱动器来运行 daemonlogger,或者投入更多 RAM,而无需处理安排完整的网络中断。它也更具可扩展性。当然,我可以在家里运行 pfSense 的 Pentium 4 whitebox 上运行 snort,但是我无法让它在工作时在 Juniper EX-8216 上运行。专门构建的传感器将在这两种环境中运行得一样好。

不利的一面是,您要添加另一个系统来管理、另一个消耗电力的盒子、要疏散更多的 BTU,等等。根据您的网络基础设施,将数据放入其中可能容易也可能不容易。主要的网络供应商都在做这件事。Cisco 称之为 SPAN 会话,Juniper 称之为分析器,Enterasys 称之为镜像。可以使用TEE目标对 iptables 执行相同的功能,但我不知道任何其他主机防火墙是否可以或如何执行此操作。万一失败了,您可以使用网络分路器,这是一种以电子方式复制数据流的物理设备。

无论如何,您必须做的是获取从您的网络基础设施到您的传感器的流量副本。执行此操作的最佳方法以及推荐的方法是在您的传感器中安装两个 NIC:1 个用于管理,1 个用于监控。接口的价格可能相差很大,但除非您谈论的是链路大于 1Gbps 或持续吞吐量接近 1Gbps 的情况,否则卡非常便宜。我一直在推荐一个简单的 Intel Pro/1000 GT,它是 30 美元,可以满足您的一切需求!

可以在一个界面上运行,但我不推荐它。由于在通常预期(假设?)只能接收的链路上传输的问题,您很可能会遇到奇怪的监控不一致或潜在的网络问题。

在我们的信息安全专业人员姐妹网站上的snort 标签上有相当多的可用信息