Considerações para a filtragem do protocolo ICMPv6

11/06/2025

Considerações para a filtragem do protocolo ICMPv6

Por Henri Alves de Godoy e Ernesto Sanchez

Em ocasião do LACNIC 43 que aconteceu em São Paulo, no Distrito Anhembi de 05 a 09 de Maio, Henri Alves de Godoy e Ernesto Sanchez apresentaram o trabalho de pesquisa no Fórum Técnico “Considerações para a filtragem do protocolo ICMPv6” no qual descrevemos em conjunto o artigo a seguir para apreciação para Blog LACNIC

Introdução: A evolução histórica do ICMP

O protocolo ICMP (Internet Control Message Protocol) foi definido na RFC 792 (1981) como um mecanismo essencial para que dispositivos de rede pudessem relatar erros a princípio, anunciar problemas de conectividade e permitir diagnósticos na rede. Ele nasceu junto com o IPv4 para dar uma apoio durante a transmissão dos pacotes na rede, que trafegam sem garantia de entrega na camada de rede. É utilizado, por exemplo, para notificar quando um host na rede está inacessível, informar sobre TTL expirado e indicar problemas de fragmentação.

Uma das ferramentas mais utilizadas por todos e de fácil uso até para usuários mais leigos é o comando ping (Echo Request/Reply) e traceroute (Time Exceeded) que utilizam diretamente do protocolo ICMP. Utilizamos muito essas ferramentas no nosso dia a dia e é indispensável como um teste simples rápido de conectividade.

Com o crescimento da Internet e a possibilidade de navegar na Web, antes exclusivo das Universidades e Centros de Pesquisa, agora com o surgimento dos pequenos provedores regionais de acesso à Internet (ISP) em meados da década de 90, cada usuário recebia um endereço IPv4 público nas residências. Os usuários residenciais ainda não conheciam o NAT, e tinham uma conexão direta fim-a-fim, sem tradução de endereços e sem o compartilhamento do mesmo IP por muitos assinantes, como temos hoje.

Nessa mesma época começavam a surgir os ataques de negação de serviço (Denied of Service) que exploravam os dispositivos conectados nas redes, como por exemplo, os do tipo smurf attack, onde pacotes ICMP Echo Request eram enviados a endereços de broadcast. Esse tipo de exploração ficou conhecido como ataque de amplificação, com o objetivo de paralisar uma rede local.

Outro grande incidente com repercussão histórica foi o Ping da Morte (Ping of Death) que explorava falhas na implementação do protocolo IP em diversos sistemas operacionais especialmente o Windows 95, onde o atacante criava um pacote ICMP Echo Request com tamanho maior do que o permitido pelo padrão IP (65.535 bytes).

(Acesso livre, não requer assinatura)

Ao longo do tempo, criou-se um movimento de que o “ping era perigoso”. Nesse contexto, muitos começaram a adotar a prática de bloqueio generalizado do ICMP e por muitos anos foi considerado uma “boa prática” de segurança.

Contudo, essa decisão foi baseada mais em um pânico ou medo do que em análise técnica. Como consequência, se tornou difícil distinguir agora entre uma falha de conectividade ou filtragem do tráfego ICMP na rede, criando-se assim, redes invisíveis, para dificultar o mapeamento da rede interna, onde o diagnóstico se tornou ineficiente.

Muitos scripts de firewalls (iptables, ipchains) e tutoriais começaram agora a divulgar a prática de incluir o bloqueio total do protocolo ICMP, sem explicar as consequências técnicas.A força dessa cultura foi tão intensa que ainda hoje, depois de 30 anos, ainda vemos muita gente bloqueando totalmente o ICMP na sua rede, de forma a criar uma falsa sensação de segurança.

As opiniões expressas pelos autores deste blog são próprias e não refletem necessariamente as opiniões de LACNIC.

Inscrever-se
Notificar de

0 Comments
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários