FTP: explicación del File Transfer Protocol
La comunicación entre personas y dispositivos a través de Internet funciona gracias a protocolos que establecen las reglas del intercambio: ¿quién debe enviar qué información en qué momento? ¿Qué sucede, si los archivos no llegan a su destinatario? ¿Cómo pueden protegerse las transferencias frente a fallos y espionaje? Siempre que navegamos por Internet, estamos poniendo en práctica estos protocolos del modelo OSI. Algunos de los más populares son HTTP y HTTPS, que suelen ser los responsables de abrir páginas web. Otro protocolo importante es el protocolo de transferencia de archivos o FTP. ¿Para qué se usa?
- Domina el mercado con nuestra oferta 3x1 en dominios
- Tu dominio protegido con SSL Wildcard gratis
- 1 cuenta de correo electrónico por contrato
¿Para qué sirve el File Transfer Protocol?
El File Transfer Protocol (FTP) o protocolo de transferencia de archivos es uno de los protocolos más antiguos de la historia de Internet: ya en 1974 se empezó a trabajar con la técnica de transmisión de archivos completos y, en 1985, se definió finalmente el FTP en el RFC 959 de manera concreta. Este protocolo está pensado para provocar cargas y descargas a través de comandos, de manera que se puedan transferir archivos desde el propio ordenador (portátil, smartphone, etc.) hacia un servidor y viceversa: el FTP también permite descargar archivos de un servidor al propio dispositivo.
Así, el usuario dispone de un sistema de gestión de archivos, como el explorador que conocemos en los habituales sistemas operativos, en el que los archivos pueden anidarse en carpetas, que a su vez se anidan en otras. Este sistema genera una estructura jerárquica de directorio.
El protocolo de transferencia de archivos se usa muy a menudo en la creación de páginas web. A través de un acceso FTP pueden transferirse archivos HTML al servidor. Además, los operadores de las páginas web pueden poner en ella archivos a disposición de los visitantes.
¿Cómo funciona el FTP?
El protocolo de transferencia de archivos funciona en el nivel o capa de aplicación de la pila de protocolos TCP/IP, al igual que HTTP o POP. Estos protocolos se caracterizan por trabajar junto con programas como navegadores o clientes de correo electrónico para llevar a cabo sus servicios. También existe un software de FTP especial para el File Transfer Protocol.
En general, estos programas se componen de dos ámbitos: por un lado, se presenta la estructura de directorio con todos los archivos en el disco duro. Por otro, se muestra el lugar de almacenamiento del servidor y los archivos y carpetas allí guardados. El software permite al usuario transferir datos de un área a otra. En la práctica, sin embargo, para el FTP también pueden utilizarse navegadores o la línea de comandos del sistema operativo.
Para poder usar el servicio FTP, hay que conocer los datos de acceso (nombre de usuario y contraseña), que por regla general se obtienen a través del proveedor de servidor.
En las conexiones FTP se abren dos canales. En primer lugar, el cliente y el servidor abren un canal de control mediante el Puerto 21. A través de este canal, el cliente envía órdenes al servidor y este devuelve códigos de situación a cambio. A continuación, ambos participantes pueden establecer el canal de datos, por el que se transmitirán los archivos deseados. Durante el proceso, el protocolo intenta detectar fallos. Si se interrumpe la conexión durante la transmisión, puede retomarse la transmisión en cuanto se recupere el contacto entre ambos.
Existe una variante activa y una pasiva del FTP: en el FTP activo, el cliente establece la conexión como se ha descrito anteriormente, mediante el Puerto 21, y de esta manera le comunica al servidor a través de qué puertos del lado del cliente puede transmitir sus respuestas. No obstante, si el cliente está protegido con un firewall o cortafuegos, el servidor no puede enviar respuestas, ya que todas las conexiones externas quedan bloqueadas. Para estos casos se ha creado la versión pasiva: el servidor da a conocer un Puerto a través del cual el cliente puede establecer el canal de datos. Puesto que, de este modo, es el cliente quien inicia la conexión, el firewall no bloquea la transferencia.
El File Transfer Protocol admite diferentes órdenes y códigos de situación: con un total de 32 órdenes, de las cuales no todas están implementadas también en el servidor, el cliente ordena al servidor que cargue, descargue o elimine archivos u organice directorios. El servidor, por su parte, responde con un código de situación que indica si se ha podido ejecutar la orden correctamente.
Generalmente se necesitan datos de acceso concretos para poder utilizar el FTP en un servidor. Sin embargo, un servidor también puede ofrecer un FTP anónimo. Con él, el operador del servidor permite a cualquier usuario enviar archivos a servidor o descargarlos de allí mediante el FTP, sin necesidad de introducir una contraseña. Puesto que los riesgos de seguridad son elevados en este tipo de servidores FTP abiertos, las funcionalidades que ofrecen a los usuarios suelen ser limitadas.
Seguridad en el FTP
El File Transfer Protocol se diseñó originalmente sin mecanismos de seguridad, ya que en aquella época Internet era aún usado por pocos y no existía la cibercriminalidad. Hoy, en cambio, el uso del FTP conlleva numerosos riesgos, ya que los datos se transfieren sin ningún tipo de encriptado. Por este motivo se han desarrollado dos variantes seguras del protocolo, que desde entonces compiten entre ellas: FTPS y SFTP. La primera se basa en FTP mediante SSL: la conexión se establece en combinación con Secure Socket Layers (SSL) o Transport Layer Security (TLS) y el intercambio de archivos se produce de forma encriptada.
El SSH File Transfer Protocol (SFTP), en cambio, utiliza la Secure Shell (SSH) para hacer seguras las transferencias de archivos. La transferencia en este sistema también está encriptada, pero mientras que FTPS requiere dos conexiones, a SFTP le basta con una. Por otro lado, SFTP requiere un programa adicional para realizar las transmisiones.
Se llegó a diseñar una variante simplificada del FTP convencional, conocida por sus siglas SFTP (Simple File Transfer Protocol), sin ningún tipo de mecanismos de seguridad. Esta versión, sin embargo, no llegó a establecerse y a día de hoy solo tiene relevancia histórica.