Fail2ban para nginx pós flood ignora intervalos de tempo

2

Estou tentando criar um filtro fail2ban que banirá o host quando enviar mais de 100 solicitações POST por um intervalo de 30 segundos.

jail.local:

[nginx-postflood]

enabled = false
filter = nginx-postflood
action = myaction
logpath = /var/log/nginx/access.log
findtime = 30
bantime = 100
maxretry = 100

nginx-postflood.conf

[Definition]
failregex = ^<HOST>.*"POST.*
ignoreregex =

Usando o GREP, pude testar as expressões regulares e, de fato, ele corresponde às solicitações do Host e do POST.

O problema é que ele proíbe qualquer Host que realize pelo menos uma solicitação POST . Isso significa que provavelmente não está levando em consideração as opções findttime ou maxretry . Na minha opinião, é questão de timestamp.

Linha de amostra do log nginx:

5.5.5.5 - user [05/Aug/2014:00:00:09 +0200] "POST /auth HTTP/1.1" 200 6714 "http://referer.com" "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0"

Alguma ajuda?

    
por Mark 09.08.2014 / 02:49

0 respostas