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

Anuncio
PIX/ASA 7.x: Ejemplo de configuración para habilitar servicios
FTP/TFTP
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
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
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:
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: 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
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
!
class inspection_default
dns preset_dns_map
ftp
h323 h225
h323 ras
netbios
rsh
rtsp
skinny
esmtp
sqlnet
sunrpc
tftp
sip
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
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
inspect
!
class inspection_default
dns preset_dns_map
ftp
h323 h225
h323 ras
netbios
rsh
rtsp
skinny
esmtp
sqlnet
sunrpc
tftp
sip
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.
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: 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.
© 1992-2014 Cisco Systems Inc. Todos los Derechos Reservados.
Fecha de Generación del PDF: 20 Junio 2008
http://www.cisco.com/cisco/web/support/LA/9/98/98024_pix-asa-enable-ftp.html
Descargar