Fail2Ban blocking behaviours depending on the status code
Solution 1:
You should add a filter in /etc/fail2ban/filter.d/
with a relevant name - e.g. nginx-{403,404}.conf
.
They should contain something like the following lines :
nginx-403.conf :
[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD).*HTTP.*" 403
ignoreregex =
nginx-404.conf :
[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD).*HTTP.*" 404
ignoreregex =
Then you should call them from your jail.conf or whatsoever your conf file is :
For 403 :
[nginx-403]
enabled = true
port = http,https
filter = nginx-403
logpath = /var/log/nginx/access.log
maxretry = 5
findtime = 300
And for 404 :
[nginx-404]
enabled = true
port = http,https
filter = nginx-404
logpath = /var/log/nginx/access.log
maxretry = 10
findtime = 300