¿Qué es un puerto FTP?

Los puertos FTP son puntos finales de comunicación que permiten la transferencia de archivos entre un dispositivo final y un servidor. Las sesiones FTP pueden realizarse en modo pasivo o activo, siendo el modo pasivo más compatible con los cortafuegos. Sin embargo, el sistema FTP no es un protocolo especialmente seguro.

Cómo funcionan los puertos FTP en el File Transfer Protocol

FTP (File Transfer Protocol) es un protocolo de red que opera en la capa de aplicación del modelo OSI y está definido como RFC 959. El protocolo, que se creó en 1971, permite transferir datos entre un dispositivo final y un servidor. Está construido sobre una arquitectura cliente-servidor, que puede utilizarse para cargar y descargar archivos y crear directorios.

El FTP funciona mediante peticiones y respuestas. Utilizando FTP clients como FileZilla y comandos FTP, se solicitan datos y (si es necesario) se modifican. La transferencia se realiza a continuación utilizando un canal de datos. Los puertos FTP se utilizan para garantizar que el dispositivo pueda establecer una conexión segura con el servidor.

Consejo

Descubre el servidor cloud de IONOS para obtener tráfico ilimitado, centros de datos certificados y computación de alta potencia. Seguro que encuentras el plan adecuado.

¿Para qué se utilizan los puertos FTP?

Los puertos FTP son puntos finales de comunicación que garantizan el establecimiento de una conexión entre un dispositivo final y un servidor FTP. Los puertos FTP se utilizan para identificar las aplicaciones y servicios a los que quieres acceder en el servidor. Para ello, el puerto utilizará números del 0 al 65535. Sólo es posible establecer una conexión segura cuando conoces el número de FTP port correspondiente. Una vez que tengas el número de FTP port correcto, puedes iniciar la transferencia de archivos. Es posible transferir archivos binarios, como imágenes y programas, o archivos de texto en modo ASCII.

¿Cómo funcionan los puertos FTP?

Para garantizar una transferencia fluida, normalmente se utilizan dos puertos FTP para el File Transfer Protocol. El primer paso es establecer una conexión entre el servidor y el cliente en el puerto 21. Esto se denomina canal de mando o control. Después, el cliente establecerá una conexión con el puerto 20, que se denomina canal de datos.

Es posible que te preguntes por qué hay que usar dos puertos FTP. La respuesta está en las funciones de los dos puertos. El canal de control sólo se utiliza para enviar comandos FTP. El cliente envía comandos al servidor, y el servidor responde a cada comando con un código de estado. Para utilizar este puerto FTP suele ser necesaria la autenticación con nombre de usuario y contraseña.

Las transferencias de datos se inician o cancelan utilizando el canal de control. Sin embargo, los datos propiamente dichos se envían y reciben utilizando un segundo canal, el canal de datos. La transferencia puede ir en la dirección servidor a cliente o cliente a servidor, dependiendo de los comandos que se emitan. Los listados de directorios también pueden enviarse.

El uso de dos canales separados garantiza que el contacto entre el cliente y el servidor sea posible en cualquier momento. Los problemas de transferencia de datos se comunican mediante un código de estado y pueden solucionarse con un nuevo comando.

¿Cuál es la diferencia entre el modo pasivo y el modo activo de FTP?

También existe una diferencia entre el modo pasivo FTP y el modo activo. La diferencia radica en el papel del servidor: en el modo activo, el servidor inicia la conexión. En el modo pasivo, el servidor deja que el cliente establezca la conexión y se limita a confirmarla. A continuación, te explicaremos qué hay detrás de los dos modos y por qué a veces es necesario utilizar el modo pasivo. Pero antes vamos a aclarar cómo establecer conexiones FTP pasivas y activas. Los dos procesos son relativamente similares.

Cómo establecer una conexión FTP activa

Para establecer una conexión FTP activa, sigue estos pasos:

  1. En primer lugar, el cliente envía una solicitud de conexión al puerto 21 del FTP.
  2. Si la conexión es posible, el servidor responderá con un puerto de cliente temporal.
  3. A continuación, el cliente recibe la respuesta del servidor y confirma la conexión activa.
  4. Ahora el cliente envía un comando de puerto FTP. Eso confirma el uso de un puerto FTP activo, su dirección IP y el número exacto del FTP port con el que se supone que se conecta el servidor.
  5. Si todas las entradas son correctas, el servidor confirmará el comando con un código de estado.
  6. El cliente indica al servidor que utilice FTP.
  7. Ahora viene la parte activa: el servidor crea una conexión de datos y envía una petición desde el puerto FTP 20 (el canal de datos) al puerto FTP cuyo número ya ha facilitado el cliente.
  8. El cliente confirma al servidor que la conexión de datos está activa y no presenta errores.
  9. El servidor también envía una confirmación y da permiso al cliente para transferir datos.
  10. Ahora se puede utilizar el puerto FTP para solicitar y enviar/recibir datos.

