Instinto Lógico

Recuerda que nadie debe pensar por tí.

FTP: ¿Qué es? ¿Cómo funciona?

ftpEl servicio FTP (File Transfer Protocol en inglés o Protocolo de Transferencia de Ficheros en español) es un protocolo del nivel de aplicación. Está basado en una arquitectura cliente servidor y proporciona un mecanismo estándar de transferencia de archivos entre sistemas a través de redes TCP/IP.

Para utilizar el servicio FTP, debemos disponer de una máquina servidor y otra cliente.

El objetivo fundamental del FTP es poder intercambiar ficheros entre máquinas a través de la red (o internet) con independencia del sistema de archivos y sistema operativo utilizado de una forma eficaz.

Tenemos que considerar que el servicio FTP surgió para el SO UNIX cuando aún no había ordenadores personales y, desde luego, casi no había máquinas en red. Esto ocasionó que en su diseño se centraron en un funcionamiento correcto y no en implementar un protocolo seguro. Por ello FTP tiene algunas carencias importantes de seguridad, entre las que destaca que transfiere las contraseñas y la información en texto plano, por lo que con la captura de las tramas con un sniffer de red tipo WireShark se puede obtener la contraseña del usuario.

¿Cómo funciona el FTP?

Es un servicio basado en arquitectura cliente-servidor: Un servidor FTP conectado a la red proporciona el servicio a través de los puertos:

  • Puerto 20: Para la transferencia de datos (No se utiliza en modo pasivo)
  • Puerto 21: Para control (órdenes)

El cliente se conecta al servidor desde un puerto superior al 1024 y hace la solicitud al servidor por el puerto 21, que siempre está escuchando las peticiones de los clientes por ese puerto. Una vez establecida la conexión y a puede hacer uso de las órdenes específicas de transferencia de archivos.

Para conectarnos a un servidor FTP debemos conocer un usuario / contraseña que pueda hacerlo. Para ello lo podemos hacer de dos formas:

  • Usuarios autentificados: son usuarios que se deben indicar su nombre de usuario y contraseña. Dentro de los usuarios autentificados se pueden distinguir los usuarios FTP y los usuarios virtuales. Los usuarios FTP son usuarios del sistema y pueden acceder a las partes del sistema de archivos que tienen permisos. Mientras que para los usuarios virtuales se crean sus cuentas en base de datos tipo MySQL y sólo se autentifican para utilizar el FTP.
  • Usuarios anónimos: No disponen de cuenta y para conectarse al servidor FTP introducen un cuenta simbólica (anonymous).

Una vez que se ha establecido la conexión, el usuario puede ejecutar una serie de órdenes FTP y, así, realizar las acciones necesarias para el manejo de archivos y directorios.

 

Modos de conexión a un servidor FTP

  • Conexión FTP en modo activo

La conexión FTP en modo activo es la forma nativa de FTP de establecer la conexión.

En primer lugar se establece una conexión utilizada para transmitir órdenes de FTP desde un puerto superior al 1024 del cliente al puerto 21 del servidor.

En la conexión establecida se comunica al servidor el puerto que utiliza el cliente para la recepción de datos

El servidor abre el puerto 20 para realizar la transferencia solicitado por el cliente.

Ftp modo activo

Con la conexión en modo activo, tendremos el problema de que el servidor abre una conexión hacia el cliente, es decir se abre una conexión de fuera a dentro. Y si el cliente está protegido detrás de un cortafuegos cortará la conexión.

  • Conexión FTP en modo pasivo

La conexión FTP de control se realiza desde un puerto superior al 1024en el cliente y se dirige al puerto 21 del servidor FTP

El cliente solicita un puerto abierto en el servidor superior al 1024

Cuando recibe respuesta, el cliente establece la conexión con el servidor para la transferencia por el puerto indicado anteriormente.

Ftp modo pasivo

               En modo pasivo es el cliente el que comienza todas las conexiones y el problema del cortafuegos del cliente se traslada al servidor, que lo solucionará limitando el número de puertos accesibles para este modo de conexión.

Modos de ejecución de un servidor FTP

Además del tipo de conexión, nos encontramos con que un servidor FTP se puede ejecutar de dos modos:

  • Modo aislado (standalone): se ejecuta como proceso del sistema de forma independiente. Está siempre activo y esperando peticiones. Es el modo recomendado.
  • Modo supervisor: El proceso del servidor FTP se ejecuta por como un proceso hijo del inetd. El proceso del servidor debe iniciarse cada vez que hay una nueva conexión.
Be Sociable, Share!

Deja un comentario

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

Instinto Lógico © 2014 Frontier Theme