ASA/PIX : Gerenciando Pings ICMP e Traceroute

Propaganda
ASA/PIX : Gerenciando Pings ICMP e Traceroute
Índice
Introdução
Pré-requisitos
Requisitos
Componentes Utilizados
Convenções
Diagrama de Rede
Envio de um Ping Através do PIX
PIX/ASA Software Versões 7.x
PIX Software Versões 5.0.1 a 6.3.3
PIX Software Versões 4.2(2) a 5.0.1
PIX Software Versões 4.1(6) a 4.2(2)
Envio de Pings para as Interfaces do Próprio PIX
Entrada do Comando traceroute Através do PIX
Como Forçar a Exibição do Firewall em um Traceroute no ASA/PIX
Exemplo
Mensagem de Erro - 313005
Tipos de Mensagem ICMP (RFC 792)
Informações que Devem Ser Coletadas ao Abrir uma Solicitação de Serviço
Introdução
No PIX Firewall, os pings ICMP (Internet Control Message Protocol) e o traceroute são tratados de formas diferentes de acordo com a versão dos
códigos ASA e PIX.
O ICMP de entrada através do PIX/ASA é negado por padrão. O ICMP de saída é permitido, mas a resposta recebida é negada por padrão.
Pré-requisitos
Requisitos
Não existem pré-requisitos específicos para este documento.
Componentes Utilizados
As informações deste documento são baseadas nestas versões de software e hardware:
PIX Software versões 4.1(6) e posterior
Cisco ASA 5500 Series Security Appliance que executa a versão 7.x e versões posteriores
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos
utilizados neste documento foram iniciados com uma configuração padrão. Se a sua rede estiver em um ambiente de produção, esteja ciente do
impacto potencial de qualquer comando.
Convenções
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
Diagrama de Rede
Nota: Os esquemas de endereçamento IP utilizados nesta configuração não são legalmente roteáveis na Internet. Eles são endereços da RFC 1918
que foram usados em um ambiente de laboratório.
Envio de um Ping Através do PIX
PIX/ASA Software Versões 7.x
Entrada de Pings
Os pings iniciados externamente ou a partir de outra interface de baixa segurança do PIX são negados por padrão. Os pings podem ser permitidos
com o uso de listas de acesso e estáticas ou apenas de listas de acesso. Neste exemplo, é permitido o acesso de pings externos a um servidor
interno do PIX. Uma conversão estática é criada entre o endereço interno (10.1.1.5) e o endereço externo (192.168.1.5).
pix(config)#static (inside,outside) 192.168.1.5 10.1.1.5 netmask 255.255.255.255
pix(config)#access-list 101 permit icmp any host 192.168.1.5 echo
pix(config)#access-group 101 in interface outside
Saída de Pings
Há duas opções no PIX 7.x que permitem aos usuários internos efetuar ping em hosts externos. A primeira é configurar uma regra específica para
cada tipo de mensagem de eco.
Por exemplo:
access-list 101 permit icmp any any echo-reply
access-list 101 permit icmp any any source-quench
access-list 101 permit icmp any any unreachable
access-list 101 permit icmp any any time-exceeded
access-group 101 in interface outside
Isso permitirá que somente essas mensagens de retorno passem pelo firewall quando um usuário interno efetuar ping em um host externo. Os
outros tipos de mensagem de status ICMP poderão ser hostis, e o firewall bloqueará todas as outras mensagens ICMP.
Outra opção é configurar a inspeção de ICMP. Isso permitirá que um endereço IP confiável passe pelo firewall e que as respostas sejam enviadas
somente ao endereço confiável. Dessa maneira, os hosts em todas as interfaces internas poderão efetuar ping nos hosts externos, e o firewall
permitirá que as respostas retornem. Outra vantagem é que você pode monitorar o tráfego ICMP que passa pelo firewall. Neste exemplo, icmp
inspection é adicionado à política de inspeção global padrão.
Por exemplo:
policy-map global_policy
class inspection_default
inspect icmp
Ping em Outra Interface
Não será possível acessar a interface interna do PIX externamente e vice-versa, a menos que management-access esteja configurado no modo de
configuração global. Uma vez ativado management-access, o acesso Telnet, SSH ou HTTP ainda deverá ser configurado para os hosts
desejados.
pix(config)#management-access inside
pix(config)#show running-config management-access
management-access inside
PIX Software Versões 5.0.1 a 6.3.3
O ICMP de entrada através do PIX é negado por padrão; o ICMP de saída é permitido, mas a resposta recebida é negada por padrão.
Nota: A versão 6.3.3 é a versão mais recente de código disponível no momento da publicação. Para verificar as possíveis alterações em versões
posteriores, consulte as release notes.
Entrada de Pings
O ICMP de entrada pode ser permitido com uma instrução conduit ou access-list, dependendo de qual delas é utilizada no PIX. Não misture
essas instruções.
Este exemplo mostra como permitir o ICMP do dispositivo 10.1.1.5 interno (estático para 192.168.1.5) por todos os dispositivos externos:
static (inside,outside) 192.168.1.5 10.1.1.5 netmask 255.255.255.255 0 0
!--- e de
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 echo
!--- ou
access-list 101 permit icmp any host 192.168.1.5 echo
access-group 101 in interface outside
Saída de Pings
As respostas ao ICMP de saída podem ser permitidas com uma instrução conduit ou access-list, dependendo de qual delas é utilizada no PIX.
Não misture essas instruções.
Este exemplo mostra como permitir respostas para solicitações ICMP iniciadas pelo dispositivo 10.1.1.5 interno (estático para 192.168.1.5) a
partir de todos os dispositivos externos:
static (inside,outside) 192.168.1.5 10.1.1.5 netmask 255.255.255.255 0 0
!--- e de
conduit
conduit
conduit
conduit
permit
permit
permit
permit
icmp
icmp
icmp
icmp
192.168.1.5
192.168.1.5
192.168.1.5
192.168.1.5
255.255.255.255
255.255.255.255
255.255.255.255
255.255.255.255
0.0.0.0
0.0.0.0
0.0.0.0
0.0.0.0
0.0.0.0
0.0.0.0
0.0.0.0
0.0.0.0
echo-reply
source-quench
unreachable
time-exceeded
!--- ou
access-list 101 permit icmp any host 192.168.1.5
access-list 101 permit icmp any host 192.168.1.5
access-list 101 permit icmp any host 192.168.1.5
access-list 101 permit icmp any host 192.168.1.5
access-group 101 in interface outside
echo-reply
source-quench
unreachable
time-exceeded
PIX Software Versões 4.2(2) a 5.0.1
O ICMP de entrada através do PIX/ASA é negado por padrão. O ICMP de saída é permitido, mas a resposta recebida é negada por padrão.
Entrada de Pings
O ICMP de entrada pode ser permitido com uma instrução conduit.
Este exemplo mostra como permitir o ICMP do dispositivo 10.1.1.5 interno (estático para 192.168.1.5) por todos os dispositivos externos:
static (inside,outside) 192.168.1.5 10.1.1.5 netmask 255.255.255.255 0 0
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 echo
Saída de Pings
É possível permitir respostas ao ICMP de saída com uma instrução conduit.
Este exemplo mostra como permitir respostas para solicitações ICMP iniciadas pelo dispositivo 10.1.1.5 interno (estático para 192.168.1.5) a
partir de todos os dispositivos externos:
static (inside,outside) 192.168.1.5 10.1.1.5 netmask 255.255.255.255 0 0
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 echo-reply
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 source-quench
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 unreachable
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 time-exceeded
PIX Software Versões 4.1(6) a 4.2(2)
O ICMP de entrada através do PIX/ASA é negado por padrão. O ICPM de saída é permitido por padrão.
Entrada de Pings
O ICMP de entrada pode ser permitido com uma instrução conduit.
Este exemplo mostra como permitir o ICMP do dispositivo 10.1.1.5 interno (estático para 192.168.1.5) por todos os dispositivos externos:
static (inside), outside) 192.168.1.5 10.1.1.5
conduit 192.168.1.5 8 icmp 0.0.0.0 0.0.0.0
!--- O 8 representa a solicitação de eco; estes são da RFC 792.
Consulte a seção Tipos de Mensagem ICMP (RFC 792) deste documento para obter mais informações.
Saída de Pings
São permitidos ICMP de saída e respostas por padrão.
Envio de Pings para as Interfaces do Próprio PIX
No PIX Software versões 4.1(6) a 5.2.1, é permitido o tráfego ICMP para a interface do próprio PIX. O PIX não pode ser configurado para não
responder. Não é possível efetuar ping nas interfaces localizadas na extremidade oposta do PIX em nenhuma versão. Com base no diagrama de
rede deste documento:
Não é possível efetuar ping em 10.1.1.1 a partir de 10.1.1.5.
Não é possível efetuar ping em 192.168.1.1 externamente.
Não é possível efetuar ping em 192.168.1.1 a partir de 10.1.1.5.
Não é possível efetuar ping em 10.1.1.1 externamente.
No PIX Software versões 5.2.1, o ICMP ainda é permitido por padrão, mas as respostas do ping PIX recebidas de suas próprias interfaces podem
ser desativadas com o comando icmp (ou seja, um "PIX stealth").
icmp permit|deny [host] src_addr [src_mask] [type] int_name
Neste exemplo, o PIX não pode enviar respostas de eco para solicitações de eco:
icmp deny any echo outside
Como no caso das listas de acesso, na ausência de instruções permit, também há uma negação implícita de todo o outro tráfego ICMP.
Esse comando permite pings da rede imediatamente fora do PIX:
icmp permit 192.168.1.0 255.255.255.0 echo outside
Como no caso das listas de acesso, na ausência de instruções permit, também há uma negação implícita de todo o outro tráfego ICMP.
Entrada do Comando traceroute Através do PIX
Problema: O PIX Firewall oculta todas as redes internas na saída de traceroutes de entrada.
Resolução:
O PIX não oferece suporte ao comando traceroute. Quando um comando traceroute é executado externamente, o PIX não exibe o endereço IP
de sua própria interface nem os endereços IP das redes internas. O endereço de destino é exibido várias vezes para cada loop interno.
Os traceroutes funcionam apenas com endereços IP NAT (Network Address Translation) estáticos e não com endereços IP PAT (Port Address
Translation). Por exemplo, um cliente na Internet com o endereço 209.165.202.130 executa um traceroute para um servidor Web interno do PIX
com o endereço público 209.165.201.25 e o endereço privado 10.1.3.25. Há dois roteadores entre o PIX e o servidor Web interno. A saída de
traceroute na máquina cliente tem a seguinte aparência:
Target IP address: 209.165.201.25 Source address: 209.165.202.130
Tracing the route to 209.165.201.25
1 209.165.202.128 4 msec 3 msec 4 msec
2 209.165.201.25 3 msec 5 msec 0 msec
3 209.165.201.25 4 msec 6 msec 3 msec
4 209.165.201.25 3 msec 2 msec 2 msec
No PIX versão 6.3 e posterior, esse comportamento poderá ser revertido com a execução do comando de erro icmp fixup protocol. Quando esse
recurso é ativado, o PIX cria xlates para saltos intermediários que enviam mensagens de erro ICMP (Internet Control Message Protocol), com
base na configuração do NAT estático. O PIX substitui o pacote pelos endereços IP convertidos.
Quando o NAT é ativado no PIX 7.0, os endereços IP das interfaces do PIX e os endereços IP reais dos saltos intermediários não podem ser
vistos. Entretanto, no PIX 7.0, o NAT não é essencial e pode ser desativado com o comando no nat-control. Se a regra de NAT for removida,
será possível ver o endereço IP real se ele for roteável.
Para obter mais informações, consulte a seção Entrada do Comando traceroute Através do PIX do documento PIX e o Comando traceroute.
Como Forçar a Exibição do Firewall em um Traceroute no ASA/PIX
ciscoasa(config)#class-map class-default
ciscoasa(config)#match any
!--- Este mapa de classes existe por padrão.
ciscoasa(config)#policy-map global_policy
!--- Este mapa de políticas existe por padrão.
ciscoasa(config-pmap)#class class-default
!--- Adicione outro mapa de classes a esta diretiva.
ciscoasa(config-pmap-c)#set connection decrement-ttl
!--- Decremente o campo IP TTL para pacotes que atravessam o firewall.
!--- Por padrão, o TTL não é decrementar de forma oculta (de algum modo) o firewall.
ciscoasa(config-pmap-c)#exit
ciscoasa(config-pmap)#exit
ciscoasa(config)#service-policy global_policy global
!--- Esta política de serviço existe por padrão.
WARNING: Policy map global_policy is already configured as a service policy
ciscoasa(config)#icmp unreachable rate-limit 10 burst-size 5
!--- Ajuste as respostas de inatingível de ICMP:
!--- O padrão é rate-limit 1 burst-size 1.
!--- O padrão resultará em timeouts para o salto ASA:
ciscoasa(config)#access-list outside-in-acl remark Allow ICMP Type 11 for Windows tracert
ciscoasa(config)#access-list outside-in-acl extended permit icmp any any time-exceeded
!--- A lista de acesso para a extremidade remota do tráfego ICMP (neste caso,
!--- a interface externa) precisa ser modificada para permitir respostas ICMP tipo 11
!--- time-exceeded):
ciscoasa(config)#access-group outside-in-acl in interface outside
!--- Aplica a lista de acesso à interface externa.
ciscoasa(config)#
Exemplo
Topologia
Nota: Os esquemas de endereço IP utilizados nesta configuração não são legalmente roteáveis na Internet. Eles são endereços da RFC 1918 que
foram usados em um ambiente de laboratório.
Antes de aplicar a alteração de política:
C:\>tracert -d www.yahoo.com.
Tracing route to www.yahoo-ht3.akadns.net [192.168.93.52]
over a maximum of 30 hops:
1
1 ms
<1 ms
<1 ms
172.16.2.1
!--- O primeiro salto mostrado é Roteador 1
2
6 ms
(etc...)
6 ms
5 ms
192.168.100.101
Depois de aplicar a alteração de política:
C:\>tracert -d www.yahoo.com.
Tracing route to www.yahoo-ht3.akadns.net [192.168.93.52]
over a maximum of 30 hops:
1
<1 ms
<1 ms
<1 ms
172.16.2.254
!--- O primeiro salto mostrado é ASA
2
!---
<1 ms
<1 ms
<1 ms
172.16.2.1
Roteador 1 agora é o segundo salto
3
6 ms
(etc...)
6 ms
6 ms
192.168.100.101
Mensagem de Erro - 313005
Mensagem de Erro
%PIX|ASA-4-313005: No matching connection for ICMP error message:
icmp_msg_info on interface_name interface. Original IP payload:
embedded_frame_info icmp_msg_info = icmp src src_interface_name:src_address dst
dest_interface_name:dest_address (type icmp_type, code icmp_code)
embedded_frame_info = prot src source_address/source_port dst
dest_address/dest_port
Explicação
Os pacotes de erro ICMP são descartados pelo Security Appliance porque as mensagens de erro ICMP não se referem a nenhuma sessão já
estabelecida no Security Appliance.
Ação Recomendada
Se a causa for um ataque, você poderá negar o host com ACLs.
Tipos de Mensagem ICMP (RFC 792)
Número da Mensagem
Mensagem
0
Echo Reply
3
Destination Unreachable
4
Source Quench
5
Redirect
8
Echo
11
Time Exceeded
12
Parameter Problem
13
Timestamp
14
Timestamp Reply
15
Information Request
16
Information Reply
Informações que Devem Ser Coletadas ao Abrir uma Solicitação de Serviço
Se você ainda precisar de assistência após seguir os passos de troubleshooting
descritos aqui e desejar abrir uma solicitação de serviço no TAC da Cisco,
certifique-se de incluir as informações a seguir para fazer o troubleshooting do
PIX Firewall.
Descrição do problema e detalhes relevantes de topologia
Troubleshooting realizado antes da abertura da solicitação de serviço
Saída do comando show tech-support
Saída do comando show log após a execução do comando logging buffered
debugging ou capturas do console que demonstrem o problema (se disponível)
Anexe os dados coletados à sua solicitação de serviço em formato de texto simples
não compactado (.txt). Você pode anexar informações à sua solicitação de serviço
carregando-as com a Service Request Query Tool (somente clientes registrados). Se você
não conseguir acessar essa ferramenta, envie as informações na forma de um anexo
de email para [email protected] com o número da solicitação de serviço na linha de
assunto da sua mensagem.
© 1992-2014 Cisco Systems Inc. Todos os direitos reservados.
Data da Geração do PDF: 1 Julho 2009
http://www.cisco.com/cisco/web/support/BR/106/1067/1067635_31.html
Download