Snort - 试图了解这个snort规则是如何工作的

时间:2014-11-26 00:45:52

标签: tcp snort denial-of-service intrusion-detection

我有一项任务要求我将以下规则放入Snort。

删除tcp any any - > 192.168.1.0/24 any(msg:“TCP DoS”; flow:established,to_server; flags:A; threshold:type threshold,track by_src,count 10,seconds 10;)

该规则应该阻止HC在SVR上执行DoS。我的印象是,此规则将阻止流量前往 .1.0 / 24子网,停止前往回复。 .1.0 / 24子网,这将允许服务器继续操作

我看到规则的方式,它不会起作用。它会阻止前往错误位置的流量。服务器位于 .2.0 / 24和 .3.0 / 24网络上,并且应阻止流量朝向该方向。

我的网络设置如下:

系统/ LAN网段/ IP地址

管理客户(AC)/ IT / 192.168.100.3/24

用户客户(UC)/ Corporate / 192.168.101.25/24

黑客客户端(HC)/ Rogue / 192.168.13.37

pfSense路由器/防火墙(3 NICS)/ fwNet / 192.168.1.2

                           IT                     192.168.100.1
                           Corporate              192.168.101.1

Ubuntu路由器(3 NICS)/ fwNet / 192.168.1.1

                           idsNet                 192.168.2.1
                           Rogue                  192.168.13.1

Snort IDS / IPS(2 NICS)(IDS)idsNet 192.168.2.2

                           sNet                   192.168.3.1

服务器(SRV)/ sNet / 192.168.3.2

上面的表格看起来很丑,但我现在无法修复它。我已经尝试过,这个系统上没有剪切工具,这是我现在能做的最好的事情。

基本上,谁是正确的?

提前感谢您的帮助。这是信息性的。该作业已上交并正在评分。我需要了解它是如何工作的。

再次感谢。

1 个答案:

答案 0 :(得分:2)

此规则将删除发往建立连接的192.168.1.0/24范围内的任何IP的每个tcp数据包,并设置Ack标志并考虑..1.0 / 24范围内的主机服务器。
如果规则在10秒内触发10次,它只会生成一个事件,这并不意味着它不会丢弃流量,threshold只会限制您获得的事件数量,因此它会下降所有数据包,只有在10秒内匹配10次才会生成事件。如果它是为了防止DOS,你会想要使用rate_filter关键字,否则它只会丢弃所有内容,阻止DOS,是的,但也阻止任何人访问服务器。

在tcp中,3whs之后从客户端到服务器的所有数据包都应该设置Ack标志,这样就会在3whs之后丢弃每个去往服务器的数据包。 (我相信“标志:A”在流程之前用于snort:已添加已建立的功能,因此这些功能完全相同,而且这是一项额外的不必要的检查)

如果您的服务器不在..1.0 / 24范围内,那么此规则将不会执行任何操作,因为它是单向规则。在这种情况下,将数据包转发到服务器的192.168.1.0/24是不可能的。既然你说你的服务器在..2.0 / 24和..3.0 / 24范围内,那么这条规则根本不会做任何事情。

示例:

Client: 192.168.1.1
Server: 192.168.3.2

在这种情况下,规则永远不会匹配,因为服务器不在192.168.1.0/24范围内。

扭转上面的例子:

Client: 192.168.3.2
Server: 192.168.1.1

3次握手后,会话中从192.168.3.2到192.168.1.1的所有数据包都将被丢弃。如果在10秒内从客户端发送到10个数据包,将生成一个事件。