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

PIX/ASA 7.x: Ejemplo de configuración para habilitar servicios FTP/TFTP

20 Junio 2008 - Traducción manual
Otras Versiones: PDFpdf | Traducción Automática (31 Julio 2013) | Inglés (3 Agosto 2011) | Comentarios

Contenidos

Introducción
Requisitos previos
     Requisitos
     Componentes utilizados
     Diagrama de la red
     Productos relacionados
     Convenciones
Antecedentes
     Gestión avanzada del protocolo
Configuración de la inspección de aplicaciones FTP básica
     Configuración de ejemplo
Configuración de la inspección de aplicaciones TFTP básica
     Configuración de ejemplo
Verificación
Problema: La sintaxis de la configuración no funciona y se recibe un error de inspección de correspondencia de clases
     Solución
Discusiones relacionadas de la comunidad de soporte de Cisco

Introducción

En este documento se explican los pasos necesarios para que los usuarios fuera de la red puedan acceder a los servicios FTP y TFTP en la red DMZ.

Protocolo de transferencia de archivos (FTP)

Existen dos formas de FTP:

  • Modo activo

  • Modo pasivo

pix-asa-enable-ftp-2.gif

En modo FTP activo, el cliente realiza la conexión desde un puerto no privilegiado aleatorio (N>1023) al puerto de comandos (21) del servidor FTP. A continuación, el cliente comienza a escuchar el puerto N+1 y envía el puerto de comandos FTP N+1 al servidor FTP. El servidor se vuelve a conectar a los puertos de datos especificados del cliente desde su puerto de datos local (puerto 20).

En modo FTP pasivo, el cliente inicia ambas conexiones con el servidor, lo que resuelve el problema de un firewall que filtra la conexión del puerto de datos entrantes con el cliente desde el servidor. Cuando se abre una conexión FTP, el cliente abre localmente dos puertos no privilegiados aleatorios (N>1023 y N+1). El primer puerto entra en contacto con el servidor en el puerto 21. Sin embargo, en lugar de ejecutar un comando port y permitir que el servidor se vuelva a conectar con su puerto de datos, el cliente ejecuta el comando PASV. Como resultado, el servidor abre un puerto no privilegiado aleatorio (P>1023) y vuelve a enviar al cliente el comando port P. El cliente inicia entonces la conexión desde el puerto N+1 al puerto P en el servidor para transferir datos. Sin la configuración del comando inspection en el dispositivo de seguridad, el servicio FTP de usuarios internos hacia el exterior sólo funciona en modo pasivo. Asimismo, a los usuarios externos que intentan acceder hacia el interior al servidor FTP, se les deniega el acceso.

Protocolo trivial de transferencia de archivos (TFTP)

TFTP, tal y como se describe en RFC 1350, es un protocolo simple para leer y escribir archivos entre un cliente y un servidor TFTP. TFTP utiliza el puerto UDP 69.

Requisitos previos

Requisitos

Antes de utilizar esta configuración, asegúrese de cumplir con los siguientes requisitos:

  • Existe una comunicación básica entre las interfaces necesarias.

  • Se ha configurado el servidor FTP situado dentro de la red DMZ.

Componentes utilizados

La información de este documento se basa en estas versiones de software y hardware:

  • Dispositivo de seguridad adaptable ASA serie 5500 que ejecuta la imagen de software 7.2(2)

  • Windows 2003 Server que ejecuta servicios FTP

  • Windows 2003 Server que ejecuta servicios TFTP

  • Equipo cliente en la parte externa de la red

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración despejada (predeterminada). Si la red está en producción, asegúrese de comprender el impacto que pueda tener cualquier comando.

Diagrama de la red

Este documento utiliza esta configuración de red:

pix-asa-enable-ftp-1.gif

Nota: los esquemas de direccionamiento IP utilizados en esta configuración no son legalmente enrutables en Internet. Son direcciones RFC 1918 que se han utilizado en un entorno de laboratorio.

Productos relacionados

Esta configuración también se puede utilizar con la versión 7.x. del dispositivo de seguridad PIX.

Convenciones

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

Antecedentes

