Cuando recién ingresamos al mundo de los sitios webs, el desarrollo de páginas y el web hosting, hay una palabra que tarde o temprano se cruzará ante ti: FTP. Se asocia con subir y descargar archivos… ¿Pero cómo? ¿A donde me conecto? ¿Para qué sirve el FTP realmente?
En este artículo de hoy trataremos de adentrarnos en esos conceptos que rodean al FTP, pero especialmente te explicaremos qué es un FTP y como funciona el modelo cliente-servidor que utiliza este protocolo. ¡Comencemos!
Contenido
- 1 ¿Qué significa FTP?
- 2 Para qué sirve
- 3 ¿Qué es un cliente FTP?
- 4 ¿Qué es un Servidor FTP?
- 5 Tipos de Servidor FTP
- 6 Ventajas y Desventajas del FTP
- 7 Ejemplos de Servidores FTP
- 8 ¿Cómo puedo conectarme a un servidor FTP?
- 9 Modos de Conexión a un Servidor FTP
- 10 Diferencias entre un servidor FTP local y FTP en Internet
- 11 Seguridad del Servidor FTP
- 12 Conclusión
¿Qué significa FTP?
En inglés, las siglas FTP significan “File Transfer Protocol”, que se traduciría como “Protocolo de Transferencia de Archivos”. El servicio FTP es un servicio utilizado para el envío y obtención de archivos entre dos equipos remotos. Los casos más usuales son transferencias entre el equipo local de un cliente y el servidor del proveedor, aunque también se pueden establecer conexiones FTP entre dos servidores.
Los puertos típicos utilizados para conectarse al FTP son el 20 y el 21 para la gran mayoría de los casos, aunque en algunos proveedores esto puede variar. Por lo general se usan dos tipos de transferencia: una es la ASCII y la otra es la de tipo Binario. La primera de estas solamente transfiere texto plano del tipo ASCII, como serían por ejemplo páginas HTML sin imágenes, mientras que la segunda clase se usa para transferir archivos como imágenes, audios, videos, etc.
Incluyen: Disco SSD, Panel cPanel, Soporte PHP-MySQL desde $8,25/mes
Para qué sirve
Como decíamos, el servicio FTP sirve para transferir archivos/datos, y los mismos en la mayoría de los casos son transferidos desde el server al equipo local o viceversa a una velocidad máxima, pero la desventaja de la conexión de FTP típica es que todos los datos, incluyendo nombre de usuario y contraseña de la cuenta FTP, son enviados en formato de texto plano, por lo que si un tercero malintencionado logra interrumpir la conexión podrá hacerse con información muy valiosa para nosotros.
Si queremos asegurar el servicio de FTP, debemos optar por usar una aplicación del tipo SFTP, la cual se encarga de cifrar el contenido que se transfiere, de manera tal que si alguien logra hacerse con la información de la transferencia, la misma estará cifrada.
¿Qué es un cliente FTP?
Una de las partes más importantes a la hora de trabajar con el FTP es tener en cuenta que el mismo utiliza lo que se llama un cliente FTP.
Un cliente FTP no es otra cosa que un software que se instala en la máquina del usuario y permite conectar mediante el protocolo FTP hacia el servidor FTP remoto que está en Internet.
Se le dice «cliente» pues es el cliente (usuario) que conecta al servidor, aplicando el clásico modelo cliente servidor de Internet para subir o descargar archivos según el necesite.
¿Qué es un Servidor FTP?
Como ya mencionamos antes, el llamado servidor FTP es un software que corre en los servidores conectados a Internet (o bien a una red local LAN), y tiene como función primordial permitir que diferentes clientes FTP puedan conectarse a él, para luego descargar o subir información (archivos).
En una conexión FTP siempre interviene un servidor FTP, pues sin éste nunca podría accederse a los archivos para interactuar con ellos (descarga, subir o eliminación de los mismos). Un elemento necesario para que un servidor FTP funcione es estar bajo una red TCP / IP, la cual estará conectada al servidor VPS, Cloud o Dedicado.
Tipos de Servidor FTP
Existen tres tipos de FTP bien diferenciados a la hora de establecer una conexión:
FTP autenticado
Este es el método tradicional de conectar a un servidor FTP, es decir, se requiere de un usuario y contraseña para ingresar al servidor.
El FTP autenticado y basado en contraseña es el más común hoy en día, ya que ofrece una seguridad básica para no permitir que nadie sin los privilegios necesarios pueda acceder a los archivos que están en el servidor FTP.
La autenticación puede ingresarse desde un cliente FTP de escritorio como FileZilla, gFTP, etc, o bien a través del navegador web si ya incluye un cliente FTP embebido.
FTP anónimo o público
Como vimos anteriormente, la forma normal de funcionar de un servidor FTP es mediante una autenticación que requiere usuario y contraseña para poder ingresar.
Existen otros servidores FTP sin embargo que permiten el acceso anónimo y público a sus archivos. Como mucho, si el servidor FTP pide un acceso será el usuario «anonimo» o «anonymous», pero generalmente no requieren contraseña.
Un servidor FTP anónimo entonces es el que no requiere usuario o contraseña para poder ingresar y manipular los archivos. Aunque conviene mencionar que si tienen permisos especiales sobre las cosas que se pueden hacer, generalmente se limitan de alguna forma para que nadie haga más de lo que debe.
La información ubicada en servidores FTP anónimos tampoco suele ser muy crítica, ya que está expuesto abiertamente a Internet.
FTP embebido
Este tipo de FTP no es el más común, y se trata de uno que está incrustado en las diferentes páginas webs de Internet.
Es un tipo de FTP anónimo que permite conectarse de forma automática a través del navegador web con el fin de realizar descargas hacia el cliente FTP (tu equipo).
Ventajas y Desventajas del FTP
¿Qué cosas beneficios y contras tiene el FTP? Analicemos ahora punto por punto sus pros y contras.
Ventajas
- Realiza una conexión rápida con el servidor.
- Es ideal para subir muchos archivos o pocos, según se necesite.
- Es multiplataforma, funciona en cualquier sistema operativo.
- Permite subir y bajar archivos bi-direccionalmente.
- Soporta conexiones encriptadas con certificados SSL
- No necesitas saber comandos ni usar la terminal, tiene clientes gráficos.
- No se requiere de conocimientos técnicos para usarlo.
Desventajas
- Si no hay un SSL de por medio, los datos de usuario, contraseña y la información que se sube o baja se envían sin encriptación.
- No permite la automatización de diferentes procesos como lo permiten otros protocolos más modernos, como por ejemplo conectar a través de un servidor SSH.
- Es un protocolo viejo, que si bien ha recibido actualizaciones, no se ha adaptado al desarrollo web moderno.
- No permite paralelizar las descargas o subidas de archivos, estos deben hacerse uno a uno.
- No permite resumir las descargas o subida de archivos, pueden quedar corruptos los archivos si hay errores en la red.
Ejemplos de Servidores FTP
Existen muchísimos servidores FTP en el mercado, entre ellos podemos destacar los más populares:
- Proftpd
- Vsftpd
- Pure-ftpd
- FileZilla Server
- CrushFTP
- Cerberus FTP Server
- FTP Serv-U
- Quick ‘n Easy FTP Server
- QuickTFTP Desktop
- PrivateFTP
- Argosoft FTP Server
- Golden FTP Server Free
La elección del servidor FTP dependerá muchísimo del sistema operativo que uses, algunos servidores son basados en Linux (pure-ftpd por ejemplo), y otros servidores corren bajo Windows (filezilla server por ejemplo) o MacOS (CrushFTP en este caso).
¿Cómo puedo conectarme a un servidor FTP?
Conectarse a un servidor FTP es una tarea extremadamente fácil. Sigue estos pasos:
- Descarga un cliente FTP como Filezilla
- Abre Filezilla
- Llena los campos Servidor/Host (la IP del servidor FTP), Usuario, Contraseña y Puerto (es el 21 generalmente).
- Clic en Conectar
Si no conoces los datos de Servidor/Host, Usuario, Contraseña o Puerto, pídelos a tu administrador de sistemas o la empresa de hosting donde contrataste tu plan de alojamiento web o servidor.
Si la conexión se estableció de forma exitosa, en la parte derecha de tu pantalla verás los archivos y directorios que están presentes en el servidor.
En la parte izquierda de tu pantalla verás los archivos y directorios de tu PC localmente.
Ahora lo que debes hacer es que selecciones los archivos que quieras descargar o subir, y los arrastres hacia la parte local o remota de tu cliente FTP, y éste comenzará a hacer la transferencia de información.
Algunos clientes FTP también permiten que en la parte derecha realices otras acciones tales como cambiar permisos de archivos y directorios.
Modos de Conexión a un Servidor FTP
El protocolo FTP tiene la habilidad de haber sido creado con varios modos de conexión: pasivo y activo.
Modo pasivo
Utiliza la conexión enviando comandos de tipo PASV desde el cliente sobre el canal de comunicación. Aquí es donde encontramos la respuesta del servidor FTP, el cual le indica al cliente a través de qué puerto debe conectarse. El puerto debe ser mayor a 1024 y menor a 65535. Luego el cliente procede a establecer la conexión hacia el puerto que se estableció antes por el servidor.
Una vez está establecida la conexión, el cliente tendrá que enviar nuevamente el comando de control PASV (o PORT en el caso de FTP activo), que será recibido por el servidor FTP remoto, el cual abrirá un nuevo puerto pasivo para recibir la información.
Este modo se recomienda cuando hay conexiones bloqueadas de FTP a nivel de firewall o transferencias fallidas de archivos de forma intermitente.
Modo activo
En en el otro lado tenemos el modo clásico de conectar de un cliente FTP, es decir, el modo activo.
El FTP en modo activo usa el puerto 20 para abrir el canal de comunicación de datos a nivel del servidor, y luego el cliente utiliza un puerto mayor a 1024 para establecer la conexión. Esta comunicación se basa en un comando de control de tipo PORT, que permite establecer la transferencia de información entre ambos hosts en el puerto determinado antes.
Este modo de funcionar del FTP activo ha hecho que surgiera el FTP pasivo, en un intento de solucionar bloqueos de firewall, como mencionamos antes.
Si la conexión FTP activa te va bien, sigue usando esa.
Modos de transferencia de archivos en FTP
Existen dos formas de transferir información en el FTP, una es de forma binaria y otra en modo ASCII. Esto resulta muy útil ya que no todos los tipos de archivos deben transferirse de la misma manera.
Hacerlo de forma equivocada podría causar errores en la transferencia, y hasta corrupción de datos.
- Transferencia Binaria: este tipo de transferencia se usa para archivos .exe (ejecutables), binarios .bin, imágenes, archivos de video, audio y texto de tipo .doc
- Tipo ASCII: es el ideal cuando los archivos solo se usan con caracteres imprimibles. Se usa en archivos html, txt, hqx, ps, entre otros.
Diferencias entre un servidor FTP local y FTP en Internet
Existen dos tipos de servidores FTP debido a su ubicación y la arquitectura de red que usan:
- FTP local, en una red de área local o LAN.
- FTP en Internet, en una red mundial o WAN.
Vamos a analizar ahora las principales diferencias entre ellos a la hora de elegir como crear el servidor FTP, esto dependerá por supuesto de nuestras necesidades.
Servidor FTP local
Este tipo de servidores FTP se suelen usar en entornos empresariales, donde el servidor FTP escucha en una IP local, por ejemplo 192.168.1.105 y que sólo permite conexiones desde las computadoras conectadas a la misma red.
Es ideal para compartir documentos de trabajo, archivos, planillas de Excel y demás en entornos de una oficina. Lo bueno de este tipo de servidores FTP locales es que no suelen ser atacados debido a que no salen nunca a Internet.
Y si quieres estar aún más seguro puedes cifrar la conexión con un SSL, que lo hará definitivamente la mejor opción para transferir archivos por red local.
Servidor FTP en Internet
El caso cambia cuando necesitas exponer tu servidor FTP a Internet. Suele usarse más que nada cuando contratas un paquete de web hosting en una empresa, y donde compartes servidor con muchos otros clientes de diferentes lugares del mundo.
También sucede en el caso de empresas internacionales con funcionarios que trabajan desde diferentes zonas geográficas, todos ellos necesitan conectarse a un servidor y lo hacen de forma remota via FTP.
En este caso el servidor se configura para escuchar en una IP pública por ejemplo 200.30.220.90, de esta forma todos usan esa IP al momento de conectar. Esta forma de usar el FTP requiere de SSL pues es bastante inseguro conectar sin encriptación.
Seguridad del Servidor FTP
FTPS
Este es el modo seguro de funcionar del FTP ya que se implementa una encriptación TLS/SSL sobre su conexión gracias a que envía el comando AUTH TLS.
Algo bueno de correr la conexión en modo FTPS de esta forma es que el server mismo puede denegar cualquier conexión que no venga encriptada por TLS.
De esta forma se evita el robo de información cuando un host se conecta al servidor, impidiendo ataques Man In the Middle.
Antes de la implementación de este modo seguro, el FTP era uno de los protocolos más inseguros para transmitir información. Hoy gracias al auge de los SSL ha vuelto a considerarse un protocolo seguro otra vez.
Si quieres aprender cómo usar este modo seguro, puedes ver el siguiente tutorial: Subir archivos usando FTPS.
SFTP
Cuando se habla de FTP seguro muchas veces también se confunde con el término SFTP (acrónimo de SSH File Transfer Protocol).
Cuando establecemos una conexión SFTP en realidad no estamos usando el protocolo FTP, sino el protocolo SSH.
De esta forma, conectaremos a un servidor SSH que ya de por si tiene la conexión encriptada, pues en su naturaleza fue concebido como un protocolo de transmisión segura.
Los clientes FTP modernos soportan conexiones por SFTP/SSH2, por lo que también pueden usarse para conectarse a servidores SSH sin ningún tipo de problema.
No todos los proveedores de web hosting permiten conexiones vía SSH, si llega a ser tu caso lo ideal es que pruebas conectarte por FTPS directamente.
Conclusión
Como hemos visto, el FTP desde su llegada revolucionó la forma de transferir archivos entre hosts. Si bien ha pasado mucho tiempo desde su implementación original, fue un protocolo que cambió para siempre la forma de mover información, y que a pesar de tener algunas desventajas, aún sigue vigente.
Si estás buscando una forma rápida de transmitir información y aún no dominas del todo bien la consola de Linux y Unix, el FTP quizás sea tu mejor aliado para subir y descargar archivos de cualquier servidor.
Solo asegúrate de usar FTPS, es decir, encriptarlo mediante un SSL (tal como lo usamos aquí en Infranetworking), pues de lo contrario puedes correr riesgo de que alguien obtenga tus credenciales de acceso.
¿Buscas Hosting cPanel con FTP rápido y 100% encriptado ??
➡ Mira nuestros Planes de Hosting y Web Hosting Multidominio