Gerador de fail2ban jail.local
Gera um trecho de jail.local do fail2ban com filtro, action, maxretry e bantime configuráveis.
Fail2ban — um IPS para Linux
O Fail2ban é um sistema de prevenção de intrusão (IPS) para Linux criado por Cyril Jaquier em 2004. Ele lê continuamente os logs de serviços (sshd, Apache, Nginx, Postfix, Dovecot, vsftpd, WordPress), compara as falhas de autenticação com expressões regulares e bane automaticamente os IPs ofensores chamando iptables, firewalld, nftables, pf ou ipset. É a defesa mais barata e rápida contra brute-force SSH e credential stuffing em uma VPS auto-gerenciada.
Arquivos de configuração
/etc/fail2ban/jail.conf— padrões que vêm na instalação, nunca edite direto (upgrades sobrescrevem)./etc/fail2ban/jail.local— seus overrides; crie comcp jail.conf jail.local./etc/fail2ban/jail.d/*.conf— fragmentos drop-in por jail (preferido para automação)./etc/fail2ban/filter.d/*.conf— filtros regex (failregex,ignoreregex)./etc/fail2ban/action.d/*.conf— ações:iptables-multiport,ufw,firewallcmd-ipset,abuseipdb.
Anatomia de um jail
Um jail conecta um filtro a um arquivo de log e a uma ação de ban:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 600
bantime = 3600
ignoreip = 127.0.0.1/8 192.168.0.0/16
Diretivas-chave: maxretry (tentativas antes do ban), findtime (janela deslizante em segundos), bantime (duração do ban; -1 = permanente), ignoreip (whitelist — sempre inclua seus IPs de escritório e administração), action (qual banaction usar).
Jails populares e o truque do recidive
Jails comuns que já vêm prontos: sshd, apache-auth, nginx-http-auth, nginx-botsearch, postfix-sasl, dovecot, wordpress. O jail recidive é especial: ele monitora o próprio /var/log/fail2ban.log e bane IPs que reincidem em outros jails — tipicamente maxretry=5 com bantime=604800 (uma semana) ou mais. É o ajuste mais efetivo a fazer logo após uma instalação padrão.
Operação
Gerencie jails com fail2ban-client: status, status sshd, unban 1.2.3.4, set sshd banip 1.2.3.4, reload. Logs em /var/log/fail2ban.log. Alternativas modernas incluem CrowdSec (blocklists comunitárias, cenários comportamentais) e Suricata (IDS por assinatura, mais profundo). Equivalentes em nuvem: AWS WAF com regras rate-based e Cloudflare rate limiting. Diferente do UFW — firewall estático — o fail2ban é reativo: aprende com os logs.
Perguntas frequentes
O fail2ban pode me banir? Sim — é o tropeço mais comum. Sempre preencha ignoreip = 127.0.0.1/8 ::1 192.168.0.0/16 <seu-IP> antes de habilitar, mantenha uma sessão de console aberta enquanto testa, e rode fail2ban-client unban --all se travar.
Dá para bloquear país inteiro? Sim, combinando fail2ban com GeoIP (base MaxMind) e uma ação custom que dropa faixas CIDR, ou importando blocklists de países para o ipset.
É seguro em VPNs e redes compartilhadas? Cuidado — vários usuários legítimos podem dividir o mesmo IP de saída. Baixe maxretry só em serviços sem captcha e combine com MFA para que um falso positivo não bloqueie usuários reais.
Funciona com IPv6? Sim, desde a versão 0.10. Garanta que o backend de firewall (iptables-ipv6, nftables) esteja carregado e que a ação do jail suporte as duas famílias.
Ferramentas Relacionadas
Gerador de Passphrase (EFF Large)
Gere senhas memoráveis usando a lista oficial EFF Large (7776 palavras EN), com entropia calculada por palavra e separador customizável.
Gerador de Comando nmap (Completo)
Monta uma varredura nmap com alvo, intervalo de portas, tipo de scan (SYN/Connect/UDP) e detecção de serviço.
Paleta de cores de uma imagem (local)
Extrai paleta dominante de uma imagem local (k-means simples) — processamento 100% no browser.