Seguridad : Dispositivos de seguridad adaptable Cisco ASA de la serie 5500

Resolución de problemas de conexiones a través de PIX y ASA

15 Abril 2008 - Traducción manual
Otras Versiones: PDFpdf | Traducción Automática (31 Julio 2013) | Inglés (1 Septiembre 2011) | Comentarios

Contenido

Introducción
Requisitos previos
      Requerimientos
      Componentes utilizados
      Productos relacionados
      Convenciones
Antecedentes
Problema
Solución
      Paso 1: Detección de la dirección IP del usuario
      Paso 2: Localización de la causa del problema
      Paso 3: Confirmación y supervisión del tráfico de la aplicación
      Paso siguiente
Discusiones relacionadas de la comunidad de soporte de Cisco

Introducción

Este documento proporciona ideas y sugerencias de resolución de problemas para el uso del dispositivo adaptable de seguridad (ASA) de la serie ASA 5500 de Cisco y del dispositivo de seguridad de la serie PIX 500 de Cisco. La mayoría de las veces, cuando las aplicaciones o los orígenes de red se interrumpen o no están disponibles, se tiende a culpar a los firewalls (PIX o ASA) de las interrupciones. Mediante algunas pruebas en el ASA o PIX, un administrador puede determinar si el ASA o PIX provocan el problema.

Nota: Este documento se centra en el ASA y PIX. Una vez resuelto el problema en el ASA o PIX, es probable que sea necesario resolver más problemas en otros dispositivos (routers, switches, servidores, etc.). Este documento se centra en el ASA y PIX.

Requisitos previos

Requerimientos

No hay requerimientos específicos para este documento.

Componentes utilizados

La información de este documento se basa en ASA 5510 de Cisco con OS 7.2.1.

La información que contiene este documento se creó a partir de los dispositivos en un entorno de laboratorio específico. Todos los dispositivos que se utilizan en este documento se iniciaron con una configuración sin definir (predeterminada). Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener cualquier comando.

Productos relacionados

Este documento también se puede utilizar con las siguientes versiones de hardware y software:

  • OS 6.3 de PIX

  • OS 7.0 y 7.1 de ASA y PIX

  • Módulo de servicios firewall (FWSM) 2.2, 2.3 y 3.1

Nota: Los comandos y sintaxis concretos pueden variar entre las versiones de software.

Convenciones

Consulte Convenciones sobre consejos técnicos de Cisco para obtener más información sobre las convenciones del documento.

Antecedentes

En el ejemplo se asume que el ASA o PIX están en producción. La configuración del ASA o PIX puede ser relativamente simple (sólo 50 líneas de configuración) o compleja (de cientos a miles de líneas de configuración). Los usuarios (clientes) o los servidores pueden estar en una red segura (interna) o en una red no segura (DMZ o externa).

asa-pix-troubleshooting-1.gif

El ASA se inicia con esta configuración. La configuración está diseñada para ofrecer un punto de referencia al laboratorio.

Configuración inicial del ASA

ciscoasa#show running-config
: Saved
:
ASA Version 7.2(1)
!
hostname ciscoasa
enable password 8Ry2YjIyt7RRXU24 encrypted
names
!
interface Ethernet0/0
 nameif outside
 security-level 0
 ip address 172.22.1.160 255.255.255.0
!
interface Ethernet0/1
 nameif inside
 security-level 100
 ip address 192.168.1.1 255.255.255.0
!
interface Ethernet0/2
 nameif dmz
 security-level 50
 ip address 10.1.1.1 255.255.255.0
!
interface Management0/0
 shutdown
 no nameif
 no security-level
 no ip address
!
passwd 2KFQnbNIdI.2KYOU encrypted
ftp mode passive
access-list outside_acl extended permit tcp any host 172.22.1.254 eq www
access-list inside_acl extended permit icmp 192.168.1.0 255.255.255.0 any
access-list inside_acl extended permit tcp 192.168.1.0 255.255.255.0 any eq www
access-list inside_acl extended permit tcp 192.168.1.0 255.255.255.0 any eq telnet
pager lines 24
mtu outside 1500
mtu inside 1500
mtu dmz 1500
no asdm history enable
arp timeout 14400
global (outside) 1 172.22.1.253
nat (inside) 1 192.168.1.0 255.255.255.0
static (inside,outside) 192.168.1.100 172.22.1.254 netmask 255.255.255.255
access-group outside_acl in interface outside
access-group inside_acl in interface inside
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
telnet timeout 5
ssh timeout 5
console timeout 0
!
class-map inspection_default
 match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
 parameters
  message-length maximum 512
policy-map global_policy
 class inspection_default
  inspect dns preset_dns_map
  inspect ftp
  inspect h323 h225
  inspect h323 ras
  inspect netbios
  inspect rsh
  inspect rtsp
  inspect skinny
  inspect esmtp
  inspect sqlnet
  inspect sunrpc
  inspect tftp
  inspect sip
  inspect xdmcp
!
service-policy global_policy global
prompt hostname context
Cryptochecksum:d41d8cd98f00b204e9800998ecf8427e
: end

Problema

Un usuario se pone en contacto con el departamento de IT e informa de que la aplicación X ha dejado de funcionar. El problema llega al administrador del ASA/PIX. El administrador no conoce mucho la aplicación en concreto. Mediante el ASA/PIX, el administrador detecta qué puertos y protocolos utiliza la aplicación X, así como cuál puede ser la causa del problema.

Solución

El administrador del ASA/PIX tiene que recopilar toda la información posible del usuario. Entre la información útil se incluye:

  • Dirección IP de origen: suele ser la estación de trabajo o el equipo del usuario.

  • Dirección IP de destino: dirección IP del servidor a la que se intenta conectar el usuario o la aplicación.

  • Puertos y protocolos que utiliza la aplicación.

A menudo, el administrador tiene suerte si puede obtener una respuesta a una de estas preguntas. En este ejemplo, el administrador no puede recopilar ninguna información. Lo mejor es realizar una revisión de los mensajes de syslog del ASA/PIX, pero es difícil localizar el problema si el administrador no sabe dónde buscar.

Paso 1: Detección de la dirección IP del usuario

Hay muchas maneras de detectar la dirección IP del usuario. Este documento trata sobre el ASA y PIX, por lo que en este ejemplo se utilizan el ASA y PIX para detectar la dirección IP.

El usuario intenta comunicarse con el ASA o PIX. Esta comunicación puede realizarse a través de ICMP, Telnet, SSH o HTTP. El protocolo seleccionado debe tener actividad limitada en el ASA/PIX. En este ejemplo concreto, el usuario hace ping a la interfaz interna del ASA.

El administrador debe configurar una o varias de estas opciones y, a continuación, debe pedir al usuario que haga ping a la interfaz interna del ASA.

  • Syslog

    Asegúrese de que el registro está activado. El nivel de registro se debe establecer en debug. El registro se puede enviar a varias ubicaciones. En este ejemplo se utiliza el búfer de registro del ASA. Puede que necesite un servidor de registro externo en los entornos de producción.

    ciscoasa(config)#logging enable
    ciscoasa(config)#logging buffered debugging
    

    El usuario hace ping a la interfaz interna del ASA (ping 192.168.1.1). Se muestra este resultado.

    ciscoasa#show logging
    
    !--- Output is suppressed.
    
    %ASA-6-302020: Built ICMP connection for faddr 192.168.1.50/512
    gaddr 192.168.1.1/0 laddr 192.168.1.1/0
    %ASA-6-302021: Teardown ICMP connection for faddr 192.168.1.50/512
    gaddr 192.168.1.1/0 laddr 192.168.1.1/0
    
    !--- The user IP address is 192.168.1.50.
    
    
  • Función de captura del ASA

    Es necesario que el administrador cree una lista de acceso que defina el tráfico que tiene capturar el ASA. Una vez definida la lista de acceso, el comando capture la incorpora y la aplica a una interfaz.

    ciscoasa(config)#access-list inside_test permit icmp any host 192.168.1.1
    ciscoasa(config)#capture inside_interface access-list inside_test interface inside
    

    El usuario hace ping a la interfaz interna del ASA (ping 192.168.1.1). Se muestra este resultado.

    ciscoasa#show capture inside_interface
       1: 13:04:06.284897 192.168.1.50 > 192.168.1.1: icmp: echo request
    
    !--- The user IP address is 192.168.1.50.
    
    

    Nota: Puede descargar el archivo de captura en un sistema como Ethereal como se indica en este resultado.

    
    !--- Open an Internet Explorer and browse with this https link format:
    
    https://[<pix_ip>/<asa_ip>]/capture/<capture name>/pcap
    
  • Depuración

    El comando debug icmp trace se utiliza para capturar el tráfico ICMP del usuario.

    ciscoasa#debug icmp trace
    

    El usuario hace ping a la interfaz interna del ASA (ping 192.168.1.1). Se muestra este resultado en la consola.

    ciscoasa#
    
    !--- Output is suppressed.
    
    ICMP echo request from 192.168.1.50 to 192.168.1.1 ID=512 seq=5120 len=32
    ICMP echo reply from 192.168.1.1 to 192.168.1.50 ID=512 seq=5120 len=32
    
    !--- The user IP address is 192.168.1.50.
    
    

    Para desactivar debug icmp trace, utilice uno de estos comandos:

    • no debug icmp trace

    • undebug icmp trace

    • undebug all, Undebug all o un all

Cada una de estas tres opciones ayuda al administrador a determinar la dirección IP de origen. En este ejemplo, la dirección IP de origen del usuario es 192.168.1.50. El administrador ya puede obtener más información acerca de la aplicación X y determinar la causa del problema.

Paso 2: Localización de la causa del problema

Teniendo en cuenta la información que aparece en la sección Paso 1 de este documento, ahora el administrador conoce el origen de una sesión de la aplicación X. El administrador ya puede obtener más información acerca de la aplicación X y empezar a localizar los problemas.

El administrador del ASA/PIX tiene que preparar el ASA para al menos una de las siguientes sugerencias. Cuando el administrador está listo, el usuario inicia la aplicación X y limita cualquier otra actividad, ya que la actividad adicional del usuario puede provocar confusión o inducir a error al administrador del ASA/PIX.

  • Supervisión de los mensajes de syslog.

    Busque la dirección IP de origen del usuario que localizó en el paso 1. El usuario inicia la aplicación X. El administrador del ASA ejecuta el comando show logging y visualiza el resultado.

    ciscoasa#show logging
    
    !--- Output is suppressed.
    
    %ASA-7-609001: Built local-host inside:192.168.1.50
    %ASA-6-305011: Built dynamic TCP translation from inside:192.168.1.50/1107
    to outside:172.22.1.254/1025
    %ASA-6-302013: Built outbound TCP connection 90 for outside:172.22.1.1/80
    (172.22.1.1/80) to inside:192.168.1.50/1107 (172.22.1.254/1025)

    Los registros revelan que la dirección IP de destino es 172.22.1.1, el protocolo es TCP, el puerto de destino es HTTP/80 y el tráfico se envía a la interfaz externa.

  • Modificación de los filtros de captura.

    Anteriormente se utilizó el comando access-list inside_test y también se utiliza aquí.

    ciscoasa(config)#access-list inside_test permit ip host 192.168.1.50 any
    
    !--- This ACL line captures all traffic from 192.168.1.50
    !--- that goes to or through the ASA.
    
    ciscoasa(config)#access-list inside_test permit ip any host 192.168.1.50 any
    
    !--- This ACL line captures all traffic that leaves
    !--- the ASA and goes to 192.168.1.50.
    
    ciscoasa(config)#no access-list inside_test permit icmp any host 192.168.1.1
    ciscoasa(config)#clear capture inside_interface
    
    !--- Clears the previously logged data.
    !--- The no capture inside_interface removes/deletes the capture.
    
    

    El usuario inicia la aplicación X. A continuación, el administrador del ASA ejecuta el comando show capture inside_interface y visualiza el resultado.

    ciscoasa(config)#show capture inside_interface
    1: 15:59:42.749152 192.168.1.50.1107 > 172.22.1.1.80:
    S 3820777746:3820777746(0) win 65535 <mss 1460,nop,nop,sackOK>
    2: 15:59:45.659145 192.168.1.50.1107 > 172.22.1.1.80:
    S 3820777746:3820777746(0) win 65535 <mss 1460,nop,nop,sackOK>
    3: 15:59:51.668742 192.168.1.50.1107 > 172.22.1.1.80:
    S 3820777746:3820777746(0) win 65535 <mss 1460,nop,nop,sackOK>

    El tráfico capturado proporciona al administrador bastante información valiosa:

    • Dirección de destino: 172.22.1.1

    • Número de puerto: 80/http

    • Protocolo: TCP (observe la "S" o el indicador syn)

    Además, el administrador también sabe que el tráfico de datos para la aplicación X no llegue al ASA.

    Si el resultado es el del comando show capture inside_interface, el tráfico de la aplicación nunca llegó al ASA o no se estableció el filtro de captura para capturar el tráfico:

    ciscoasa#show capture inside_interface
    0 packet captured
    0 packet shown

    En tal caso, el administrador debe considerar analizar el equipo del usuario y cualquier router o dispositivo de red de la ruta entre el equipo del usuario y el ASA.

    Nota: Cuando llega tráfico a una interfaz, el comando capture registra los datos antes de que las políticas de seguridad del ASA analicen el tráfico. Por ejemplo, una lista de acceso deniega todo el tráfico entrante en una interfaz. El comando capture sigue registrando el tráfico. A continuación, la política de seguridad del ASA analiza el tráfico.

  • Depuración

    El administrador no está familiarizado con la aplicación X y, por lo tanto, no sabe qué servicio de depuración activar para el análisis de la aplicación X. Puede que la depuración no sea la mejor opción para resolver el problema en este momento.

