我正在尝试使用Snort检测ping泛洪攻击。我已经包含了规则
(drop icmp any any -> any any (itype:8; threshold, track by_src, count 20, seconds; msg:"Ping flood attack detected"; sid:100121))
在Snort的ddos.rule文件中。
我正在使用命令攻击
hping3 -1 --fast
攻击计算机中的ping统计信息
100%丢包
但是,Snort操作统计信息显示判断为
阻止 - > 0。
为什么会这样?
答案 0 :(得分:2)
有几点需要注意:
1)此规则缺少秒的值。你需要指定一个超时值,你现在有"秒;"你需要类似"秒5;"。由于这是无效的,我不确定snort实际上何时会生成警报,这意味着它可能只是丢弃所有icmp数据包,但不会生成任何警报。
2)此规则将删除itype 8的每个icmp数据包。阈值仅指定何时发出警报,而不是何时丢弃。因此,这将丢弃所有匹配的数据包,然后每20个生成1个警报。请参阅规则阈值手册here。
3)如果没有在内联模式下配置snort,您将无法实际阻止任何数据包。详细了解有关三种不同模式here的信息。
如果您只是想检测并丢弃ping泛洪,您应该更改此选项以使用detection_filter选项,而不是阈值。如果你想允许合法的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)
如果snort在5秒内看到来自同一源主机的20次ping,则会丢弃并生成警报。有关检测过滤器here的信息,请参阅snort手册。
使用此配置,您可以允许网络上的合法ping并阻止来自同一源主机的ping泛洪。