FTP vs. FTPS vs. SFTP: La diferencia entre ellos explicada

FTP vs. FTPS vs. SFTP: La diferencia entre ellos explicada

Hay un protocolo FTP simple, pero FTPS y SFTP. ¿En qué se diferencian? He aquí una comparación entre FTP y FTPS y SFTP.

FTP, FTPS y SFTP son protocolos utilizados para transferir archivos a través de una red. Aunque las siglas de estos protocolos son similares, existen algunas diferencias clave entre ellos. Las principales son la forma en que se intercambian los datos, el nivel de seguridad proporcionado y las consideraciones sobre el cortafuegos.

Al elegir entre FTP, FTPS y SFTP, sopesar los pros y los contras de cada opción permitirá a los usuarios comprender mejor las opciones disponibles.

A continuación se presenta una comparación directa entre FTP y FTPS y SFTP que resume las ventajas y limitaciones de cada protocolo de transferencia.

¿Qué es el FTP?

ftp

FTP son las siglas de File Transfer Protocol (Protocolo de Transferencia de Archivos). Fue creado en los años 70 para permitir la transferencia de archivos entre un cliente y un servidor en una red informática.

El FTP intercambia datos utilizando dos canales separados conocidos como el canal de comandos y el de datos. El canal de comandos suele ejecutarse en el puerto 21 del servidor y se encarga de aceptar las conexiones de los clientes y de gestionar el intercambio de comandos simples entre un cliente y un servidor FTP.

El FTP utiliza una conexión separada llamada canal de datos para transferir los archivos y carpetas.

En resumen, FTP utiliza una conexión para los comandos y la otra para el envío y la recepción de datos.

Esta conexión puede establecerse de dos maneras:

  • Modo Activo: En una conexión FTP activa, el cliente abre un puerto y escucha, y el servidor se conecta activamente a él. Los servidores FTP activos suelen utilizar el puerto 20 como puerto de datos.
  • Modo pasivo: En una conexión FTP pasiva, el servidor abre un puerto y escucha (pasivamente), y el cliente se conecta a él.

La mayoría de los programas cliente FTP seleccionan por defecto el modo de conexión pasiva porque los administradores de los servidores lo prefieren como medida de seguridad. Además, los cortafuegos suelen bloquear las conexiones que se inician desde el exterior.

A pesar de lo bueno que fue el FTP en su momento, carecía de medidas de seguridad para cifrar los nombres de usuario y las contraseñas u otros datos que pasaban por el protocolo.

A diferencia de FTPS y SFTP, tanto el canal de comandos como el de datos no están cifrados cuando se utiliza FTP. Como resultado, cualquier dato enviado a través de estos canales puede ser interceptado y leído.

¿Qué es el FTPS?

La preocupación por la seguridad en Internet creció durante la década de 1990. En respuesta, en 1994, Netscape lanzó la envoltura de la capa de aplicación conocida como Secure Sockets Layer o SSL para proteger las comunicaciones a través de una red. SSL se aplicó a FTP para crear FTPS.

FTPS son las siglas de File Transfer Protocol Secure. Es una extensión de FTP que añade un nivel adicional de seguridad a FTP. FTPS utiliza una capa SSL/TLS debajo de FTP, encriptando sus canales de datos. En pocas palabras, FTPS es FTP con SSL para la seguridad.

Al igual que FTP, FTPS funciona en un modelo cliente-servidor, utilizando un canal de control y un canal de datos para intercambiar comandos y datos FTP durante una sesión de cliente FTPS.

Las conexiones FTPS se autentican con un ID de usuario, una contraseña y un certificado. Al conectarse a un servidor FTPS, un cliente FTPS verificará primero la fiabilidad del certificado del servidor.

Herramientas como OpenSSL permiten solicitar y crear certificados clave.

¿Qué es el SFTP?

SFTP

SFTP significa Protocolo de Transferencia de Archivos SSH. A diferencia de FTPS, no es una extensión de FTP y fue construido desde cero.

Por lo tanto, aunque suene similar a FTP y FTPS, utiliza un protocolo completamente diferente, llamado Secure Shell (SSH). SFTP fue creado como una extensión de SSH para transferir archivos a través del canal seguro.

Utilizando SFTP, los datos se encriptan utilizando SSH durante la transferencia de datos, y no se envía ninguna información en texto plano. SFTP autentifica tanto al usuario como al servidor y utiliza el puerto 22.

A diferencia de FTP y FTPS, SFTP no utiliza conexiones de datos y comandos separadas. En su lugar, tanto los datos como los comandos se transfieren en paquetes con un formato especial a través de una única conexión. Esto hace que las transferencias de archivos y datos utilizando el SFTP sean más rápidas que otras conexiones FTP.

Con SFTP, puedes utilizar un ID de usuario y una contraseña. El otro método de autenticación que puedes utilizar con SFTP son las claves SSH.

¿Cuál es la diferencia entre FTP y SFTP?

En comparación con el protocolo FTP tradicional, SFTP ofrece toda la funcionalidad de FTP, pero es más seguro y fácil de configurar. A diferencia de FTP, SFTP utiliza un único canal de datos y de control.

Antes de compartir la información entre dos ordenadores, SFTP verifica la identidad del cliente y, una vez establecida una conexión segura, envía los datos cifrados.

Por tanto, SFTP es preferible a FTP en casi todos los casos por sus características de seguridad subyacentes.

¿Cuál es la diferencia entre SCP y SFTP?

Ya te estarás preguntando: ¿Cuál es la diferencia entre SFTP y SCP? ¿No funcionan ambos en SSH?

Aquí está la respuesta. SCP sólo se puede utilizar para transferir archivos, y no es interactivo. Al mismo tiempo, SFTP es más elaborado y permite comandos interactivos para crear directorios, eliminar directorios y archivos, etc.

Comandos SFTP

cd:  Cambiar el directorio en el host remoto.
chmod: Cambiar los permisos de los archivos en el host remoto.
chown: Cambia el propietario de los archivos en el host remoto.
exit: Cerrar la conexión con el host remoto y salir de SFTP.
get: Copiar un archivo del host remoto al ordenador local.
lcd: Cambiar el directorio en el ordenador local.
lls: Listar el contenido del directorio actual en el ordenador local.
lmkdir: Crear un directorio en el ordenador local.
lpwd: Mostrar el directorio de trabajo actual en el ordenador local.
ls: Listar el contenido del directorio actual en el equipo remoto.
mkdir: Crear un directorio en el host remoto.
put: Copiar un archivo del ordenador local al host remoto.
pwd: Mostrar el directorio de trabajo actual en el host remoto.
rename: Cambiar el nombre de un archivo en el host remoto.
rm: Eliminar un archivo en el host remoto.
rmdir: Eliminar un directorio en el host remoto, pero el directorio tiene que estar vacío.

FTP vs. FTPS vs. SFTP Conclusión

FTP VS FTPS VS SFTP

Como has podido ver ha sido una artículo un tanto técnico. De hecho, es uno de los más técnicos que hemos hecho en los últimos meses. Sin embargo, espero que este artículo te haya servido para encontrar la diferencia entre estos tres protocolos. También te hemos añadido los comandos más utilizados en SFT.

Como siempre, te dejamos unos artículos recomendados:

Deja una respuesta

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

*