Con la información recopilada en el paso 2, el administrador del ASA obtiene varios bits de información valiosa. El administrador sabe que el tráfico llega a la interfaz interna del ASA, la dirección IP de origen, la dirección IP de destino y el servicio que utiliza la aplicación X (TCP/80). De los syslogs, el administrador también extrae que la comunicación se permitió inicialmente.

Paso 3: Confirmación y supervisión del tráfico de la aplicación

El administrador del ASA desea confirmar que el tráfico de la aplicación X ha salido del ASA, así como supervisar cualquier tráfico de retorno desde el servidor de la aplicación X.

  • Supervisión de los mensajes de syslog.

    Filtre los mensajes de syslog para la dirección IP de origen (192.168.1.50) o de destino (172.22.1.1). En la línea de comandos, el filtro de los mensajes de syslog aparece como show logging | include 192.168.1.50 o show logging | include 172.22.1.1. En este ejemplo, el comando show logging se utiliza sin filtros. El resultado se ha eliminado para facilitar la lectura.

    ciscoasa#show logging
    
    !--- Output is suppressed.
    
    %ASA-7-609001: Built local-host inside:192.168.1.50
    %ASA-7-609001: Built local-host outside:172.22.1.1
    %ASA-6-305011: Built dynamic TCP translation from inside:192.168.1.50/1107
    to outside:172.22.1.254/1025
    %ASA-6-302013: Built outbound TCP connection 90 for outside:172.22.1.1/80
    (172.22.1.1/80) to inside:192.168.1.50/1107 (172.22.1.254/1025)
    %ASA-6-302014: Teardown TCP connection 90 for outside:172.22.1.1/80
    to inside:192.168.1.50/1107 duration 0:00:30 bytes 0 SYN Timeout
    %ASA-7-609002: Teardown local-host outside:172.22.1.1 duration 0:00:30
    %ASA-6-305012: Teardown dynamic TCP translation from inside:192.168.1.50/1107
    to outside:172.22.1.254/1025 duration 0:01:00
    %ASA-7-609002: Teardown local-host inside:192.168.1.50 duration 0:01:00

    El mensaje de syslog indica que la conexión se cerró debido al tiempo de espera de SYN. Esto indica al administrador que el ASA no ha recibido respuestas del servidor de la aplicación X. Los motivos de la terminación del mensaje de syslog pueden variar. Consulte Mensajes del sistema del ASA (en inglés) para obtener más información sobre los mensajes de syslog.

  • Creación de un nuevo filtro de captura.

    A partir del tráfico capturado y los mensajes de syslog anteriores, el administrador sabe que la aplicación X debe salir del ASA a través de la interfaz externa.

    ciscoasa(config)#access-list outside_test permit tcp any host 172.22.1.1 eq 80
    
    !--- When you leave the source as 'any', it allows
    !--- the administrator to monitor any network address translation (NAT).
    
    ciscoasa(config)#access-list outside_test permit tcp host 172.22.1.1 eq 80 any
    
    !--- When you reverse the source and destination information,
    !--- it allows return traffic to be captured.
    
    ciscoasa(config)#capture outside_interface access-list outside_test interface outside
    

    El usuario tiene que iniciar una nueva sesión con la aplicación X. Una vez que el usuario ha iniciado una nueva sesión de la aplicación X, el administrador del ASA tiene que ejecutar el comando show capture outside_interface en el ASA.

    ciscoasa(config)#show capture outside_interface
    3 packets captured
       1: 16:15:34.278870 172.22.1.254.1026 > 172.22.1.1.80:
    S 1676965539:1676965539(0) win 65535 <mss 1380,nop,nop,sackOK>
       2: 16:15:44.969630 172.22.1.254.1027 > 172.22.1.1.80:
    S 990150551:990150551(0) win 65535 <mss 1380,nop,nop,sackOK>
       3: 16:15:47.898619 172.22.1.254.1027 > 172.22.1.1.80:
    S 990150551:990150551(0) win 65535 <mss 1380,nop,nop,sackOK>
    3 packets shown

    La captura muestra el tráfico saliendo de la interfaz externa, pero no muestra ningún tráfico de respuesta del servidor 172.22.1.1. Esta captura muestra los datos a medida que salen del ASA.

  • Uso de la opción packet-tracer.

    De las secciones anteriores, el administrador del ASA ha obtenido suficiente información para utilizar la opción de packet-tracer en el ASA.

    ciscoasa#packet-tracer input inside tcp 192.168.1.50 1025 172.22.1.1 http
    
    !--- This line indicates a source port of 1025. If the source
    !--- port is not known, any number can be used.
    !--- More common source ports typically range
    !--- between 1025 and 65535.
    
    Phase: 1
    Type: CAPTURE
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    MAC Access list
    
    Phase: 2
    Type: ACCESS-LIST
    Subtype:
    Result: ALLOW
    Config:
    Implicit Rule
    Additional Information:
    MAC Access list
    
    Phase: 3
    Type: FLOW-LOOKUP
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    Found no matching flow, creating a new flow
    
    Phase: 4
    Type: ROUTE-LOOKUP
    Subtype: input
    Result: ALLOW
    Config:
    Additional Information:
    in   172.22.1.0      255.255.255.0   outside
    
    Phase: 5
    Type: ACCESS-LIST
    Subtype: log
    Result: ALLOW
    Config:
    access-group inside_acl in interface inside
    access-list inside_acl extended permit tcp 192.168.1.0 255.255.255.0 any eq www 
    Additional Information:
    
    Phase: 6
    Type: IP-OPTIONS
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    
    Phase: 7
    Type: CAPTURE
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    
    Phase: 8
    Type: NAT
    Subtype:
    Result: ALLOW
    Config:
    nat (inside) 1 192.168.1.0 255.255.255.0
      match ip inside 192.168.1.0 255.255.255.0 outside any
        dynamic translation to pool 1 (172.22.1.254)
        translate_hits = 6, untranslate_hits = 0
    Additional Information:
    Dynamic translate 192.168.1.50/1025 to 172.22.1.254/1028
    using netmask 255.255.255.255
    
    Phase: 9
    Type: NAT
    Subtype: host-limits
    Result: ALLOW
    Config:
    nat (inside) 1 192.168.1.0 255.255.255.0
      match ip inside 192.168.1.0 255.255.255.0 outside any
        dynamic translation to pool 1 (172.22.1.254)
        translate_hits = 6, untranslate_hits = 0
    Additional Information:
    
    Phase: 10
    Type: CAPTURE
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    
    Phase: 11
    Type: CAPTURE
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    
    Phase: 12
    Type: IP-OPTIONS
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    
    Phase: 13
    Type: CAPTURE
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    
    Phase: 14
    Type: FLOW-CREATION
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    New flow created with id 94, packet dispatched to next module
    
    Phase: 15
    Type: ROUTE-LOOKUP
    Subtype: output and adjacency
    Result: ALLOW
    Config:
    Additional Information:
    found next-hop 172.22.1.1 using egress ifc outside
    adjacency Active
    next-hop mac address 0030.a377.f854 hits 11
    
    !--- The MAC address is at Layer 2 of the OSI model.
    !--- This tells the administrator the next host
    !--- that should receive the data packet.
    
    
    Result:
    input-interface: inside
    input-status: up
    input-line-status: up
    output-interface: outside
    output-status: up
    output-line-status: up
    Action: allow

    El resultado más importante del comando packet-tracer es la última línea, que es Action: allow.

Cada una de las tres opciones del paso 3 muestran al administrador que el ASA no es responsable de los problemas de la aplicación X. El tráfico de la aplicación X sale del ASA y éste no recibe ninguna respuesta del servidor de la aplicación X.

Paso siguiente

Hay muchos componentes que permiten que la aplicación X funcione correctamente para los usuarios. Entre estos componentes se incluyen el equipo del usuario, el cliente de la aplicación X, el enrutamiento, las políticas de acceso y el servidor de la aplicación X. En el ejemplo anterior, se ha demostrado que el ASA recibe y reenvía el tráfico de laaplicación X. En este momento, es cuando se tienen que implicar los administradores del servidor y de la aplicación X. Éstos deben verificar que los servicios de la aplicación funcionan, revisar cualquier registro del servidor y verificar que el servidor y la aplicación X han recibido el tráfico del usuario.


Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Document ID: 71871