1001Ferramentas
🚧 Dev

Gerador de Filtro Fail2ban

Monta um filtro do Fail2ban com failregex para identificar tentativas de invasão em logs personalizados (login falho, 401, 403).

/etc/fail2ban/filter.d/<name>.conf

Escrever um filtro do fail2ban que casa de fato

O fail2ban lê logs, procura por linhas que indiquem tentativa falha e bane o endereço de origem quando elas se repetem. Quem faz o reconhecimento é o filtro: um arquivo com uma ou mais expressões regulares. Escrever esse arquivo é onde a maioria das configurações emperra, porque um regex que não casa nada não gera erro — apenas nunca bane ninguém.

Informe o nome do filtro e as expressões e a página monta o arquivo, já com o caminho onde ele deve ser salvo e a linha que o referencia no jail. O detalhe que define tudo é o marcador de host: o fail2ban substitui essa etiqueta pelo padrão que reconhece endereço IPv4 e IPv6, e é dela que ele tira o endereço a banir. Regex sem esse marcador casa a linha mas não identifica ninguém.

Antes de subir, teste. O comando de teste do fail2ban recebe um arquivo de log e um filtro e informa quantas linhas casaram e quais endereços foram extraídos — é a diferença entre descobrir o erro agora ou daqui a três semanas, quando alguém perguntar por que ninguém foi banido. Vale também caprichar no ignoreregex para não banir a si mesmo: monitoramento e verificação de saúde geram exatamente o tipo de linha que o filtro procura.

Perguntas frequentes

Como testo o filtro sem esperar um ataque?
Com fail2ban-regex seguido do caminho do log e do caminho do filtro. Ele imprime quantas linhas casaram por expressão e lista os endereços extraídos. Zero casamentos com log cheio de tentativas significa que o regex está errado — quase sempre por causa do formato de data ou de espaços.
Por que o marcador de host é obrigatório?
Porque é a partir dele que o fail2ban sabe o que banir. Ele é expandido internamente para um padrão que aceita IPv4, IPv6 e, conforme a configuração, nome de máquina. Escrever o próprio padrão de IP no lugar costuma funcionar em teste e falhar com IPv6 na produção.
Filtro e jail são a mesma coisa?
Não. O filtro só diz o que é uma tentativa falha. O jail é quem amarra as pontas: qual log ler, qual filtro usar, quantas falhas toleram, por quanto tempo banir e qual ação executar. Um filtro sem jail que o referencie não faz nada.

Ferramentas Relacionadas