我没有和SNORT合作过多,或者对此做了太多研究,但听起来有可能.
如果我设置一个服务器并在其上运行snort.那么可以将我的所有流量通过它像防火墙一样路由到我的网站吗?这会让我有一个中心点来过滤掉所有不良流量吗?
至于转发,我应该使用GRE隧道还是有更好的方法?如果可能的话,我想尝试保留客户端的IP.
因此,我可以运行HA Proxy / Nginx作为一种方式来转发网站流量并将客户端IP保留在数据包中,而不是最终将每个客户端作为代理服务器的IP.
解决方法
Snort的一种安装方法称为串联模式.在这种配置中,您的snort传感器将成为流量的阻塞点,就像传统的路由器或防火墙一样.所有数据包将在外部接口上接收,通过snort应用程序传递,然后转发到内部接口.如果正确完成,它将对流量透明,并且只不过是一座桥梁.它也不需要修改您试图保护的服务器.所有流量都将流经传感器,因为它无法进入其他任何地方.
从这里您可以决定是以IDS还是IDP模式运行snort. IDS实施起来不那么可怕,因为会触发警报并记录错误的流量,但仍然会传递数据包. IDP模式将分析数据包,如果配置,则会在数据包触发警报时丢弃数据包.
在任何情况下,您都必须小心配置哪些规则,并确保传感器尺寸合适.例如,如果snortd进程过载并且无法处理数据包,则不会将其从另一端传出. snort达到100%的cpu使用率或内存是非常微不足道的.