iptables | Tipos de ICMP: quais são potencialmente prejudiciais?

8

Eu li que certos tipos de pacotes ICMP podem ser prejudiciais. Perguntas:

  • Quais e por quê?
  • Como devo layout de um conjunto de regras iptables para lidar com cada tipo de pacote ICMP?
  • Devo limitar qualquer um desses tipos de pacotes ICMP? E como?

[¹] Os tipos que eu li sobre: Redirect (5), Timestamp (13) e Address Mask Request (17). Por favor, não considere apenas estes em sua resposta.

Mais informações
É um servidor web em um VPS com o Ubuntu Server.

O objetivo
Estou tentando tornar o sistema mais seguro, mitigar o risco de alguns ataques D / DoS e abuso em geral.

Relacionado
Meu firewall linux é seguro?
Por que não bloquear o ICMP?

    
por ML-- 12.12.2011 / 23:01

2 respostas

10

Parece que você está sendo vítima do mantra "ICMP É MAL".
ICMP é NÃO mal, apenas mal interpretado. A triste realidade é que muitos administradores temem o que não entendem e, assim, descartam o ICMP de seu universo de rede, evitando-o no nível do firewall de ponta e impedindo-o de tomar seu lugar certo e adequado em benefício de sua rede.

Dito isso, deixe-me abordar suas perguntas:

Que 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 de IP mal implementadas); Usado 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 de forma mal-intencionada para fazer com que seu servidor fique efetivamente em um canto e chupe o polegar.

  • redirect pode ser usado como o nome indica.

  • As solicitações
  • router advertisement e router solicitation podem ser usadas para criar topologias de tráfego "interessantes" (e facilitar ataques MITM) se seus hosts realmente prestarem atenção nelas.

  • traceroute é projetado para fornecer informações de topologia de rede.

… etc ...

Os nomes das várias mensagens ICMP detalham bastante o que eles são capazes de fazer. Exercite sua paranóia inata ao sonhar cenários de pesadelo: -)

Como devo layout de um conjunto de regras iptables para lidar com cada tipo de pacote ICMP?
Ausente uma boa razão para mexer com o tráfego ICMP, deixe em paz!
Mexer com o tráfego ICMP impede o uso apropriado de mensagens ICMP (gerenciamento de tráfego e solução de problemas) - será mais frustrante do que útil.

Devo limitar qualquer um desses tipos de pacotes ICMP? E como?
Esta pode ser a única exceção legítima para as mensagens ICMP que limitam a largura de banda ou a limitação de largura de banda - pode ser útil para ajudá-lo a evitar os usos ilegítimos das mensagens ICMP. O FreeBSD é enviado com Limitação de largura de banda / taxa de ICMP por padrão e presumo que o Linux tenha uma funcionalidade semelhante.

A limitação de taxa / largura de banda é preferível a uma regra geral de firewall que elimina o tráfego ICMP: ela ainda permite que o ICMP atenda à sua finalidade na rede e também reduz parcialmente as tentativas de abuso do servidor.

O acima representa as opiniões de um sysadmin, que por sua vez é FREAKIN 'CANTO DE TENTAR RESOLVER REDES ONDE TODO O TRÁFEGO ICMP É ABANDONADO - É chato, frustrante e leva mais tempo para encontrar e corrigir problemas. : -)

    
por 12.12.2011 / 23:50
4

Não é tanto sobre tipos quanto possíveis vetores de ataque. Houve um vetor de ataque DoS bastante eficaz usando o pacote Quench de origem ICMP nas pilhas TCP / IP de um host da Internet comum por anos - e, no entanto, isso não significa que as mensagens ICMP de extinção da fonte precisem ser filtradas em geral. Tal como acontece com tudo na segurança da rede, avalie o benefício de um determinado protocolo ou serviço em relação à possível superfície de ataque com base nas suas prioridades pessoais . Se você tem hosts em suas redes que são suscetíveis a um vetor de ataque através do ICMP, você não pode consertá-los e você não precisa dos recursos específicos, você certamente deve considerar filtrá-los.

Para minhas redes v4 administradas, achei seguro e conveniente permitir tipos ICMP 0, 8 (solicitação / resposta de eco), 11 (TTL expirado), 3 (destino inacessível) e 12 (erro de cabeçalho IP) e para soltar todo o resto.

    
por 13.12.2011 / 00:06