Fail2ban com Caddy

>
apps sysadmin

Uma rápida dica, bem técnica, sobre o Fail2ban rodando com o Caddy em servidor Linux. Só para deixar registrado, já que vasculhei toda a web tentando resolver esse problema e só achei pistas, que fui juntando até chegar na solução.

Banir IPs agressores com o Fail2ban, com base em logs de acesso do Caddy não funciona na configuração padrão. Isso porque o formato das timestamps no log Caddy estão em "Epoch" (segundos Unix) e o Fail2ban não reconhece isso de primeira, aí o banimento não dispara.

Isso ainda não está documentado em lugar nenhum, mas é preciso adicionar a linha:

datepattern =   "ts":{Epoch},\s*

no arquivo de configuração com a expressão regular que varre os logs. Aí, basta reiniciar o Fail2ban e tchau! Sem mais bots escaneando o servidor web em busca de brechas para invadir.

Para quem auto-hospeda, realmente recomendo o Caddy. É até mais simples de configurar do que Nginx, com desempenho equivalente ou superior, e certificados de segurança automáticos.