Fundamentos del Protocolo FTP: Funcionamiento, Modos y Configuración

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,99 KB

Protocolo de Transferencia de Ficheros (FTP): Conceptos Esenciales y Operación

El Protocolo de Transferencia de Ficheros (FTP) es un protocolo de red estándar utilizado para la transferencia de archivos entre un cliente y un servidor en una red informática. Se basa en una arquitectura cliente/servidor, donde el servidor actúa como un repositorio de ficheros y el cliente se conecta para subir o bajar archivos. Una de sus características clave es la independencia del tipo de plataforma y ficheros utilizados para la transferencia.

Ventajas y Desventajas del FTP

Ventajas:

  • Compartir ficheros de manera eficiente.
  • Capacidad de continuar transferencias interrumpidas, lo que mejora la fiabilidad.
  • Permite transferir datos de manera relativamente rápida.

Desventajas:

  • Seguridad limitada: Todo el flujo de datos, incluyendo credenciales, viaja en texto plano, lo que lo hace vulnerable a la interceptación.

Funcionamiento Básico del FTP

FTP es un protocolo de aplicación que opera sobre TCP/IP. El servidor FTP escucha las conexiones entrantes de los clientes por el puerto 21, que es el puerto de control.

Parámetros de Negociación y Tipos de Datos

Durante una sesión FTP, se negocian varios parámetros para la transferencia de datos:

  • Tipos de datos:
    • ASCII: Para ficheros de texto.
    • Binario: Para cualquier otro tipo de fichero (imágenes, ejecutables, etc.). Se utiliza el comando FTP TYPE I para binario y TYPE A para ASCII.
  • Estructura de datos:
    • File: El fichero se transfiere como una secuencia continua de bytes.
    • Record: El fichero se transfiere como una secuencia de registros (menos común).
  • Modo de transmisión:
    • Stream (Flux): Los datos se envían como un flujo continuo de bytes.
    • Bloque: Los datos se envían en bloques con encabezados.
    • Comprimido: Los datos se comprimen antes de la transmisión.

Partes Diferenciadas del Protocolo FTP

El funcionamiento del FTP se divide en dos partes principales:

  1. Intérprete del Protocolo (Control): Encargado del intercambio de órdenes y respuestas entre el cliente y el servidor.
  2. Transferencia de Datos: Parte encargada de intercambiar los ficheros y directorios entre el cliente y el servidor.

Canales de Comunicación en FTP

Para su funcionamiento, FTP requiere la utilización de dos canales TCP distintos:

  • Canal de Control: Se establece en el puerto 21 del servidor. Se utiliza para enviar comandos y recibir respuestas. Permanece abierto durante toda la sesión.
  • Canal de Datos: Se utiliza para la transferencia real de ficheros. El puerto utilizado depende del modo de funcionamiento (activo o pasivo).

Modos de Funcionamiento del FTP: Activo y Pasivo

El FTP puede operar en dos modos principales para establecer el canal de datos:

1. Modo Activo

En el modo activo, es el servidor quien inicia la conexión con el cliente para la transferencia de ficheros. El proceso es el siguiente:

  1. El cliente se conecta al puerto 21 del servidor (canal de control).
  2. Antes de solicitar una transferencia de datos, el cliente indica al servidor qué puerto dinámico local utilizará para recibir la conexión de datos.
  3. El servidor, desde su puerto 20 (puerto de datos por defecto para el modo activo), establece una nueva conexión TCP con el puerto dinámico especificado por el cliente.
  4. Una vez establecida esta nueva conexión TCP, se utiliza como el canal de datos para la transferencia.

2. Modo Pasivo

En el modo pasivo, es el cliente quien inicia la conexión con el servidor para la transferencia de ficheros, lo que es más amigable con los firewalls. El proceso es el siguiente:

  1. El cliente se conecta al puerto 21 del servidor (canal de control).
  2. El cliente envía una solicitud de modo pasivo (PASV) al servidor.
  3. El servidor responde enviando al cliente su dirección IP y un puerto dinámico (superior a 1023) en el que está escuchando para la conexión de datos.
  4. El cliente establece una nueva conexión TCP desde un puerto dinámico propio hacia el puerto dinámico que el servidor le ha indicado.
  5. Esta nueva conexión TCP se convierte en el canal de datos.

Categorías de Órdenes (Comandos) del Cliente FTP

El protocolo FTP define diversas categorías de comandos que el cliente puede enviar al servidor:

  • Control de acceso: Comandos para autenticación (USER, PASS).
  • Órdenes de parámetros de transferencia: Comandos para configurar el tipo de datos, estructura y modo (TYPE, MODE, STRU).
  • Órdenes de servicio FTP: Comandos para operaciones de ficheros y directorios (LIST, RETR, STOR, DELE, MKD, RMD, CWD).

Uso del Cliente FTP

Los clientes FTP pueden utilizarse de dos maneras principales:

  1. Modo textual (línea de comandos): Se accede mediante el comando ftp <servidor|ip> en la terminal.
  2. Modo gráfico: A través de aplicaciones con interfaz gráfica de usuario, como FileZilla o gFTP.

Servidor FTP: Implementación y Gestión

El sistema operativo por sí mismo no suele proporcionar una aplicación de servidor FTP. Es necesario instalar software específico. Un ejemplo popular es vsftpd (Very Secure FTP Daemon).

Monitorización del Servidor FTP

Las actividades del servidor FTP pueden ser monitorizadas a través de sus ficheros de log. Por ejemplo, en sistemas basados en Linux, la información relevante puede encontrarse en /var/log/syslog o en logs específicos de vsftpd.

Configuración del Servidor FTP

La configuración principal de un servidor vsftpd se realiza en el fichero /etc/vsftpd.conf. Desde este fichero, se puede controlar el acceso de diferentes tipos de usuarios:

  • Usuarios locales: Cuentas de usuario del sistema operativo.
  • Usuarios anónimos: Permite el acceso sin credenciales, generalmente a un directorio público específico.

Entradas relacionadas: