Está en la página 1de 3

Cómo funciona FTP

FTP, que significa Protocolo de transferencia de archivos, se desarrolló en la década de 1970 para
permitir la transferencia de archivos entre un cliente y un servidor en una red informática.
El protocolo FTP utiliza dos canales separados, el canal de comando (o control) y el canal de datos,
para intercambiar archivos.
El canal de comando es responsable de aceptar conexiones de clientes y ejecutar otros comandos
simples. Por lo general, utiliza el puerto 21 del servidor. Los clientes FTP se conectarán a este
puerto para iniciar una conversación para la transferencia de archivos y autenticarse enviando un
nombre de usuario y contraseña. El canal de comando permanece abierto hasta que el cliente se
desconecta o el servidor finaliza la conexión debido a la inactividad u otras razones.
Después de la autenticación, el cliente y el servidor negociarán un nuevo puerto de servidor común
para el canal de datos, a través del cual se transferirá el archivo.  Una vez que se completa la
transferencia del archivo, se cierra el canal de datos. Si se deben enviar varios archivos al mismo
tiempo, se debe usar un rango de puertos de canal de datos.
El canal de control permanece inactivo hasta que se completa la transferencia del archivo. Luego
informa que la transferencia de archivos fue exitosa o fallida.

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.
FTPS (comúnmente referido como FTP/SSL) es un nombre usado para abarcar un número de
formas en las cuales el software FTP puede realizar transferencias de ficheros seguras. Cada forma
conlleva el uso de una capa SSL/TLS debajo del protocolo estándar FTP para cifrar los canales de
control y/o datos. No debe confundirse con el protocolo seguro de transferencia de ficheros SFTP,
el cual suele ser usado con SSH.
El uso más común de FTP y SSL es:
AUTH TLS o FTPS Explícito, nombrado por el comando emitido para indicar que la seguridad TLS
es obligatoria. Este es el método preferido de acuerdo al RFC que define FTP sobre TLS. El cliente
se conecta al puerto 21 del servidor y comienza una sesión FTP sin cifrar de manera tradicional,
pero pide que la seguridad TLS sea usada y realiza la negociación apropiada antes de enviar
cualquier dato sensible.
AUTH como está definido en el RFC 2228.
FTPS Implícito es un estilo antiguo, pero todavía ampliamente implementado en el cual el cliente se
conecta a un puerto distinto (como por ejemplo el 990), y se realiza una negociación SSL antes de
que se envíe cualquier comando FTP.
Protocolo FTP
El protocolo FTP (File Transfer Protocol), o también conocido como protocolo de transferencia de
ficheros, es un protocolo de la capa de aplicación que utiliza el protocolo TCP en la capa de
transporte. FTP utiliza una arquitectura cliente-servidor, por lo que desde uno o varios equipos
cliente nos podremos conectar a un mismo servidor. El puerto por defecto que utiliza FTP es el TCP
21 para control, por este puerto se gestiona el establecimiento de la conexión, pero no se transfieren
datos a través de este puerto. Dependiendo del modo de funcionamiento de FTP, utilizará unos
puertos u otros con el fin de transmitir la información. FTP tiene dos modos de funcionamiento:
Modo activo: en este modo de funcionamiento el servidor FTP crea el canal de datos en el puerto
TCP 20, mientras que en el lado del cliente se elige un puerto aleatorio superior al puerto TCP
1024. En este modo de funcionamiento es obligatorio que el cliente FTP tenga abierto los puertos
superiores al 1024, algo peligroso si estamos conectados a Internet, y que también presenta
problemas si estamos detrás de NAT. Para solucionar este problema se desarrolló el modo pasivo
(PASV), el cual es el más utilizado actualmente.
Modo pasivo: en este modo de funcionamiento, a través del puerto 21 de control, el servidor FTP le
dice al cliente FTP a qué puerto externo debe conectarse para transferir la información. De esta
forma, el cliente establecerá una conexión desde el puerto que le haya indicado. De esta manera, el
servidor FTP deberá tener un puerto TCP 21 para el canal de control, y un rango de puertos TCP a
elegir por el propio administrador.
En ambos modos de funcionamiento, la autenticación y la transferencia de datos se realiza sin
ningún tipo de cifrado. Esto significa que, si hay «alguien» escuchando el canal de comunicación,
no solamente podría capturar las credenciales de acceso a nuestro servidor FTP, sino también los
datos que estemos transmitiendo.

