Parece que você está sendo vítima do mantra "ICMP IS EVIL".
O ICMP NÃO é mau, apenas mal compreendido. A triste realidade é que muitos administradores temem o que não entendem e, portanto, expulsam o ICMP de seu universo de rede, afastando-o no nível do firewall de ponta e impedindo que ele tome seu lugar certo e apropriado para o benefício de sua rede.
Dito isto, deixe-me responder às suas perguntas:
Quais tipos de mensagens ICMP podem ser prejudiciais e por quê?
Praticamente todos eles.
Echo
pacotes podem ser usados para interromper serviços (especialmente para sistemas com pilhas IP mal implementadas); Usados legitimamente, eles podem fornecer informações sobre sua rede.
Destination Unreachable
pode ser injetado maliciosamente; Usados legitimamente, eles podem fornecer informações sobre * sua estrutura de firewall / roteamento ou sobre uma máquina específica em sua rede.
Source Quench
pode ser enviado com códigos maliciosos para fazer com que seu servidor fique efetivamente em um canto e chupe o polegar.
redirect
pode ser usado como o nome indica.
router advertisement
e router solicitation
solicitações podem ser usadas para criar topologias de tráfego "interessantes" (e facilitar ataques MITM) se seus hosts realmente prestarem atenção a elas.
traceroute
foi projetado para fornecer informações de topologia de rede.
... etc ...
Os nomes das várias mensagens do ICMP detalham o que eles são capazes de fazer. Exercite sua paranóia inata em sonhar com cenários de pesadelo :-)
Como devo fazer o layout de um conjunto de regras do iptables para lidar com cada tipo de pacote ICMP?
Ausente um bom motivo para mexer com o tráfego ICMP, deixe-o em paz!
Se mexer com o tráfego ICMP impede o uso apropriado das mensagens ICMP (gerenciamento e solução de problemas de tráfego) - será mais frustrante do que útil.
Devo limitar a taxa de qualquer um desses tipos de pacotes ICMP? E como?
Essa pode ser a única exceção legítima à filosofia "deixe para lá" - as mensagens ICMP com limitação de taxa ou largura de banda podem ser úteis para ajudá-lo a evitar usos ilegítimos das mensagens ICMP. O FreeBSD é fornecido com o ICMP Bandwidth / Rate Limiting por padrão, e eu suponho que o Linux tenha uma funcionalidade semelhante.
A limitação de taxa / largura de banda é muito preferível a uma regra geral de firewall que descarta o tráfego ICMP: ainda permite que o ICMP atenda a sua finalidade na rede e também atenua parcialmente as tentativas de abusar do servidor.
O exemplo acima representa as opiniões de um administrador de sistemas, que, por sua vez, está cansado de ter problemas com redes de solução de problemas em que todo o tráfego do ICMP é descartado - é irritante, frustrante e leva mais tempo para encontrar e corrigir problemas. :-)
--state INVALID
deixar Ping of Death?Source Quench
, e você pode bloqueá-lo com relativa impunidade (o TCP acabará descobrindo isso por si mesmo). Ping e Traceroute são definitivamente vazamentos de informações, mas, na prática, não acho que adicione muita segurança real ao seu ambiente. Sua milhagem (e o nível exigido de paranóia) podem variar (dependendo da sensibilidade dos seus dados / ambiente).Não se trata tanto de tipos quanto de possíveis vetores de ataque. Há um vetor de ataque DoS bastante eficaz usando o pacote de extinção de origem ICMP em muitas pilhas TCP / IP de hosts da Internet comuns há anos - e, no entanto, isso não significa que as mensagens ICMP de extinção de origem precisem ser filtradas em geral. Como tudo na segurança da rede, avalie os benefícios de um determinado protocolo ou serviço contra a possível superfície de ataque com base em suas prioridades pessoais . Se você possui hosts em suas redes suscetíveis a um vetor de ataque por meio do ICMP, não pode corrigi-los e não precisa dos recursos específicos, certamente deve considerar filtrá-lo.
Para minhas redes v4 administradas, achei seguro e conveniente permitir que os tipos ICMP 0, 8 (solicitação / resposta de eco), 11 (TTL expirado), 3 (destino inacessível) e 12 (erro de cabeçalho IP) e eliminassem todos o resto.
fonte