Los puertos FTP son puntos finales de co­mu­ni­ca­ción que permiten la tra­n­s­fe­re­n­cia de archivos entre un di­s­po­si­ti­vo final y un servidor. Las sesiones FTP pueden rea­li­zar­se en modo pasivo o activo, siendo el modo pasivo más co­m­pa­ti­ble con los co­r­ta­fue­gos. Sin embargo, el sistema FTP no es un protocolo es­pe­cia­l­me­n­te 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 apli­ca­ción del modelo OSI y está definido como RFC 959. El protocolo, que se creó en 1971, permite tra­n­s­fe­rir datos entre un di­s­po­si­ti­vo final y un servidor. Está co­n­s­trui­do sobre una ar­qui­te­c­tu­ra cliente-servidor, que puede uti­li­zar­se para cargar y descargar archivos y crear di­re­c­to­rios.

El FTP funciona mediante pe­ti­cio­nes y re­s­pue­s­tas. Uti­li­za­n­do FTP clients como FileZilla y comandos FTP, se solicitan datos y (si es necesario) se modifican. La tra­n­s­fe­re­n­cia se realiza a co­n­ti­nua­ción uti­li­za­n­do un canal de datos. Los puertos FTP se utilizan para ga­ra­n­ti­zar que el di­s­po­si­ti­vo pueda es­ta­ble­cer una conexión segura con el servidor.

Consejo

Descubre el servidor cloud de IONOS para obtener tráfico ilimitado, centros de datos ce­r­ti­fi­ca­dos y co­mpu­tación de alta potencia. Seguro que en­cue­n­tras el plan adecuado.

¿Para qué se utilizan los puertos FTP?

Los puertos FTP son puntos finales de co­mu­ni­ca­ción que ga­ra­n­ti­zan el es­ta­ble­ci­mie­n­to de una conexión entre un di­s­po­si­ti­vo final y un servidor FTP. Los puertos FTP se utilizan para ide­n­ti­fi­car las apli­ca­cio­nes 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 es­ta­ble­cer una conexión segura cuando conoces el número de FTP port co­rre­s­po­n­die­n­te. Una vez que tengas el número de FTP port correcto, puedes iniciar la tra­n­s­fe­re­n­cia de archivos. Es posible tra­n­s­fe­rir archivos binarios, como imágenes y programas, o archivos de texto en modo ASCII.

¿Cómo funcionan los puertos FTP?

Para ga­ra­n­ti­zar una tra­n­s­fe­re­n­cia fluida, no­r­ma­l­me­n­te se utilizan dos puertos FTP para el File Transfer Protocol. El primer paso es es­ta­ble­cer 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 es­ta­ble­ce­rá 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 au­te­n­ti­ca­ción con nombre de usuario y co­n­tra­se­ña.

Las tra­n­s­fe­re­n­cias de datos se inician o cancelan uti­li­za­n­do el canal de control. Sin embargo, los datos pro­pia­me­n­te dichos se envían y reciben uti­li­za­n­do un segundo canal, el canal de datos. La tra­n­s­fe­re­n­cia puede ir en la dirección servidor a cliente o cliente a servidor, de­pe­n­die­n­do de los comandos que se emitan. Los listados de di­re­c­to­rios 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 tra­n­s­fe­re­n­cia de datos se comunican mediante un código de estado y pueden so­lu­cio­nar­se con un nuevo comando.

¿Cuál es la di­fe­re­n­cia entre el modo pasivo y el modo activo de FTP?

También existe una di­fe­re­n­cia entre el modo pasivo FTP y el modo activo. La di­fe­re­n­cia 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 es­ta­ble­z­ca la conexión y se limita a co­n­fi­r­mar­la. A co­n­ti­nua­ción, te ex­pli­ca­re­mos 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 es­ta­ble­cer co­ne­xio­nes FTP pasivas y activas. Los dos procesos son re­la­ti­va­me­n­te similares.

Cómo es­ta­ble­cer una conexión FTP activa

Para es­ta­ble­cer 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 re­s­po­n­de­rá con un puerto de cliente temporal.
  3. A co­n­ti­nua­ció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 co­n­fi­r­ma­rá 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 fa­ci­li­ta­do 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 co­n­fi­r­ma­ción y da permiso al cliente para tra­n­s­fe­rir datos.
  10. Ahora se puede utilizar el puerto FTP para solicitar y enviar/recibir datos.

