2016-03-07 83 views
0

fail2ban實現中,我有一個jail存在以減少getfloods。也就是說,在一定的時間範圍內有太多的GET反應被禁止。簡單的正則表達式調整

fail2ban通過我餵它的基本正則表達式來檢測這些。即:

failregex = ^<HOST>.*"GET.* 

該正則表達式解析就像在我的nginx access.log文件以下行,並採取必要的行動。

39.54.230.53 - - [07/Mar/2016:11:59:43 +0000] "GET/HTTP/1.1" 499 0 "http://example.com/" "Mozilla/5.0 (Linux; Android 4.4.2; 

現在我想在這裏添加一個微妙。我只想解析與/vote/開頭的特定url模式有關的GET行,而不是所有的GET行。看下面的例子:

31.13.113.92 - - [07/Mar/2016:15:36:48 +0000] "GET /vote/1564968/39947/5/1/ HTTP/1.1" 302 5 "http://example.com/?io 

我的問題很簡單。我如何調整我的正則表達式?它會簡單地成爲:

failregex = ^<HOST>.*"GET /vote/.* 

是嗎?

+0

你可以試試它。這似乎是正確的,我不熟悉fail2ban和意味着什麼,但。*「GET/vote ....接縫確定 – achabahe

回答

0

您需要避開正斜槓。

failregex = ^<HOST>.*"GET \/vote\/.*