El dispositivo de seguridad admite la inspección de aplicaciones mediante la función del algoritmo de seguridad adaptable. Con la inspección de estado utilizada por dicho algoritmo, el dispositivo de seguridad realiza un seguimiento de todas las conexiones que atraviesan el firewall, garantizando su validez. El firewall, mediante la inspección de estado, también supervisa el estado de la conexión para compilar información y situarla en una tabla de estado. Con el uso de esta tabla y las reglas definidas por el administrador, las decisiones de filtrado se basan en el contexto que se establece mediante paquetes transmitidos previamente a través del firewall. La implementación de las inspecciones de aplicaciones consta de tres operaciones:

  • Identificar el tráfico.

  • Aplicar inspecciones al tráfico.

  • Activar inspecciones en una interfaz.

Gestión avanzada del protocolo

FTP

Algunas aplicaciones requieren una gestión especial mediante la función de inspecciones de aplicaciones del dispositivo de seguridad de Cisco. Este tipo de aplicaciones suele incorporar información de direccionamiento IP en el paquete de datos de usuario, o bien abrir canales secundarios en puertos asignados de forma dinámica. La función de inspección de aplicaciones opera con la traducción de direcciones de red (NAT) para ayudar a identificar la ubicación de información de direccionamiento incorporada.

Además de la identificación de esta información, con la función de inspección de aplicaciones se supervisan las sesiones para determinar los números de puerto de los canales secundarios. Muchos protocolos abren puertos TCP o UDP secundarios para mejorar el rendimiento. La sesión inicial en un puerto conocido se emplea para negociar los números de puerto asignados de forma dinámica. Con la función de inspección de aplicaciones se supervisan estas sesiones, se identifican las asignaciones de puerto dinámicas y se permite el intercambio de datos en estos puertos durante la duración de estas sesiones específicas. Las aplicaciones FTP y multimedia presentan este comportamiento.

El protocolo FTP requiere una gestión especial debido al uso de dos puertos por sesión FTP. El protocolo FTP hace uso de dos puertos al activarse para transferir datos: un canal de control y otro canal de datos que usan los puertos 21 y 20, respectivamente. El usuario que inicia la sesión FTP con el canal de control, realiza todas las solicitudes de datos mediante este canal. El servidor FTP inicia una solicitud para abrir un puerto desde el puerto 20 del servidor hasta el equipo del usuario. FTP siempre utilizará el puerto 20 para las comunicaciones del canal de datos. Si la inspección FTP no se ha habilitado en el dispositivo de seguridad, esta solicitud se descartará y las sesiones FTP no transmitirán ningún dato solicitado. Si, por el contrario, la inspección FTP se habilita en el dispositivo de seguridad, el dispositivo supervisará el canal de control e intentará reconocer una solicitud para abrir el canal de datos. El protocolo FTP incorpora las especificaciones de puerto del canal de datos en el tráfico del canal de control, lo que requiere que el dispositivo de seguridad inspeccione el canal de control para ver los cambios en el puerto de datos. Si el dispositivo de seguridad reconoce una solicitud, crea temporalmente una apertura para el tráfico del canal de datos, que se mantendrá durante la sesión. De este modo, la función de inspección FTP supervisa el canal de control, identifica una asignación del puerto de datos y permite el intercambio de información en el puerto de datos durante el transcurso de la sesión.

El dispositivo de seguridad inspecciona las conexiones del puerto 21 para el tráfico FTP de forma predeterminada mediante la correspondencia de clases de inspección global. El dispositivo también reconoce la diferencia entre una sesión FTP activa y otra pasiva. Si las sesiones FTP admiten la transferencia de datos de FTP pasiva, el dispositivo de seguridad, mediante el comando inspect ftp, reconoce la solicitud del puerto de datos del usuario y abre un nuevo puerto de datos superior a 1023.

La inspección de aplicaciones FTP supervisa las sesiones FTP y lleva a cabo cuatro tareas:

  • Prepara una conexión de datos secundaria y dinámica

  • Realiza el seguimiento de la secuencia comando-respuesta de FTP

  • Genera un rastro de auditoría

  • Traduce la dirección IP incluida mediante NAT

La inspección de aplicaciones FTP prepara canales secundarios para la transferencia de datos FTP. Los canales se asignan en respuesta a una carga o descarga de archivos o a un evento de listado de directorios, y se deben negociar previamente. El puerto se negocia con los comandos PORT o PASV (227).

TFTP

La inspección TFTP se habilita de forma predeterminada.