Cómo co­n­fi­gu­rar 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 di­fe­re­n­cias si­g­ni­fi­ca­ti­vas.

  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 co­n­fi­r­ma­ción al puerto que envió la solicitud.
  3. El cliente confirma la conexión.
  4. A co­n­ti­nua­ció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 co­n­ti­nua­ción, envía su dirección IP y su número de puerto FTP, con los que se conectará el cliente.
  6. A co­n­ti­nua­ción, el cliente enviará una solicitud de conexión al puerto FTP que envió el servidor.
  7. Si todo ha fu­n­cio­na­do, el servidor co­n­fi­r­ma­rá la conexión.
  8. El cliente es­ta­ble­ce­rá ahora la conexión con el servidor uti­li­za­n­do ese puerto FTP.
  9. Por último, el cliente enviará un comando de tra­n­s­fe­re­n­cia desde su puerto de control al puerto 21 del servidor. La tra­n­s­fe­re­n­cia 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 uti­li­zar­se para las tra­n­s­fe­re­n­cias FTP. Si no se utiliza el modo activo, no­r­ma­l­me­n­te tu servicio de alo­ja­mie­n­to 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 co­n­fi­gu­rar 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 ga­ra­n­ti­zar la seguridad de tu sistema, te re­co­me­n­da­mos que hagas una ve­ri­fi­ca­ción de puertos abiertos periódica.

Consejo

Es­ca­la­bi­li­dad, útiles funciones de seguridad y dominio propio: opta por el hosting de IONOS y apro­vé­cha­te de estas pre­s­ta­cio­nes 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 pre­gu­n­ta­n­do 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 co­r­ta­fue­gos o firewall que hace su trabajo co­rre­c­ta­me­n­te, éste bloqueará las co­ne­xio­nes activas que intenten acceder al cliente desde el exterior. En el caso de un puerto FTP activo, eso incluiría al servidor. Puedes evitarlo uti­li­za­n­do el puerto FTP en modo pasivo: entonces es el cliente el que inicia la conexión. Así no se activan las defensas del co­r­ta­fue­gos y la tra­n­s­fe­re­n­cia de datos puede rea­li­zar­se 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 tra­n­s­fe­re­n­cia de datos, la conexión finaliza una vez co­m­ple­ta­da la tra­n­s­fe­re­n­cia. En cambio, el puerto 21 está siempre activo. Se utiliza para el canal de control y participa en varias tra­n­s­fe­re­n­cias. Sólo puede de­s­co­ne­c­tar­se con una orden del usuario o de­s­co­ne­c­tar­se au­to­má­ti­ca­me­n­te tras un tiempo de espera. Este hecho, así como la tra­n­s­fe­re­n­cia no en­cri­p­ta­da de nombres de usuario y co­n­tra­se­ñas, convierte el FTP en una puerta po­te­n­cia­l­me­n­te peligrosa para el acceso no au­to­ri­za­do.

¿Cuál es la di­fe­re­n­cia entre FTP y SFTP?

Aquí es donde entra en juego el protocolo SFTP, siglas de SSH File Transfer Protocol. Ya puedes ver en su de­no­mi­na­ción que guarda algunas si­mi­li­tu­des con el FTP. Pero también hay di­fe­re­n­cias si­g­ni­fi­ca­ti­vas entre ambos pro­to­co­los, hasta el punto de que los se­r­vi­do­res SFTP y los clientes estándar no pueden co­mu­ni­car­se entre sí. Las di­fe­re­n­cias más im­po­r­ta­n­tes entre ambos pro­to­co­los son las si­guie­n­tes:

  • En­cri­p­ta­ción: a di­fe­re­n­cia del puerto FTP estándar, los puertos SFTP están en­cri­p­ta­dos. Esto se aplica tanto a los nombres de usuario y co­n­tra­se­ñas como a los propios archivos que se tra­n­s­fie­ren. Así es mucho más difícil conseguir un acceso no au­to­ri­za­do.
  • 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 en­cue­n­tras uno que se adapte a tus ne­ce­si­da­des.

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

Los puertos FTP son un invento im­po­r­ta­n­te y útil para tra­n­s­fe­rir archivos en Internet. El modo pasivo del FTP también fue un paso im­po­r­ta­n­te y bien en­ca­mi­na­do. Pero el mayor defecto del FTP, al igual que TFTP (Trivial File Transfer Protocol), es la falta de en­cri­p­ta­ción. Por ello, SFTP es la mejor opción para tra­n­s­fe­rir archivos de forma segura.

Ir al menú principal