A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Qué es FTP

FTPDefinición:

FTP son las siglas de File Transfer Protocol o protocolo de transferencia de archivos. Es un protocolo de red que permite copiar archivos, consultar directorios y realizar otras operaciones entre un cliente y un servidor mediante una conexión basada en TCP.

FTP fue diseñado para intercambiar archivos entre sistemas conectados a una red y forma parte de los protocolos históricos de Internet. Su especificación principal se encuentra en el RFC 959, aunque posteriormente recibió extensiones y mecanismos adicionales.

Arquitectura de FTP

FTP utiliza una arquitectura cliente-servidor con dos conexiones separadas:

  • Cliente FTP: inicia la sesión y envía órdenes para autenticarse, navegar o transferir archivos.
  • Servidor FTP: acepta conexiones, comprueba los permisos y ejecuta las operaciones autorizadas.
  • Canal de control: mantiene la sesión y transporta órdenes y respuestas; normalmente utiliza el puerto 21 del servidor.
  • Canal de datos: transporta listados de directorios y contenido de archivos mediante una conexión independiente.

La separación de canales diferencia FTP de protocolos como HTTP. No significa que uno sea una versión del otro: emplean modelos y órdenes distintos.

Cómo funciona una transferencia FTP

Una sesión habitual puede resumirse así:

  1. Conexión: el cliente abre el canal de control con el servidor.
  2. Autenticación: envía un nombre de usuario y una contraseña o utiliza acceso anónimo cuando el servidor lo permite.
  3. Navegación: consulta directorios y cambia la ubicación de trabajo mediante órdenes del protocolo.
  4. Selección del modo de datos: cliente y servidor acuerdan cómo establecer la conexión que transportará el contenido.
  5. Transferencia: el cliente descarga, sube, renombra o elimina archivos según sus permisos.
  6. Cierre: finaliza la sesión y se cierran las conexiones utilizadas.

FTP admite transferencias en modo ASCII y binario. El modo ASCII puede transformar finales de línea de archivos de texto entre sistemas; el modo binario conserva los bytes y es el apropiado para imágenes, ejecutables, archivos comprimidos y la mayoría de formatos actuales.

FTP activo y pasivo

Los modos activo y pasivo determinan quién inicia la conexión de datos:

  • FTP activo: el cliente indica un puerto y el servidor inicia la conexión de datos hacia él.
  • FTP pasivo: el servidor comunica un puerto disponible y el cliente inicia también la conexión de datos.
  • Cortafuegos y NAT: el modo activo puede resultar problemático cuando el cliente no acepta conexiones entrantes.
  • Uso habitual: el modo pasivo suele adaptarse mejor a redes domésticas, cortafuegos y traducción de direcciones.

Estos modos no cifran la comunicación. Solo cambian la forma de establecer el canal de datos.

Para qué se utiliza FTP

FTP permite automatizar o realizar manualmente distintas tareas:

  • Publicar archivos web: transferir recursos a un servidor de hosting cuando el proveedor admite este protocolo.
  • Distribuir archivos: ofrecer descargas desde un repositorio o servidor organizado por directorios.
  • Intercambiar grandes volúmenes: mover conjuntos de archivos sin depender del correo electrónico.
  • Mantener sistemas heredados: comunicarse con equipos y procesos que todavía utilizan FTP.
  • Automatizar transferencias: ejecutar envíos o recogidas periódicas mediante scripts y clientes de línea de comandos.

FTP no sincroniza archivos por sí solo como un servicio de almacenamiento en la nube. Una aplicación puede comparar directorios y programar transferencias, pero esa lógica pertenece al cliente o al sistema que utiliza el protocolo.

Diferencias entre FTP, FTPS y SFTP

Los tres nombres se relacionan con la transferencia de archivos, pero no identifican el mismo protocolo:

  • FTP: utiliza canales de control y datos propios y, en su forma original, no cifra credenciales ni contenido.
  • FTPS: extiende FTP mediante TLS para proteger la autenticación y las transferencias. Mantiene la arquitectura y las órdenes de FTP.
  • SFTP: es un protocolo de transferencia de archivos que funciona sobre SSH. No es FTP encapsulado ni una extensión de FTP.
  • Compatibilidad: un servidor que ofrece FTP o FTPS no admite necesariamente SFTP, y viceversa.
  • Puertos y configuración: cada opción requiere servicios, reglas de red y credenciales acordes con el protocolo utilizado.

El cifrado protege el contenido durante el transporte, pero no sustituye la gestión de permisos, la actualización del servidor o la protección de las credenciales.

Clientes FTP y medidas de seguridad

Un cliente FTP puede ofrecer interfaz gráfica, línea de comandos, colas y automatización. Al utilizarlo conviene comprobar:

  • Protocolo seleccionado: FTP, FTPS y SFTP no deben configurarse como si fueran equivalentes.
  • Identidad del servidor: los certificados TLS o las claves SSH ayudan a comprobar el destino de la conexión.
  • Credenciales: deben utilizarse cuentas individuales, contraseñas robustas y permisos limitados.
  • Acceso anónimo: solo debe habilitarse para recursos y operaciones expresamente públicos.
  • Registros: los eventos de autenticación y transferencia permiten investigar errores o accesos no autorizados.
  • Exposición de red: los puertos y rangos pasivos deben limitarse a lo necesario.

Cuando no existe un requisito de compatibilidad con FTP sin cifrar, FTPS o SFTP protegen las comunicaciones frente a la lectura directa de credenciales y archivos durante el tránsito.