Buenas,

Una de las causas de problemas mas comunes con el protocolo FTP es el comportamiento de estos atraves de un Firewall,

Tenemos que tomar en cuenta que FTP es un protocolo TCP que opera en puerto 21.

Ahora FTP trabaja en varios modos (Active,Passive,SFTP,FTPS).

El dia de hoy mencionaremos los mas comunes (Active FTP y Passive FTP).

Empecemos con las bases:

FTP es un protocolo que se caracteriza por el hecho de que contara con la utilizacion de varios canales en las cuales se intercambiara informacion (no solo un canal como por ejemplo pasa con protocolos como HTTP, SMTP, etc)

FTP primero utilizara un canal de control donde ambos (servidor y cliente) negociaran el data channel de forma dinamica.

Aqui es donde viene lo interesante, si tenemos un dispositivo en nuestra red que se encarga de filtrar trafico en nuestra red, este dispositivo debe ser capaz de identificar el puerto que ellos utilizaran para establecer el data channel o canal de datos.

Que significa que un servidor FTP esta corriendo en Active Mode?

Significa que el servidor se encargara de iniciar la conexion del canal de datos (La conexion de control siempre sera iniciada por el cliente).

Que significa que un servidor FTP esta corriendo en Passive Mode?

Significa que el servidor no iniciara ninguna conexion (ambas: Conexion de control y Conexion de datos seran iniciadas por parte del cliente)

Inspeccion de FTP en un ASA Firewall

Una pregunta clave es:

Es necesario habilitarlo cada vez que el ASA va a ver trafico FTP?

La respuesta es NO, va a depender de dos cosas:

1) Donde este el servidor y el cliente (en que interfaces)

2) En que modo este corriendo el servidor (Active/Passive)

Laboratorio:

Tenemos un servidor en la red Interna que esta corriendo FTP en passive Mode

Queremos que usuarios en internet puedan accesarlo.

FTP1.png

Factores a considerar:

  • FTP en Passive Mode (Cliente iniciara ambas conexiones)

  • FTP client en el outside

  • FTP server en el inside

Vamos a seguir el flujo de trafico que va de Inicio a Fin:

1) Cliente enviara un SYN packet al Server( puerto destino es TCP 21)

2) Server respondera con un SYN-ACK

3) Cliente enviara un ACK

El three-way handshake ha sido completado.

Posteriormente :

4) Cliente envia un mensaje PASV al Server en puerto destino TCP 21

5) Server responde con un mensaje P indicandole al cliente en cual puerto el cliente debe conectarse para iniciar el data channel (basicamente en que puerto escuchara el servidor)

Que pasa si el Firewall no tiene el inspection de FTP?

Basicamente no podria inspeccionar la informacion intercambiada en los mensajes PASV intercambiados durante el canal de control, es por ende que en este escenario la configuracion es requerida.

Configuracion de Inspeccion de FTP en el ASA

policy-map global_policy

class inspection_default

inspect ftp

Con esta configuracion el ASA empezara a inspeccionar todos los paquetes recibidos en puerto 21,

Alguna pregunta contactarme a julio17carvajal@hotmail.com o jcarvaja@cisco.com

Julio Carvajal

2274
Visitas
15
ÚTIL
0
Comentarios