¿Qué es FTPS?
FTPS (FTP sobre SSL) es un protocolo de FTP seguro que le permite proteger e intercambiar
archivos con socios comerciales, empleados y clientes. Al igual que SFTP, FTPS también
implementa algoritmos sólidos como AES y Triple DES para encriptar transferencias de archivos
críticos. Para la autenticación de la conexión, FTPS utiliza una combinación de ID de usuario,
contraseñas y/o certificados para verificar la autenticidad de un sistema.
Si el cumplimiento es una preocupación para usted, FTPS puede cumplir con los requerimientos de
transferencia de archivos de normativas como PCI DSS, SOX, HIPAA, HITECH y de leyes
estatales de privacidad de datos.
¿Qué es SFTP?
El SFTP (FTP sobre SSH) es un protocolo FTP seguro que envía archivos a través de secure
shell (SSH), lo que proporciona un alto nivel de protección para las transferencias de archivos.
SFTP implementa AES, Triple DES y otros algoritmos para encriptar los datos que fluyen entre los
sistemas. Para empresas que requieren una autenticación más sólida, también ofrece varias formas
de autenticar una conexión (con un ID de usuario y contraseña, clave SSH o una combinación de
una contraseña y clave SSH).
¿Necesita cumplir con los requisitos de las normativas y regulaciones? SFTP también puede
ayudarlo con los requerimientos relacionados con la transferencia de archivos, para cumplir con PCI
DSS, GDPR, HIPAA y más.

Cómo funciona FTPS


FTPS utiliza el mismo protocolo de intercambio de datos que FTP, pero agrega soporte para
Transport Layer Security (TLS) y su predecesor, Secure Sockets Layer (SSL, que es la "S" en
FTPS), para una mayor seguridad. (Nota: a pesar de que SSL ha quedado en desuso, sigue
siendo un término muy utilizado, por lo que seguiremos haciendo referencia a él en esta
publicación).
FTPS permite el cifrado de los canales de comando y datos, y autentica su conexión mediante
una combinación de ID de usuario y contraseña, un certificado o ambos.
Al conectarse al servidor FTPS de una empresa asociada, su cliente FTPS verificará si el
certificado del servidor es de confianza. El certificado se considera confiable si fue 1) firmado
por una autoridad de certificación de terceros conocida o 2) si fue firmado por su socio y usted
tiene una copia de su certificado público. Su socio también puede requerir que proporcione un
certificado cuando se conecte a ellos. Si su certificado no está firmado por una entidad de
certificación de terceros, su socio puede permitirle autofirmar su certificado, enviándoles la
porción pública de antemano para cargar en su almacén de claves de confianza.
Hay dos métodos donde se puede invocar FTPS.
Primero está el FTPS implícito, que se ejecuta en el puerto 990. Si un cliente se conecta a
través del puerto 990, el servidor asume que se invocará SSL y busca automáticamente las
credenciales de autenticación. Si no se proporcionan, la conexión se cierra.
El otro método es FTPS explícito, que se ejecuta en el puerto 21. FTPS explícito requiere que
el cliente indique explícitamente que tiene la intención de utilizar SSL. Una vez que el servidor
recibe este comando, buscará credenciales de autenticación. El FTPS explícito proporciona
más flexibilidad y permite al cliente lograr una mayor seguridad cuando sea necesario o más
velocidad cuando la seguridad es un problema menor.

También podría gustarte