Como bloquear varreduras de IP na rede com fail2ban e nftables
Descubra como blindar a borda da sua rede contra varreduras automatizadas e intrusões combinando o monitor de logs fail2ban com o firewall moderno nftables.
Resumo
- Varreduras automatizadas de IP buscam constantemente portas abertas e serviços vulneráveis em servidores expostos à internet.
- O fail2ban atua como um vigilante que lê logs do sistema em tempo real e identifica comportamentos suspeitos.
- O nftables substitui o antigo iptables com regras mais rápidas e estruturadas em conjuntos nativos de endereços IP.
- A integração entre as duas ferramentas permite barrar IPs maliciosos diretamente no kernel do Linux com alto desempenho.
- Monitorar o tráfego e ajustar o tempo de banimento evita falsos positivos sem comprometer o acesso de usuários legítimos.
O perigo invisível das varreduras de IP na internet
Manter um servidor conectado à internet é como deixar a janela de casa aberta em uma rua movimentada. Constantemente, robôs automatizados realizam varreduras de IP, disparando pacotes de dados para testar quais portas estão abertas e quais sistemas operacionais ou serviços estão rodando ali. Na prática, isso significa que seu endereço IP recebe centenas de tentativas de invasão por dia, muitas vezes vindas de botnets distribuídas pelo mundo. Ignorar esse ruído constante é abrir brecha para que invasores encontrem uma falha esquecida ou usem força bruta para adivinhar senhas.
Para blindar servidores contra essa enxurrada de tráfego malicioso, a engenharia de redes moderna exige segurança na borda, ou seja, barrar as ameaças antes que elas alcancem as aplicações principais. Se você já protegeu o acesso remoto conforme explicamos em nosso guia sobre como bloquear ataques de força bruta SSH com Fail2ban no Linux, sabe que o monitoramento de logs é indispensável. Contudo, apenas monitorar não basta; é preciso uma barreira de firewall rápida e eficiente para descartar pacotes indesejados antes que consumam recursos cruciais do processador.
Como o fail2ban identifica ameaças em tempo real
O fail2ban é um software escrito em Python que monitora os arquivos de registro (logs) do seu servidor em busca de padrões repetitivos de falhas, como erros de login ou requisições suspeitas de conexões. Quando um endereço IP ultrapassa um limite pré-definido de erros em um intervalo curto de tempo, o programa entende que aquilo não é um usuário esquecido, mas sim um script de varredura ou um invasor testando credenciais. A partir daí, ele aciona comandos externos para bloquear aquele IP por um período determinado.
Na prática, o fail2ban age como um segurança de boate atento à lista de entradas negadas, registrando cada tentativa frustrada de acesso. Antes de implementar bloqueios complexos na rede, vale a pena garantir que a infraestrutura básica do servidor esteja estável, verificando eventuais quedas de energia ou instabilidades na placa-mãe, temas que abordamos detalhadamente ao explicar como testar a linha de 12V da fonte ATX com multímetro. Com o hardware íntegro, podemos focar na camada lógica de segurança.
A evolução do firewall com o nftables
Por muitos anos, o iptables foi o padrão de mercado no Linux para filtrar pacotes de rede e criar regras de firewall. No entanto, com o crescimento do volume de tráfego e a complexidade das redes atuais, o iptables mostrou limitações de performance, exigindo regras longas que sobrecarregavam o kernel do sistema operacional. O nftables surge como o substituto moderno, unificando a filtragem de pacotes em uma sintaxe mais limpa, unificada e extremamente rápida, capaz de processar milhares de bloqueios sem engasgos.
Diferente do antecessor, o nftables lida com tabelas e conjuntos de dados nativos, permitindo agrupar milhares de IPs maliciosos em uma única estrutura de busca otimizada. Isso reduz drasticamente o consumo de memória RAM e o uso de CPU quando o fail2ban precisa adicionar ou remover IPs banidos. Para quem já lida com filtragem avançada de pacotes, a transição para o nftables representa um ganho expressivo de eficiência operacional na borda da rede, complementando estratégias tradicionais de bloqueio.
Se você deseja entender mais sobre as bases da filtragem moderna, vale a pena consultar as recomendações em nosso artigo sobre como bloquear pacotes maliciosos na rede com iptables, que serve como ponte conceitual para compreender o funcionamento interno dos ganchos de rede no Linux. Compreender como os pacotes entram e saem do sistema operacional ajuda a desenhar regras muito mais restritivas e seguras contra varreduras automatizadas.
Configurando a integração entre fail2ban e nftables
Para colocar essa dupla para trabalhar junta, precisamos configurar o fail2ban para que, em vez de chamar comandos antigos do iptables, ele utilize as ações nativas do nftables. Essa integração garante que os banimentos sejam aplicados diretamente nas tabelas do kernel, bloqueando o tráfego na camada mais baixa possível da pilha de rede. O primeiro passo é verificar se o nftables está instalado e ativo no seu sistema operacional Linux.
No arquivo de configuração principal do fail2ban, localizado geralmente em /etc/fail2ban/jail.local, definimos qual backend de firewall será utilizado pelas regras de proteção. Abaixo, apresentamos um exemplo funcional de configuração que direciona as ações de banimento para o nftables, otimizando o desempenho do servidor contra varreduras de IP indesejadas.
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
banaction = nftables-multiport
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = systemdEsse bloco define parâmetros fundamentais: o tempo de banimento padrão de uma hora (bantime), a janela de tempo de dez minutos para contagem de erros (findtime) e o limite máximo de cinco tentativas erradas (maxretry) antes que a porta seja fechada para aquele endereço IP. O uso do parâmetro banaction = nftables-multiport instrui o fail2ban a utilizar conjuntos dinâmicos do nftables para gerenciar os bloqueios de forma limpa e escalável.
Passo a passo para ativar e testar o bloqueio na borda
Para colocar o sistema em funcionamento na prática, siga os passos abaixo no terminal do seu servidor Linux com privilégios administrativos. Certifique-se de que os pacotes necessários estejam instalados em sua distribuição e que o serviço de firewall esteja habilitado para iniciar junto com o sistema operacional.
- Instale os pacotes do fail2ban e do nftables utilizando o gerenciador de pacotes da sua distribuição, como o apt no Ubuntu ou Debian:
sudo apt update && sudo apt install fail2ban nftables -y - Crie o arquivo de configuração local copiando o modelo padrão e ajustando as regras de banimento para o nftables conforme a diretriz descrita anteriormente:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local - Inicie e habilite os serviços para garantir que eles comecem a monitorar o tráfego e aplicar as regras de segurança automaticamente após cada reinicialização:
sudo systemctl enable --now nftables fail2ban
Após concluir estes passos, você pode verificar o status atual das prisões do fail2ban executando o comando sudo fail2ban-client status no terminal. Se desejar inspecionar as regras ativas no nftables, utilize o comando sudo nft list ruleset para visualizar os conjuntos de IPs bloqueados em tempo real pelo kernel.
Considerações finais sobre segurança e monitoramento contínuo
Implementar o fail2ban em conjunto com o nftables é uma das formas mais eficientes de esvaziar o ruído de varreduras de IP e tentativas automatizadas de invasão na borda da sua rede. Essa combinação reduz o consumo de recursos computacionais e blinda serviços essenciais contra abusos constantes vindos da internet aberta. Contudo, a segurança digital é um processo contínuo e exige auditorias periódicas dos arquivos de log, além de ajustes finos nos tempos de banimento para evitar bloqueios acidentados de usuários legítimos.
Manter o sistema atualizado, monitorar o comportamento da rede e testar regularmente a integridade física e lógica dos servidores garante um ambiente resiliente e preparado para absorver ataques sem interrupções nos negócios. Ao adotar essas práticas, você transforma uma infraestrutura vulnerável em uma fortaleza digital moderna e altamente performática.