Marcio Cunha

Como bloquear varreduras de portas e brute-force com iptables

Aprenda a configurar regras avançadas de iptables no Linux para mitigar varreduras de portas e ataques de força bruta, protegendo seus serviços expostos.

Marcio Cunha•4 min
Também disponível em:EnglishEspañol
Resumo
  • O iptables atua como um porteiro rigoroso na camada de rede do Linux filtrando pacotes antes que cheguem aos aplicativos.
  • Módulos avançados de rastreamento de estado evitam que conexões legítimas sejam derrubadas por engano durante picos de tráfego.
  • Limites de taxa ajudam a estrangular robôs maliciosos sem afetar o desempenho de usuários reais que acessam o sistema.
  • A ordem das regras no firewall dita a prioridade de processamento e economiza poder de processamento do servidor.
  • Monitorar conexões ativas e logs de bloqueio é indispensável para validar a eficácia das defesas implementadas.

Por que o firewall padrão não basta contra robôs modernos

Manter um servidor conectado à internet hoje em dia é o equivalente digital a deixar a porta da frente destrancada em uma rua movimentada. Em poucos minutos, scripts automatizados em redes de computadores infectados começam a bater em suas portas digitais, testando senhas comuns e buscando falhas conhecidas. Para quem gerencia servidores Linux, o iptables, que é a ferramenta clássica integrada ao sistema para controlar o tráfego de rede, continua sendo a primeira e mais sólida linha de defesa. Na prática, ele funciona como um segurança severo que examina a identidade de cada pacote de dados que chega e decide se ele entra, se é ignorado ou se é sumariamente banido.

Muitos administradores confiam apenas nas senhas fortes ou nas configurações padrão de seus aplicativos, esquecendo que o simples fato de um robô malicioso ficar tentando adivinhar senhas por horas consome recursos preciosos de processador e memória. Quando combinamos varreduras de portas, que mapeiam quais serviços estão ativos, com ataques de força bruta, que tentam quebrar credenciais por exaustão, o servidor sofre uma carga desnecessária. Como vimos em práticas de como bloquear ataques de força bruta no Nginx com IP Rate Limiting, a contenção na borda da rede alivia drasticamente a aplicação web.

Entendendo o rastreamento de estado e conexões estabelecidas

Para criar regras inteligentes de firewall, precisamos entender como o Linux enxerga uma conversa de rede. O módulo de rastreamento de conexões, conhecido como conntrack, permite que o iptables lembre se um pacote faz parte de uma conversa que já começou ou se é uma tentativa totalmente nova de conexão. Na prática, isso significa que podemos aceitar instantaneamente pacotes de conexões que já foram validadas e aprovadas anteriormente, poupando o processador de analisar cada mensagem trocada durante um download ou navegação longa.

Essa abordagem reduz o esforço computacional e impede que regras complexas sejam processadas mil vezes por segundo para o mesmo usuário. Se você deseja auditar o que está passando pela sua máquina antes de aplicar bloqueios drásticos, vale a pena como rastrear conexões TCP no Linux com o comando ss para identificar fluxos suspeitos em tempo real. Com o controle de estado ativo, nossa regra mestra permite o tráfego que já é familiar e passa a analisar com lupa apenas as novas requisições que chegam à porta do SSH ou de outros serviços expostos.

Como identificar e bloquear varreduras de portas em andamento

As varreduras de portas funcionam como um ladrão testando maçanetas de várias salas em um escritório para ver qual está destrancada. Para mitigar esse comportamento agressivo antes que ele vire uma invasão bem-sucedida, podemos usar o módulo de extensão recent do iptables. Este recurso cria uma lista dinâmica de endereços IP que tentaram acessar determinadas portas em um intervalo de tempo muito curto, permitindo que o sistema os coloque em quarentena automaticamente.

Abaixo apresentamos um procedimento prático para aplicar essa regra de proteção diretamente no terminal do seu servidor Linux:

  1. Abra o terminal do seu servidor Linux com privilégios administrativos de superusuário.
  2. Execute o comando para criar uma lista de rastreamento de pacotes suspeitos na porta do SSH.
  3. Salve a configuração para garantir que a defesa continue ativa após reiniciar a máquina.
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH_SCANNER -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --name SSH_SCANNER -j DROP

Na prática, o comando acima verifica se um mesmo endereço IP tentou iniciar quatro conexões na porta de administração em menos de um minuto. Caso o limite seja ultrapassado, o tráfego é descartado silenciosamente, fazendo com que o invasor acredite que o servidor simplesmente sumiu da rede ou que a porta está fechada por completo.

Mitigando ataques de força bruta com limites de taxa

Além das varreduras rápidas, os ataques de força bruta costumam ser persistentes e distribuídos, disparando dezenas de tentativas por segundo contra serviços de autenticação. Para neutralizar essa investida sem prejudicar colaboradores legítimos que eventualmente errem a senha, utilizamos o módulo hashlimit, que impõe um teto dinâmico de requisições por IP ou por sub-rede inteira.

Essa técnica complementa soluções de camada de aplicação, funcionando em perfeita harmonia com ferramentas de monitoramento e bloqueio reativo. Caso precise expandir sua estratégia de segurança para outras camadas, vale a pena conferir estratégias como como bloquear IPs maliciosos no Nginx com fail2ban para criar uma barreira automatizada em múltiplos níveis da sua infraestrutura de servidores.

Considerações finais sobre a manutenção de firewalls robustos

Proteger uma infraestrutura de rede no Linux exige vigilância contínua, ajustes finos nas regras de filtragem e uma compreensão clara de como o tráfego legítimo interage com o sistema operacional. Ao implementar o rastreamento inteligente de estados, o controle rigoroso de novas conexões e o bloqueio automático de varreduras suspeitas, reduzimos drasticamente a superfície de ataque exposta na internet pública. Manter o firewall atualizado e monitorar os logs regularmente garante que o seu ambiente permaneça resiliente diante da evolução constante das ameaças automatizadas.