Negando o tráfego de código 4 tipo 4 do ICMP - bom ou ruim?

4

Investigando uma conexão VPN lenta (Cisco ASA IPSec) para um escritório remoto, notei em nosso firewall muitas das regras de acesso:

Denied ICMP type=3, code=4 from *ip_address* on interface outside

Notei que um traceroute para o site remoto incluía o mesmo endereço IP, em algum lugar entre o nosso ISP e o ISP que o site remoto usa.

Eu também estou vendo uma mensagem imediatamente após antes de dizer

No matching connection for ICMP error mesage: icmp src outside *ip_address* dst identity:*firewall_outside_ip_address* (type 3, code 4) on outside interface.  Original IP payload: protocol 50 src  *firewall_outside_ip_address* dst *remote_site_ip_address*

Cisco sugere que isso pode ser sintomas de um ataque , mas eu não penso assim.

O protocolo 50 é ESP, que faz parte do IPSec. O site remoto está conectado ao HQ via VPN IPSec usando o Cisco ASA 5505 no terminal remoto e o ASA 5510 no HQ.

Tipo ICMP = 3, código = 4 significa fragmentação necessária e não fragmentar foi definido.

Configuração Não fragmentar é normal para pacotes IPSec ESP.

Eu acho que o que está acontecendo é que os pacotes estão deixando o ASA 5510 com o MTU padrão de 1500. Quando ele atinge o roteador com ip_address esse roteador não consegue passar o tráfego para o próximo salto que usa uma MTU menor, exigindo fragmentação. O roteador está enviando um pacote ICMP de volta quando o DF está definido, mas nosso Firewall está bloqueando isso, não por causa de uma regra de acesso, mas porque, por alguma razão, o ASA 5510 não esperava essa mensagem ICMP.

Estou tentando descobrir se o problema é com a configuração em nosso HQ ASA 5510 (embora tenhamos outros 36 sites funcionando bem), o ASA 5505 remoto (que é configurado uniformemente com nossos outros ASA 5505s remotos) ou algo entre os dois.

O que devo fazer a seguir?

Atualizar Conforme solicitado, aqui estão as linhas ICMP do HQ ASA 5510:

icmp unreachable rate-limit 1 burst-size 1
icmp permit any echo-reply outside
icmp permit any time-exceeded outside
icmp permit any unreachable outside
    
por dunxd 19.04.2012 / 16:50

3 respostas

3

Tente definir crypto ipsec df-bit clear-df outside . Isso não corrigirá o problema direto aqui, mas pode contornar isso.

No que diz respeito ao problema imediato - parece que o ASA não está percebendo que o pacote ICMP precisa ser usado como descoberta do Path MTU para seu túnel. Verifique se há algo nos contadores PMTUD exibidos por show crypto ipsec sa ?

    
por 19.04.2012 / 20:13
2

As mensagens de código 4 do ICMP tipo 3 são "fragmentação necessária mas não fragmentar set". Isso significa que seu dispositivo enviou um pacote maior que o MTU do dispositivo enviando a mensagem ICMP para você. Normalmente, o pacote pode ser fragmentado, mas o bit DF foi definido. Como você está negando a mensagem ICMP de entrada, o ASA não é notificado de que o pacote não foi entregue. Deixar cair essas mensagens ICMP é geralmente ruim para o desempenho porque essencialmente resulta em perda de pacotes.

O guia de configuração do ASA da Cisco recomenda sempre permitindo mensagens ICMP tipo 3, e menciona especificamente que podem surgir problemas com IPsec se essas mensagens forem bloqueadas. Você pode configurar o ASA relatando esse erro para permitir o seguinte comando:

icmp permit any unreachable outside

Isso afeta apenas os inacessíveis do ICMP destinados ao próprio ASA. Se você também precisar permiti-los através do ASA para hosts internos, você precisará fazê-lo com uma lista de acesso em sua interface externa.

    
por 19.04.2012 / 17:21
1

Recebi algumas informações de um engenheiro da Cisco que disse que eu tinha as seguintes opções:

  • Configurando clear-df como sugerido por Shane Madden
  • Configurando o MTU em nossos servidores para 1300, então os pacotes que eles enviam são menos propensos a precisar de fragmentação em primeiro lugar
  • Definindo o tamanho máximo do segmento para TCP no ASA usando sysopt connection tcp-mss 1300

Eu apliquei a mudança tcp-mss e removi o comando clear-df no nosso HQ ASA e o site com os problemas pode funcionar ok.

Esta pode ser uma solução melhor do que limpar o df-bit, pois isso levará à fragmentação, o que não é desejável. É equivalente a configurar o MTU no ASA como 1340 (1300 + 20 bytes para o cabeçalho IP e 20 bytes para o cabeçalho TCP), mas afeta somente o tráfego TCP. Também permite que o PMTUD funcione, o que não é o caso quando se desativa o bit Don't Fragment.

A Cisco discute essa opção em detalhes em Resolver fragmentação de IP, MTU, MSS, e Questões PMTUD com GRE e IPSEC .

    
por 26.04.2012 / 13:31