El dispositivo de seguridad inspecciona el tráfico TFTP y de forma dinámica crea conexiones y traducciones, si es necesario, para permitir la transferencia de archivos entre un servidor y un cliente TFTP. En concreto, el motor de inspección supervisa solicitudes de lectura TFTP (RRQ), solicitudes de escritura (WRQ) y notificaciones de error (ERROR).

Si es necesario, se asignan un canal secundario dinámico y una traducción PAT al recibirse una solicitud RRQ o WRQ válida. Posteriormente, TFTP emplea este canal secundario para la transferencia de archivos o las notificaciones de error.

Únicamente el servidor TFTP puede iniciar el tráfico a través del canal secundario y como máximo puede haber un canal secundario incompleto entre el servidor y el cliente TFTP. Una notificación de error del servidor cierra el canal secundario.

La inspección TFTP se debe habilitar si la traducción PAT estática se utiliza para redireccionar el tráfico TFTP.

Configuración de la inspección de aplicaciones FTP básica

De forma predeterminada, la configuración incluye una política que relaciona todo el tráfico de inspección de aplicaciones predeterminado y aplica la inspección al tráfico en todas las interfaces (política global). En el tráfico de inspección de aplicaciones predeterminado se incluye el tráfico de los puertos predeterminados para cada protocolo. Se puede aplicar sólo una política global, de modo que si desea modificarla, por ejemplo, para aplicar la inspección a puertos no estándar o agregar inspecciones que no estén habilitadas de forma predeterminada, debe cambiar la política predeterminada, o bien deshabilitarla y aplicar una nueva. Para obtener una lista de todos los puertos predeterminados, consulte Default Inspection Policy (Política de inspección predeterminada).

  1. Ejecute el comando policy-map global_policy.

    ASAwAIP-CLI(config)#policy-map global_policy
                   
  2. Ejecute el comando class inspection_default.

    ASAwAIP-CLI(config-pmap)#class inspection_default
                   
  3. Ejecute el comando inspect FTP.

    ASAwAIP-CLI(config-pmap-c)#inspect FTP
                   

    Existe una opción para utilizar el comando inspect FTP strict. Con él aumenta la seguridad de las redes protegidas, evitando que un navegador Web envíe comandos incluidos en solicitudes FTP.

    Una vez habilitada la opción strict en una interfaz, la inspección FTP impone este comportamiento:

    • Los comandos FTP se deben reconocer antes de que el dispositivo de seguridad permita un nuevo comando.

    • El dispositivo de seguridad detiene una conexión que envía los comandos incluidos.

    • Los comandos 227 y PORT se comprueban para verificar que no aparecen en ninguna cadena de error.

    Advertencia Advertencia: el uso de la opción strict puede causar el fallo de los clientes FTP que no son totalmente compatibles con las RFC de FTP. Consulte Using the strict Option (Uso de la opción strict) para obtener más información sobre el uso de strict .

Configuración de ejemplo

Nombre de dispositivo 1

ASA-AIP-CLI(config)#show running-config

 ASA Version 7.2(2)
!
hostname ASA-AIP-CLI
domain-name corp.com
enable password WwXYvtKrnjXqGbu1 encrypted
names
!
interface Ethernet0/0
 nameif Outside
 security-level 0
 ip address 192.168.1.2 255.255.255.0
!
interface Ethernet0/1
 nameif Inside
 security-level 100
ip address 10.1.1.1 255.255.255.0
!
interface Ethernet0/2
 nameif DMZ
  security-level 50
  ip address 172.16.1.12 255.255.255.0
!
interface Ethernet0/3
 no nameif
 no security-level
 no ip address
!
interface Management0/0
  no nameif
 no security-level
 no ip address
!

                     !--- Resultado suprimido.
                  

                  
                     !--- Permita el tráfico de control FTP entrante. 
                  

                  access-list 100 extended permit tcp any host 192.168.1.5 eq ftp

                  
                     !--- Permita el tráfico de datos FTP entrante.
                  

                  access-list 100 extended permit tcp any host 192.168.1.5 eq ftp-data
!

                     !--- Comando para redirigir el tráfico FTP recibido en IP 192.168.1.5
!--- a IP 172.16.1.5.
                  

                  static (DMZ,outside) 192.168.1.5 172.16.1.5 netmask 255.255.255.255

                  access-group 100 in interface outside
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
!

                     !--- Este comando indica al dispositivo que
!--- use la correspondencia de políticas "global_policy" en todas las interfaces.
                  

                  service-policy global_policy global
