diff --git a/fail2ban/filter.d/nginx-generic-badbots.conf b/fail2ban/filter.d/nginx-generic-badbots.conf index 78491e1..f5789fc 100644 --- a/fail2ban/filter.d/nginx-generic-badbots.conf +++ b/fail2ban/filter.d/nginx-generic-badbots.conf @@ -1,13 +1,12 @@ # /etc/fail2ban/filter.d/nginx-generic-badbots.conf # -# Filtro genérico para Bad Bots e scanners comuns que se aplica a todos os sites. -# Este filtro é referenciado pelas jails individuais de cada site. +# Filtro genérico otimizado para a tag de log do NGINX "SUSPICIOUS_BOT:". +# Este filtro confia na lógica de detecção prévia do NGINX. # ******************************************************************* [Definition] -# Detecta tentativas de acesso a arquivos e diretórios sensíveis (path traversal, env, etc.) -failregex = ^ .* "(GET|POST|HEAD|OPTIONS) .*(\.env|\.git/|\.svn/|setup\.php|phpmyadmin/|vendor/|wp-config\.php|wlwmanifest\.xml|test\.php).* HTTP\/1\..*"$ -# Detecta ferramentas de scanner conhecidas (sqlmap, Nikto, wpscan, etc.) - ^ .* "(GET|POST|HEAD|OPTIONS) .*(sqlmap|Nikto|wpscan|Telescope|zgrab|masscan).* HTTP\/1\..*"$ - +# A regex procura pela tag SUSPICIOUS_BOT:, seguida pelo IP () e o resto da linha. +# Isso garante que a linha de log corresponde ao formato que você forneceu. +failregex = ^SUSPICIOUS_BOT:\s.*$ + ignoreregex = diff --git a/fail2ban/jail.d/nginx-template.conf b/fail2ban/jail.d/nginx-template.conf index 314aa55..ebce553 100644 --- a/fail2ban/jail.d/nginx-template.conf +++ b/fail2ban/jail.d/nginx-template.conf @@ -47,7 +47,7 @@ # Define quantas vezes o padrão definido em 'filter' pode ocorrer no 'logpath' # dentro do período de 'findtime' antes que o IP seja banido. # maxretry = 2: O IP será banido na 3ª ocorrência. -#maxretry = 2 +#maxretry = 1 # TEMPO DE BUSCA (findtime): # O período de tempo (em segundos, minutos ou horas) em que o Fail2ban