Fail2Ban comportamento de bloqueio dependendo do código de status

3

Estou usando o Fail2Ban e o configurei conforme necessário. Isso é ler logs do nginx / error.log e está agindo dependendo das configurações sobre os conjuntos maxretry e timing. A questão é que é possível ter regras diferentes dependendo dos códigos de status?

Por exemplo, eu quero bloquear qualquer um que receba 10 404 Status code em 5 minutos, mas bloquear qualquer um que receba 3 403 Status code .

Qualquer ajuda seria muito apreciada, obrigado antecipadamente.

    
por Parsa Samet 13.05.2017 / 06:46

1 resposta

6

Você deve adicionar um filtro em /etc/fail2ban/filter.d/ com um nome relevante - por exemplo, nginx-{403,404}.conf .

Eles devem conter algo como as seguintes linhas:

nginx-403.conf:

[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD).*HTTP.*" 403
ignoreregex =

nginx-404.conf:

[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD).*HTTP.*" 404
ignoreregex =

Então você deve chamá-los de seu arquivo jail.conf ou qualquer arquivo do seu conf:

Para 403:

[nginx-403]

enabled = true
port    = http,https
filter  = nginx-403
logpath = /var/log/nginx/access.log
maxretry = 5
findtime = 300

E para 404:

[nginx-404]

enabled = true
port    = http,https
filter  = nginx-404
logpath = /var/log/nginx/access.log
maxretry = 10
findtime = 300
    
por 13.05.2017 / 07:33