prompt hostname context
Cryptochecksum:4b2f54134e685d11b274ee159e5ed009
: end
ASA-AIP-CLI(config)#  

Configuración de la inspección de aplicaciones TFTP básica

De forma predeterminada, la configuración incluye una política que relaciona todo el tráfico de inspección de aplicaciones predeterminado y aplica la inspección al tráfico en todas las interfaces (política global). En el tráfico de inspección de aplicaciones predeterminado se incluye el tráfico de los puertos predeterminados para cada protocolo. Sólo se puede aplicar una política global. Si desea modificar la política global, por ejemplo, para aplicar la inspección a puertos no estándar o agregar inspecciones que no estén habilitadas de forma predeterminada, debe cambiar la política predeterminada, o bien deshabilitarla y aplicar una nueva. Para obtener una lista de todos los puertos predeterminados, consulte Default Inspection Policy (Política de inspección predeterminada).

  1. Ejecute el comando policy-map global_policy.

    ASAwAIP-CLI(config)#policy-map global_policy
                   
  2. Ejecute el comando class inspection_default.

    ASAwAIP-CLI(config-pmap)#class inspection_default
                   
  3. Ejecute el comando inspect TFTP.

    ASAwAIP-CLI(config-pmap-c)#inspect TFTP
                   

Configuración de ejemplo

Nombre de dispositivo 1

ASA-AIP-CLI(config)#show running-config

 ASA Version 7.2(2)
!
hostname ASA-AIP-CLI
domain-name corp.com
enable password WwXYvtKrnjXqGbu1 encrypted
names
!
interface Ethernet0/0
 nameif Outside
 security-level 0
 ip address 192.168.1.2 255.255.255.0
!
interface Ethernet0/1
 nameif Inside
 security-level 100
ip address 10.1.1.1 255.255.255.0
!
interface Ethernet0/2
 nameif DMZ
  security-level 50
  ip address 172.16.1.12 255.255.255.0
!
interface Ethernet0/3
 no nameif
 no security-level
 no ip address
!
interface Management0/0
  no nameif
 no security-level
 no ip address
!

                     !--- Resultado suprimido.
                  

                  
                     !--- Permita el tráfico TFTP entrante. 
                  

                  access-list 100 extended permit udp any host 192.168.1.5 eq tftp
!

                     !--- Comando para redirigir el tráfico TFTP recibido en IP 192.168.1.5
!--- a IP 172.16.1.5.
                  

                  static (DMZ,outside) 192.168.1.5 172.16.1.5 netmask 255.255.255.255

                  access-group 100 in interface outside
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
!

                     !--- Este comando indica al dispositivo que
!--- use la correspondencia de políticas "global_policy" en todas las interfaces.
                  

                  service-policy global_policy global
prompt hostname context
Cryptochecksum:4b2f54134e685d11b274ee159e5ed009
: end
ASA-AIP-CLI(config)#  

Verificación

Para garantizar que la configuración se haya aplicado correctamente, use el comando show service-policy y limite el resultado sólo a la inspección FTP con el comando show service-policy inspect ftp.

pix-asa-enable-ftp-3.gif

Problema: La sintaxis de la configuración no funciona y se recibe un error de inspección de correspondencia de clases

La sintaxis de la sección de configuración no funciona y se recibe un error como el siguiente:

ERROR: % class-map inspection_default not configured

Solución

La configuración se basa en las inspecciones predeterminadas que están en la configuración. Si no están en ella, vuelva a crearlas con los siguientes comandos:

  1. class-map inspection_default

    match default-inspection-traffic

  2. policy-map type inspect dns preset_dns_map parameters

    message-length maximum 512

  3. policy-map global_policy

    • class inspection_default

      • inspect dns preset_dns_map

        inspect ftp inspect h323 h225

        inspect h323 ras

        inspect rsh

        inspect rtsp

        inspect esmtp

        inspect sqlnet

        inspect skinny

        inspect sunrpc

        inspect xdmcp

        inspect sip

        inspect netbios

        inspect tftp

  4. service-policy global_policy global

Advertencia Advertencia: si las inspecciones predeterminadas se eliminaron previamente para resolver otro problema, dicho conflicto puede volver a aparecer cuando las inspecciones se vuelvan a habilitar. Usted o su administrador deben saber si las inspecciones se eliminaron previamente como solución a un problema.


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: 82018