miércoles, 16 de enero de 2019

Comparando FTP, FTPS, FTPES, SFTP, FXP y TFTP



Veamos qué diferencia los protocolos de transferencia de archivos FTP, FTPS, FTPES, SFTP, FXP y TFTP, cuál es el más seguro y cuales no se deberían usar ya a día de hoy.



Antiguamente, cuando se querían subir o descargar archivos desde un servidor, se usaba el protocolo FTP, el cual permite realizar transferencias de archivos por TCP.

En la década de los '90, como veremos más adelante, se vió que el protocolo FTP era inseguro, así que se le añadió una capa de encriptación (SSL) durante la conexión con el servidor para hacerlo seguro, creando lo que se conoce como FTPS o FTP sobre SSL (más adelante conocido como FTP sobre TLS).

En 1997, SFTP entró en escena como parte del paquete SSH, y dejó atrás los protocolos de transferencia de archivos anteriormene mencionados en pro de mejores medidas de encriptación. Por este motivo, hoy en día, todas las transferencias de archivos se deberían realizar por SFTP, o en su defecto, por FTPS.

Veamos las características de todos los protocolos mencionados, uno a uno.


¿Qué es FTP?



FTP (File Transfer Protocol) es un protocolo de transferencia de archivos cliente-servidor creado en 1971. Su funcionamiento es el siguiente: un PC cliente inicia una conexión a un servidor y luego le envia archivos o descarga archivos del servidor. La conexión cliente->servidor se llama "modo pasivo" mientras que la conexión servidor a cliente es el "modo activo".

Ya en los años '90, se sabía que el tráfico FTP entre un PC cliente y una máquina servidor era inseguro, y que se podían capturar fácilmente datos como el usuario y el password con el que un cliente se conectaba a un servidor. Esto es posible porque, en conexiones FTP, las credenciales son enviadas en texto plano desde el cliente hacia el servidor. Como no hay ningún tipo de encriptación, si hay alguien analizando el tráfico en la red local donde se encuentra el PC cliente o en la red donde se encuentra el servidor, esta persona podrá capturar el usuario y password de conexión al servidor, así como crear copias de los archivos enviados y recibidos.


¿Qué es FTPS?



FTPS es la evolución de FTP, añadiendo cifrado por SSL/TLS en las conexiones para encriptar los datos enviados en una sesión cliente-servidor. De esta forma, usuario, password y datos enviados quedan cifrados y ya no son visibles en texto plano en caso de que alguien intercepte paquetes en nuestra red.

El cifrado de las transferencias se solía realizar a través del protocolo Secure Sockets Layer (SSL), aunque hoy en día se usa su sucesor, Transport Layer Security o TLS. Por lo tanto, cuando hablamos de FTPS estamos hablando de FTP sobre TLS.

Hay dos tipos tipos de configuraciones FTPS:

• FTP sobre TLS (explicit encryption): el cliente establece una conexion TCP al puerto X del servidor y comienza una sesión FTP estándar, es decir, sin cifrar. En el momento en que el servidor pide al cliente las credenciales, se establece una segunda conexión sobre TLS, por la cual se envían los datos sensibles. Esta conexión se pone en marcha usando el comando AUTHSSL. Añadir que anteriormente era FTP sobre SSL, pero se cambió el protocolo SSL por TLS cuando se creó el protocolo TLS.

• FTP sobre SSL (implicit encryption): es un método más antiguo y, por ello, obsoleto en favor de las conexiones explícitas. El cliente se conecta a un puerto distinto del servidor (normalmente el 990) y se realiza una negociación SSL previa a enviar cualquier comando. Es decir, el canal seguro es establecido antes de ejecutar comandos en el servidor.


¿Qué es FTPES?



FTPES no es más que FTPS explícito, de ahí la E.


¿Qué es SFTP?



SFTP es la abreviatura de Secure File Transfer Protocol (Protocolo de transferencia segura de archivos). Este protocolo permite transferir datos cifrados entre dos máquinas cliente-servidor.

El estándar SFTP fue desarrollado por el IETF (Internet Engineering Task Force) como una extensión de la segunda versión del SSH (Secure Shell Protocol) para proporcionar a los usuarios una transferencia segura de archivos. SFTP se ha convertido con el tiempo en el estándar de oro en el campo de los protocolos de transferencia de archivos por su seguridad, facilidad de uso y versatilidad.

El IETF afirma que aunque SFTP está definido en el contexto del protocolo SSH2, SFTP es en realidad un estándar independiente del resto del conjunto de protocolos SSH2 (por lo que no está limitado por los propios conceptos y definiciones del SSH2).

Aunque SFTP es nativo de entornos *NIX, también se puede usar en Windows con programas de terceros o con los nuevos builds de OpenSSH para Wndows que Microsoft lanzó el año pasado.


¿Qué es FXP?



No mucha gente conoce el protocolo FXP. FXP (File eXchange Protocol) es un método de transferencia de datos entre dos servidores orquestrado por un cliente, es decir, un PC controla las transferencias entre dos servidores sin que los achivos pasen por el PC cliente.

Para ponerlo en perspectiva, la comunicación convencional FTP consiste en un solo servidor y un solo cliente y la transferencia de datos se realiza entre ambos. Durante una sesión FXP, en cambio, un cliente mantiene conexiones estándares con dos servidores, dirigiendo cualquiera de los dos servidores que se conecte al otro para iniciar una transferencia de datos. Este método permite a un cliente con poco ancho de banda intercambiar datos entre dos servidores con más ancho de banda sin el retraso asociado a recibir él los archivos del servidor 1 para enviarlos posteriormente al servidor 2. A lo largo de este proceso, sólo el cliente es capaz de acceder a los recursos de los dos servidores.

FXP tuvo su auge a principios de los 2000, pero ha caído en desuso, ya que usar FXP expone a un servidor a sufrir un ataque de FTP bounce, lo cual supone un riesgo de seguridad para toda la red local.


¿Qué es TFTP?



TFTP son las siglas de Trivial file transfer Protocol (Protocolo de transferencia de archivos trivial). TFTP es un protocolo de transferencia de archivos muy simple, el cual no requiere usuario ni password. Se usa para transferir pequeños archivos entre dos dispositivos conectados entre sí. Por ejemplo, se puede usar para actualizar el firmware de un switch, entre otras cosas.

Características del TFTP:

• Utiliza UDP (puerto 69) como protocolo de transporte.
• No puede listar el contenido de los directorios.
• No existen mecanismos de autenticación (usuario/contraseña) o cifrado.
• Soporta tres modos diferentes de transferencia, "netascii", "octet" y "mail". Los dos primeros corresponden a los modos "ascii" e "imagen" (binario) del protocolo FTP.


Fuentes:

https://blog.neothek.com/cuales-son-las-diferencias-entre-ftp-sftp-y-ftps/
https://www.smartfile.com/blog/comparison-of-ftp-ftps-sftp/
https://securityintelligence.com/news/fbi-warns-about-ftp-server-vulnerability/
https://www.ssh.com/ssh/ftp/server
https://www.secpoint.com/what-is-sftp.html
https://es.wikipedia.org/wiki/File_eXchange_Protocol
http://www.proftpd.org/docs/howto/FXP.html
https://es.wikipedia.org/wiki/TFTP
0

0 comentarios:

Publicar un comentario