基于Snort的防火墙

我没有太多的工作与SNORT或做了太多的研究,但这听起来有可能。

如果我设置一个服务器,并运行snort。 那么是否有可能将所有的stream量通过它像一个防火墙路由到我的网站? 这是否允许我有一个中心点来过滤掉所有不好的stream量?

至于转发去,我应该使用GRE隧道还是有更好的方法? 如果可能,我想尽量保持客户的知识产权。

因此,我可以运行HA Proxy / nGinx作为转发网站stream量的方式,将客户端IP保留在数据包中,而不是以每个客户端作为代理服务器的IP。

Snort的一种安装方法称为串联模式。 在这种configuration中,您的snort传感器将成为您stream量的瓶颈,就像传统路由器或防火墙一样。 所有的数据包将在外部接口上接收,通过snort应用程序,然后转发到内部接口。 如果做得正确,对交通将是透明的,只不过是一座桥。 它也不需要修改你正试图保护的服务器。 所有的交通将stream经传感器,因为它不能去其他地方。

从这里您可以决定是否在IDS或IDP模式下运行snort。 IDS实施起来不那么可怕,因为警报将被触发,stream量将被logging下来,但数据包仍然会被传递。 IDP模式将分析这些数据包,如果configuration了这种模式,则会触发警报而丢弃数据包。

在任何情况下,您都必须小心处理您configuration的规则,并确保您的传感器大小合适。 例如,如果snortd进程被重载并且不能处理一个数据包,它将不会使其进入另一端。 点击率达到100%cpu使用率或内存是相当微不足道的。

对于第一个问题 – 是的,这是可能的。 你的DNS服务器设置为运行SNORT的服务器,并让该服务器将stream量转发到实际的networking服务器。 这是设置防火墙/过滤服务器的标准方法之一。

对于第二个问题 – 这是一个需要长时间讨论的问题,有些事情并不适合ServerFault站点。 “更好”是一个非常主观和不明确的术语。 我应该先从安全性,稳定性,升级/更新软件包的容易性,性能等方面着手考虑您的优先级。一旦完成,您可以开始比较这两种不同unix在这些方面的比较,如果您有一些具体的问题有更多的机会,你会得到一个很好的答案。

那么是否有可能将所有的stream量通过它像一个防火墙路由到我的网站?

这不仅是可能的,而且正是如果你想让它实际上丢掉不好的stream量,你应该如何设置一个IPS。

如果没有,那么它将成为一个IDS,只会标记不好的stream量。

我不同意你的问题的唯一部分是当你比较Snort和防火墙。

我有一种感觉,就是混合了networking安全的三个方面。

IPS / IDS

基于深度数据包检测和签名丢弃stream量

火墙

丢弃/允许基于源,目的地和端口的stream量。 防火墙确实发展了,不再是“愚蠢”了,但这是拥有防火墙的主要目标。

Web应用程序防火墙(WAF)

有点像IPS,但旨在检查HTTP和HTTPSstream量。 如果提供了正确的签名,WAF可以像IPS一样删除SQL注入尝试。


这是否允许我有一个中心点来过滤掉所有不好的stream量?

你的陈述的关键部分是所有不好的stream量 。 对此,我会回答不。

阻止所有不良stream量的唯一方法是阻止所有stream量。

我在所有三个领域(IPS,防火墙和WAF)都看到了最安全的Web应用程序,以保护前端。 然后在三层之间用防火墙隔离应用程序和数据。 它还有另一个IPS专门用于应用程序和数据之间的SQL注入检查。

猜猜…可能还是不能放下所有不好的stream量。


最后,关于使用的平台。

我真的很喜欢openBSD 。 PF是一个非常强大和免费的防火墙。

但是,您的select应该基于您舒适的pipe理和configuration。 如果你习惯于Ubuntu或者CentOS,那就去做吧。 试图用你不熟练的工具来保护你的应用程序是没有意义的。

因为如果你这样做,你很可能会降低networking的安全级别,而不是增加它。