2014-02-06 36 views
1

我试图用Snort检测ping洪水攻击。我已经在Snort的ddos.rule文件中包含规则Snort未显示阻止/丢弃的数据包

(drop icmp any any -> any any (itype:8; threshold, track by_src, count 20, seconds; msg:"Ping flood attack detected"; sid:100121)) 

我使用的命令,在攻击的机器

hping3 -1 --fast 

的ping统计攻击说

100%的丢包

然而,Snort的动作统计显示判决书如同

Block - > 0。

这是怎么发生的?

回答

2

需要注意的几件事:

1)该规则缺少秒数值。你需要指定一个超时值,你现在有“秒”;你需要类似“秒5”的东西。由于这是无效的,我不确定snort实际上是否会生成警报,这意味着它可能会丢弃所有icmp数据包,但不会生成任何警报。

2)该规则将丢弃itype8的每个icmp数据包。该阈值仅指定何时进行提醒,何时进行提醒。因此,这将丢弃匹配的所有数据包,然后每丢失一次,就会生成1次警报。请参阅规则阈值here上的手册。

3)如果您没有以内联模式配置snort,您将无法实际阻止任何数据包。有关三种不同模式的信息,请参阅here

如果您只是想检测并丢弃ping泛滥,则应该将其更改为使用detection_filter选项而不是阈值。如果你想允许合法ping,并且丢弃ping洪水,你不想使用阈值,因为你写这个规则的方式会阻塞所有的icmp itype 8数据包。如果您使用detection_filter,则可以编写一条规则,如果snort在距离同一个源主机5秒钟内看到20个ping,则会丢弃。这里是你的规则是什么样子的例子:

drop icmp any any -> any any (itype:8; detection_filter:track by_src, count 20, seconds 5; sid:100121) 

如果哼看到20坪彼此那么它就会降低,生成警报的5秒内相同的源主机。查看检测过滤器here的snort手册。

使用此配置,您可以在网络上允许合法ping,并阻止来自同一个源主机的ping泛洪。