2014-02-06 40 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泛洪。