Saltar al contenido
Inicio / Networking / Cisco / FTP Modo Pasivo – Activo (Parte I)

FTP Modo Pasivo – Activo (Parte I)

El protocolo FTP es utilizado para transferencia de archivos entre dos hosts remotos, definido en la RFC 959. El mismo soporta básicamente dos modos de funcionamiento, FTP activo y FTP pasivo. Los cuales a muchos ingenieros de redes y seguridad trae de cabeza, vamos a tratar de explicar el funcionamiento de cada uno de ellos.

El protocolo FTP funciona de una forma que es denominada fuera de banda. Por un lado, utiliza una conexión persistente para control y otra conexión a demanda para datos. De ahí que utilice dos puertos TCP: 21 para control y 20 para datos.
En el modo activo trabaja básicamente de la siguiente manera:
  • El cliente A inicia la conexión con un puerto TCP origen aleatorio N al puerto destino TCP 21 del servidor B.
  • El cliente comienza a escuchar peticiones en el puerto TCP N+1 y se lo indica al servidor.
  • El servidor B será luego el que, al transferir información al cliente, se conectará al puerto TCP destino N+1 del cliente A con puerto TCP origen 20.
Modo Activo

ftp_activo.png

El gran problema con el modo activo es que no funciona con clientes detrás de NAT, pues el servidor no puede alcanzar el puerto en el que el cliente escucha. También implica un problema de seguridad, dado que el cliente no debería recibir conexiones sino generarlas. En el caso de que necesitemos configurarlo en modo Activo deberíamos hacerlo sobre una máquina aislada de la red, etc… puesto que implica demasiados riesgos de seguridad

Para poder solucionar el problema del ftp en modo Activo tenemos el modo pasivo, puesto que es el cliente el que inicia ambas conexiones. En este caso el protocolo es el que sigue:
  • El cliente A inicia una conexión desde un puerto TCP origen aleatorio N al puerto destino TCP 21 del servidor B.
  • El servidor le responde con un puerto donde estará escuchando sus peticiones.
  • El cliente A inicia las conexiones de datos desde otro puerto TCP origen aleatorio N+1 al puerto TCP destino especificado por el servidor.
Modo Pasivo

ftp_pasv.png

Ahora bien, el problema en este caso es securizar el servidor, puesto que el puerto en el que escuchará las peticiones del cliente es aleatorio. También podemos definir en el servidor FTP los intervalos de puertos que utilizará para el canal de datos. Vamos a ver algunos ejemplos de servidores FTP y como establecer el intervalo de puertos para el modo PASIVO
Serv-U
ftp-serv-u.png

IIS 7.5
ftp-iis7.png
Como vemos podemos especificar los puertos que vamos a utilizar para el canal de datos, por lo que podemos definir con más comodidad las reglas de nuestros Firewall y/o Dispositivos de Seguridad. Si el servidor ftp está detrás de un dispositivo NAT debemos escribir la dirección IP Pública, para que los clientes tengan conocimiento de la IP Pública para el tráfico de retorno.
En el siguiente artículo veremos como configurar un dispositivo con NAT para configurar un servidor FTP Pasivo y Activo
Etiquetas:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¡Comparte!