Cómo configurar un puerto FTP en modo pasivo

Los pasos para seguir son muy parecidos para el FTP en modo pasivo. Sólo al final veremos algunas diferencias significativas.

  1. Como en el caso anterior, el cliente envía una solicitud desde un puerto FTP temporal entre 1024 y 65535 al puerto FTP 21 del servidor.
  2. El servidor responde a la solicitud y envía una confirmación al puerto que envió la solicitud.
  3. El cliente confirma la conexión.
  4. A continuación, en lugar de enviar el comando de puerto FTP, el cliente envía un comando PASV, que solicita un protocolo pasivo.
  5. El servidor confirma la solicitud. A continuación, envía su dirección IP y su número de puerto FTP, con los que se conectará el cliente.
  6. A continuación, el cliente enviará una solicitud de conexión al puerto FTP que envió el servidor.
  7. Si todo ha funcionado, el servidor confirmará la conexión.
  8. El cliente establecerá ahora la conexión con el servidor utilizando ese puerto FTP.
  9. Por último, el cliente enviará un comando de transferencia desde su puerto de control al puerto 21 del servidor. La transferencia de datos ya es posible, y el puerto FTP 20 ya no es necesario.

¿Cómo puedes saber si una conexión es activa o pasiva?

El modo activo suele utilizarse para las transferencias FTP. Si no se utiliza el modo activo, normalmente tu servicio de alojamiento te informará de que has cambiado al modo pasivo. Si quieres comprobar en qué modo estás, puedes intentar crear una conexión. Si no funciona, cambia al otro modo.

Al configurar tu servidor, puedes decidir si quieres utilizar el modo activo o pasivo para el FTP. Lo mismo ocurre si instalas tu propio servidor FTP de Debian o si instalas un servidor FTP de Ubuntu. Para garantizar la seguridad de tu sistema, te recomendamos que hagas una verificación de puertos abiertos periódica.

Consejo

Escalabilidad, útiles funciones de seguridad y dominio propio: opta por el hosting de IONOS y aprovéchate de estas prestaciones para llevar tu página web a lo más alto.

¿Para qué se utiliza el modo pasivo del FTP?

Puede que te estés preguntando para qué sirve el modo pasivo de FTP. La razón principal tiene que ver con un problema que puede surgir con los firewalls. Cuando el cliente está situado detrás de un cortafuegos o firewall que hace su trabajo correctamente, éste bloqueará las conexiones activas que intenten acceder al cliente desde el exterior. En el caso de un puerto FTP activo, eso incluiría al servidor. Puedes evitarlo utilizando el puerto FTP en modo pasivo: entonces es el cliente el que inicia la conexión. Así no se activan las defensas del cortafuegos y la transferencia de datos puede realizarse como estaba previsto.

¿Necesitas siempre el puerto 21?

Mientras que el puerto 20 no es necesario en el modo pasivo, el puerto 21 es necesario tanto en el modo pasivo como en el activo. Dado que el puerto 20 sólo se utiliza para la transferencia de datos, la conexión finaliza una vez completada la transferencia. En cambio, el puerto 21 está siempre activo. Se utiliza para el canal de control y participa en varias transferencias. Sólo puede desconectarse con una orden del usuario o desconectarse automáticamente tras un tiempo de espera. Este hecho, así como la transferencia no encriptada de nombres de usuario y contraseñas, convierte el FTP en una puerta potencialmente peligrosa para el acceso no autorizado.

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

Aquí es donde entra en juego el protocolo SFTP, siglas de SSH File Transfer Protocol. Ya puedes ver en su denominación que guarda algunas similitudes con el FTP. Pero también hay diferencias significativas entre ambos protocolos, hasta el punto de que los servidores SFTP y los clientes estándar no pueden comunicarse entre sí. Las diferencias más importantes entre ambos protocolos son las siguientes:

  • Encriptación: a diferencia del puerto FTP estándar, los puertos SFTP están encriptados. Esto se aplica tanto a los nombres de usuario y contraseñas como a los propios archivos que se transfieren. Así es mucho más difícil conseguir un acceso no autorizado.
  • Número de puerto: mientras que el FTP utiliza el puerto 21, el SFTP utiliza el puerto 22.
  • Protocolo: mientras que FTP utiliza TCIP/IP, SFTP utiliza SSH.
Consejo

Contrata tu servidor SFTP con IONOS. Con una gran variedad de planes de precios, seguro que encuentras uno que se adapte a tus necesidades.

Resumen: los puertos FTP son útiles, pero no seguros

Los puertos FTP son un invento importante y útil para transferir archivos en Internet. El modo pasivo del FTP también fue un paso importante y bien encaminado. Pero el mayor defecto del FTP, al igual que TFTP (Trivial File Transfer Protocol), es la falta de encriptación. Por ello, SFTP es la mejor opción para transferir archivos de forma segura.