Puerto FTP: cómo reenviar y abrir el acceso

Cuando se habla de FTP, muchos usuarios no entienden una palabra, mientras que otros están familiarizados con este término. Sin embargo, si desea descubrir qué es y cómo se usa, definitivamente se beneficiará de sus características. En este artículo, destacaremos los aspectos principales del protocolo FTP, a saber, el puerto FTP, por qué lo necesita y cómo configurarlo. Junto con él, obtendrá consejos útiles sobre cómo cambiar el puerto FTP predeterminado o desbloquearlo en el firewall/enrutador. Disfruta leyendo.

Definición del término del puerto FTP

Los puertos FTP no son más que puntos finales de comunicación. Los objetivos principales de los cuales son garantizar la conexión y la transferencia de archivos entre su computadora y el servidor. Al establecer una conexión con un servidor específico, debe conocer su dirección IP. Aunque la dirección IP determinada está relacionada con un servidor determinado, los puertos son los números utilizados para identificar las aplicaciones y los servicios con los que desea establecer una conexión en un servidor determinado.

Si las direcciones IP son únicas y no puede haber dos direcciones IP para un determinado servidor, cuando se trata del puerto FTP no hay un número determinado. El rango del número de puerto FTP puede variar de 0 a 65535. Entonces, como puede ver, no hay una respuesta clara sobre qué puerto usa FTP, ya que el número puede ser diferente.

Sin embargo, para saber cómo funciona el puerto FTP y cómo configurarlo, primero debe comenzar por comprender las características principales de FTP, clientes FTP y servidores FTP. Así que empecemos desde el principio.

FTP features

Lista de funciones de FTP

El objetivo principal del protocolo FTP es proporcionar una transferencia de datos rápida. Sin embargo, la lista de sus características cubre más que eso. A continuación hemos reunido las principales características del protocolo FTP.

Representación de datos

Hay dos tipos principales de archivos que se utilizan al transferir archivos mediante el protocolo FTP: ASCII y binario. Sin embargo, también se puede utilizar EBCDIC. Los archivos ASCII contienen texto sin formato. Estos archivos pueden ser sin extensión o con extensión .txt. Los archivos binarios son programas y otros archivos que no son de texto guardados en el formato de la aplicación que los creó, o en el formato de archivos archivados o comprimidos. En cuanto al tipo de transferencia EBCDIC, se recomienda para intercambiar archivos entre sistemas que admiten EBCDIC. Esto evitará la doble conversión de ASCII a EBCDIC y viceversa.

Organización de archivos y estructuras de datos

Tanto los archivos estructurados como los no estructurados se pueden transferir a través de FTP. Los archivos no estructurados son flujos de bytes y generalmente están marcados con EOF al final. El archivo de registros de estructura se divide en registros para archivos de texto y se marca con EDR al final. El archivo de estructura de página se divide en páginas, cada página tiene un número de página y un título de página. Se puede realizar acceso aleatorio o acceso secuencial.

Método de transmisión

El modo de transferencia FTP tiene 3 modos, a saber, el modo de transmisión, el modo de bloque y el modo comprimido.

Modo de transmisión

Los datos se transmiten como un flujo de bytes en la configuración predeterminada de FTP. los datos se dividen en segmentos por TCP. No es necesario especificar EOF al cerrar los datos. Sin embargo, en caso de que el archivo esté dividido en registros, se requieren EOR y EOF.

Modo de bloqueo

El archivo se transfiere como un bloque y el bloque tiene su propio encabezado de 3 bytes. Los bytes principales incluyen valores de 16 bits y subcódigos de descripción de 8 bits.

Modo comprimido

En el modo comprimido, dado que los datos están comprimidos, existen muchas ventajas para aumentar el rendimiento. Al comprimir archivos de texto, se eliminan los espacios en blanco. Mientras que al comprimir archivos binarios, se eliminan los caracteres nulos.

Control de errores

No tiene sentido un mecanismo adicional de recuperación después de errores, ya que FTP usa TCP para la transferencia de datos.

Control de acceso

Existe un mecanismo seguro para acceder al sistema mediante contraseña y el nombre del usuario.

Operación FTP

Basado en una arquitectura cliente-servidor, de forma predeterminada, FTP utiliza 2 conexiones TCP para realizar la transferencia de datos. Una es una conexión de control y la otra es una conexión de datos.

Conexión de control

La conexión de control se establece como una conexión cliente-servidor normal. El servidor realiza una apertura pasiva a un puerto FTP conocido (21) y espera una solicitud de conexión del cliente. El cliente realiza una apertura activa en el puerto TCP 21 para establecer una conexión de control. La conexión de control existe mientras el cliente se comunica con el servidor. Esta conexión se utiliza para enviar comandos desde el cliente al servidor y para enviar respuestas desde el servidor. El tipo de servicio de IP para la conexión de control se configura para obtener la “latencia más baja”, ya que los comandos generalmente los ingresa el usuario.

Conexión de datos

Se abre cada vez que se transfiere un archivo entre el cliente y el servidor y se cierra cada vez que se envían los datos. La transferencia de datos puede ocurrir entre los procesos de transferencia de datos de un servidor DTP y un DTP y un cliente, o entre un DTPS de dos servidores. Se utiliza el puerto FTP (20). El tipo de servicio IP de la conexión de datos debe ser “ancho de banda máximo” porque esa conexión se usa para transferencias de archivos.

¿Qué es un modo activo y pasivo? ¿Cómo se asocian con los puertos?

El hecho es que hay dos opciones para el desarrollo de un escenario de interacción cliente-servidor. Según el método para establecer una conexión para la transferencia de datos, se distinguen los modos de operación de FTP activo y pasivo. En el modo activo, el propio servidor establece una conexión de transferencia de datos con el cliente, en modo pasivo, viceversa. Consideremos estos modos con más detalle.

Active and passive modes

El caso es que en el protocolo FTP existen dos tipos de conexión:

  • Conexión de control.
  • Conexión para transferencia de datos.

 

La actividad y pasividad del cliente aparecen solo en el segundo tipo de conexión. Mientras que el primero es necesario para que el servidor y el cliente puedan comunicarse entre sí. Eso es para que el servidor reciba comandos del cliente porque esta conexión se llama control. Dicha conexión funciona a través de un puerto FTP estándar instalado de forma predeterminada o, en otras palabras, el puerto FTP predeterminado.

La principal diferencia entre los modos activo y pasivo del protocolo FTP es cuál de los paquetes cliente-servidor realiza la conexión para la transferencia de datos, es decir, en términos generales, quién está conectado a quién. Los puertos a los que se transmiten los datos también difieren. Con el modo de funcionamiento activo, el cliente realiza una conexión de control con el servidor, pero el propio servidor realiza la conexión para la transferencia de datos.

En un modo de operación pasivo, la conexión de datos, así como la conexión de control al servidor, es iniciada únicamente por el cliente. Es decir, en modo activo, el servidor se conecta al cliente para la transferencia de datos, y en modo pasivo, el cliente se conecta al servidor.

Cómo establecer el Modo Activo FTP

Tanto en el modo activo como en el pasivo, la conexión comienza con el envío de una solicitud por parte del cliente al servidor. Primero, se establece una conexión de control. Para ello, se crea un puerto temporal en el cliente con un número en el rango de 1024 a 65535 para establecer una conexión de control, así como un puerto para transferencia de datos. En el modo activo, todo sucede en el siguiente orden:

1. El cliente envía una solicitud al puerto del servidor número 21 (puerto predeterminado para FTP) desde el puerto temporal en el rango 1024–65535.

2. El servidor responde a un puerto de cliente temporal.

3. El cliente confirma la conexión.

4. El cliente envía un comando FTP PORT que habla sobre el uso del modo FTP activo, su dirección IP y también el número de puerto para establecer una conexión de datos a la que se conectará el servidor.

5. El servidor confirma el comando.

6. El cliente le indica al servidor que trabaje con FTP.

7. El servidor crea una conexión de datos. Para ello, envía una solicitud desde el puerto 20 al puerto especificado por el cliente en el cuarto párrafo.

8. El cliente responde a la solicitud.

9. El servidor confirma la conexión y permite que el cliente transfiera datos.

Cómo establecer el Modo Pasivo FTP

En el modo pasivo, el procedimiento para establecer una conexión de datos es ligeramente diferente. Las acciones ocurren de la siguiente manera:

1. El cliente envía una solicitud al puerto del servidor número 21 (puerto predeterminado de FTP) desde el puerto temporal en el rango 1024–65535.

2. El servidor responde a un puerto de cliente temporal.

3. El cliente confirma la conexión.

4. El cliente envía un comando PASV que habla sobre el uso del modo FTP pasivo.

5. El servidor confirma el trabajo en modo pasivo, envía su dirección IP, así como el número de puerto para establecer una conexión de datos a la que se conectará el cliente.

6. Desde el puerto para la transferencia de datos, el cliente envía una solicitud para establecer una conexión con el puerto emitido por el servidor.

7. El servidor confirma la conexión.

8. El cliente establece una conexión.

9. El cliente instruye al servidor (desde el puerto de control hasta el puerto FTP 21), después de lo cual se pueden transmitir los datos.

Resolviendo problemas con Firewall

En el modo activo, el problema principal ocurre con el cliente. Si el Firewall está configurado para eliminar las conexiones entrantes que no se inician internamente, el servidor no podrá establecer una conexión de datos. Y dado que el puerto de datos FTP es dinámico, existen algunas dificultades para configurar el Firewall. Será más correcto especificar el rango de puertos usados en el cliente y crear una regla de Firewall permitida para ellos.

En modo pasivo, el servidor puede encontrar este problema. La solución es similar: especificamos el rango de puerto FTP pasivo utilizado en la configuración del servidor y creamos una regla de permiso para ello.

¿Por qué FTP tiene 2 números de puerto? ¿Es necesario usar el puerto 21?

Las personas que trabajan constantemente con servidores y los crean han oído hablar del número 21. Para ellos, es significativo, ya que muchos servidores y protocolos, no solo FTP, usan el puerto 21. Sin embargo, de manera predeterminada, FTP usa dos puertos específicos, a saber, 20 y 21. El puerto 21 se usa principalmente para administración, mientras que el puerto 20 es para transferencia de datos. Esto lleva al hecho de que el puerto 21 es de suma importancia, lo cual es necesario para abrir el servidor y enviarle comandos y el puerto 20 se necesita principalmente para el modo activo.

21: el puerto se utiliza para controlar la transferencia de datos. El cliente establece (activamente) una conexión de control al puerto 21 del servidor (abre la conexión pasivamente) para enviar comandos FTP al servidor y recibir respuestas FTP de él. Existe una conexión de control todo el tiempo mientras el cliente se comunica con el servidor. El puerto 21 es el puerto del servidor.

En el puerto 20 (servidor), de hecho, los datos se transfieren bajo la “supervisión” de la conexión de control en el puerto 21 (servidor). Este puerto 20 es necesario para una conexión que existe solo en la transferencia de datos. Esto distingue la conexión especificada de la del puerto 21, que existe todo el tiempo cuando el cliente trabaja con el servidor. El puerto 20 es el puerto del servidor.

Volvamos al puerto 21 y la ubicuidad de su uso. Si empiezas a analizar la situación no es brillante. Después de todo, el protocolo de transferencia de datos no está protegido en absoluto contra la intercepción. En cualquier momento, los piratas informáticos experimentados pueden atacar su servidor e interceptar la contraseña y el inicio de sesión del cliente. Luego se infiltrarán en el servidor y robarán datos importantes de allí, o esconderán programas maliciosos y virus en directorios.

Para aumentar de alguna manera el nivel de seguridad del uso del protocolo FTP, se recomienda cambiar el puerto FTP estándar en la configuración, esto es necesario para la conexión. No es difícil hacer esto, pero cada servidor tiene esta opción configurada a su manera. El único matiz es que al conectarse, el cliente deberá especificar un nuevo número de puerto de datos FTP en lugar del número 21. Esta es la esencia de la protección: los piratas informáticos no sabrán el puerto en el que interceptar los datos, por lo tanto, no serán capaz de robarlo.

¿Cuáles son las vulnerabilidades comunes de FTP

El inconveniente más importante del protocolo es la transferencia de toda la información, así como nombres de usuario y contraseñas, de forma abierta. Esto hace que sea imposible usar este protocolo para transferir información confidencial sin usar software y hardware de terceros. Si el atacante tiene acceso al canal de comunicación a través del cual se transmiten estos datos, se debe utilizar el cifrado o un número de puerto FTP seguro. Este es un caso típico del impacto pasivo de un ataque: el estado del servidor no cambia, la política de seguridad no se viola, pero hay acceso a la información necesaria.

El protocolo no define acciones que contrarresten la selección de contraseñas. Después de una contraseña incorrecta, el cliente tiene la oportunidad de volver a ingresarla, pero la conexión no se desconecta. Tampoco hay restricciones en el número de repeticiones. Como resultado, un ataque destinado a adivinar contraseñas puede durar todo el tiempo que desee, y la ausencia de demoras en las respuestas del servidor aumenta la eficiencia.

Las siguientes vulnerabilidades están asociadas al modo pasivo del protocolo y la posibilidad de participación en la conexión del tercer nodo. Cuando se utiliza el modo de transferencia pasiva de datos, en el que el servidor le dice al cliente a qué puerto del servidor FTP debe conectarse para iniciar la transferencia, es posible establecer una conexión desde otra computadora.

Si el cliente real ya ha seleccionado el archivo necesario para la descarga y tiene el acceso necesario, es posible que lo roben en su nombre. Un atacante, que conoce las peculiaridades de la elección de los números de puerto FTP por parte del servidor FTP para organizar el modo pasivo, aumenta la probabilidad de éxito de un ataque. Para ello, debes intentar establecer conexiones con los puertos, y si todo sale bien, el archivo será robado. De la misma manera, puede escribir un archivo en el servidor en nombre del usuario registrado estableciendo una conexión con el puerto del servidor FTP esperando que se inicie el archivo.

Volvamos al puerto 21 y la ubicuidad de su uso. Si empiezas a analizar la situación no es brillante. Después de todo, el protocolo de transferencia de datos no está protegido en absoluto contra la intercepción. En cualquier momento, los piratas informáticos experimentados pueden atacar su servidor e interceptar la contraseña y el inicio de sesión del cliente. Luego se infiltrarán en el servidor y robarán datos importantes de allí, o esconderán programas maliciosos y virus en directorios.

Para aumentar de alguna manera el nivel de seguridad del uso del protocolo FTP, se recomienda cambiar el puerto FTP estándar en la configuración, esto es necesario para la conexión. No es difícil hacer esto, pero cada servidor tiene esta opción configurada a su manera. El único matiz es que al conectarse, el cliente deberá especificar un nuevo número de puerto de datos FTP en lugar del número 21. Esta es la esencia de la protección: los piratas informáticos no sabrán el puerto en el que interceptar los datos, por lo tanto, no serán capaz de robarlo.

FTP Vulnerability Counteraction

Las vulnerabilidades del protocolo ocurren principalmente debido a sus características y la falta de formas de proteger la información transmitida. Para aumentar la seguridad, debe usar herramientas de terceros, así como considerar cuidadosamente la interacción de los nodos de red a través del protocolo FTP. El problema de transferir toda la información de forma abierta se resuelve utilizando herramientas de encriptación, cuando sea posible, o protegiendo los canales de comunicación del acceso no autorizado. Por ejemplo, Commander One, la aplicación es una alternativa popular al cliente FTP de Cyberduck con soporte para conexiones FTP/SFTP y almacenamiento en la nube.

Con esta aplicación, ya no tendrá que preocuparse por si el puerto FTP es seguro o no, y simplemente confiará en la función de cifrado de la aplicación, ya que utiliza AES con una longitud de clave de 256 bits. Además de eso, la aplicación admite una amplia gama de funciones avanzadas que son necesarias al manejar archivos, pruebe esta aplicación para beneficiarse de su funcionalidad. Otros problemas se pueden resolver filtrando.

Para proteger las contraseñas de la ruptura, debe configurar el servidor FTP para que las conexiones se cierren después de varios intentos de contraseña. También es necesario proporcionar una pausa antes de responder a cada contraseña incorrecta, lo que ralentizará significativamente su enumeración.

Para evitar el robo de archivos durante el modo pasivo, es necesario filtrar por dirección IP. Al usar este filtrado, se vuelve imposible el intercambio entre dos servidores iniciados por el cliente, ya que el servidor, que se cambia al modo activo, tendrá una dirección diferente a la dirección del cliente, y los paquetes de este serán filtrados. Desde el punto de vista de la seguridad moderna, la solución correcta es usar una de las implementaciones de FTP cifrado (FTPS, SFTP) o usar FTP a través de VPN.

Cómo usar FTP en Mac

Puerto SFTP. La diferencia del puerto FTP

SFTP es un estándar para transferir información en Internet, que está diseñado para mover y copiar archivos utilizando una conexión de mayor confiabilidad y seguridad SSH (Secure Shell). Este tipo de conexión puede proporcionar acceso y transmisión segura, que se cifra con el nombre de usuario y la contraseña, así como el contenido de la transmisión, protegiendo así las contraseñas y la información confidencial de la transmisión abierta en la red. A diferencia de FTP, el protocolo SFTP, a pesar de sus funciones similares, utiliza un protocolo de transferencia de datos diferente y, por lo tanto, los clientes estándar no pueden comunicarse con los servidores SFTP.

Si bien el puerto TCP 22 es la respuesta correcta general y se considera el número de puerto mac SFTP predeterminado, depende de cómo se configure SSH para usar un puerto estándar SFTP en lugar de un puerto alternativo.

Dado que SFTP actúa como un subsistema SSH, se ejecuta en cualquier puerto que escuche el demonio SSH y lo configura el administrador. SFTP generalmente usa el puerto SFTP número 22, pero se puede configurar para que funcione en casi cualquier puerto. SFTP es solo uno de los protocolos que se pueden lanzar a través de SSH (otros incluyen una terminal virtual). De hecho, SFTP es independiente y puede funcionar incluso sin utilizar SSH.

Diferencias clave entre FTP y SFTP

  • FTP no proporciona ningún canal seguro para transferir archivos entre hosts, mientras que SFTP proporciona un canal seguro para transferir archivos entre hosts en una red.
  • FTP es la abreviatura de Protocolo de transferencia de archivos, mientras que SFTP es la abreviatura de Protocolo seguro de transferencia de archivos.
  • FTP es un servicio proporcionado por TCP/IP. Sin embargo, SFTP es parte del protocolo SSH, que representa información para el inicio de sesión remoto.
  • FTP establece una conexión usando una conexión de control en el puerto TCP 21. Por otro lado, SFTP transfiere el archivo a través de una conexión segura establecida vía SSH entre el cliente y el servidor.
  • FTP transfiere la contraseña y los datos en formato de texto, mientras que SFTP cifra los datos antes de enviarlos a otro host.

Puerto FTP: Preguntas frecuentes

FTP es el protocolo de transferencia de archivos. El propósito principal de FTP es enviar, copiar, transferir archivos en Internet (desde una computadora remota a una computadora local y viceversa). Además, utilizando FTP, puede trabajar con sus archivos directamente en una computadora remota (renombrar, eliminar, crear directorios, etc.).

El número de puerto FTP predeterminado es 21/20.

Es posible utilizar un navegador, para ello es necesario escribir en la barra de direcciones del navegador ftp: // your_login: your_password @ domain_name de su sitio. Sin embargo, tenga en cuenta que el navegador no está habilitado para FTP. Técnicamente, puede hacer esto, pero faltan muchas de las funciones necesarias.

SFTP (Protocolo de transferencia de archivos SSH): un protocolo de red que proporciona la transferencia y operación de archivos a través de una conexión segura a través de SSH.

SFTP generalmente usa el puerto SFTP número 22, pero se puede configurar para que funcione en casi cualquier puerto.

La principal diferencia con el acceso FTP es que todos los datos, incluidos el nombre de usuario y la contraseña, se transmiten encriptados, lo que garantiza la seguridad de su trabajo y lo protege contra ataques de virus.

En modo activo, el cliente establece una conexión de control al puerto 21 del servidor y envía un comando PORT especial, en el que indica su dirección y puerto para la transferencia de datos. Habiendo recibido este comando, el servidor establece una conexión desde el puerto 20 al puerto del cliente especificado en el comando.

La desventaja de este método es la siguiente: para trabajar en modo activo, el cliente requiere una dirección IP específica. Además, surgirán ciertas dificultades al encontrar un cliente detrás de un firewall o NAT.

Para establecer una conexión en modo pasivo, el cliente envía el comando PASV al servidor. En respuesta, el servidor transmite la dirección y el puerto al que se debe establecer una conexión de datos. Habiendo recibido esta información, el cliente establece una conexión con el servidor y comienza la transferencia de datos. Como puede ver, en modo pasivo, todas las conexiones son iniciadas por el cliente y, por lo tanto, no hay requisitos para ello; puede estar ubicado detrás de NAT y el firewall, y también puede no tener una dirección IP específica.

Por lo tanto, hoy en día, el modo principal de FTP es pasivo.

De forma predeterminada, los puertos 20 y 21 están configurados en FTP. El más importante es el puerto 21, ya que se necesita para abrir el servidor y enviarle comandos (la llamada conexión de control). Mientras que el puerto 20 se necesita principalmente para el modo activo.

De forma predeterminada, el puerto 22 generalmente se usa para la conexión a través de SSH, mientras que FTP generalmente usa el puerto 21.

FTP utiliza TCP en la comunicación. TCP es el protocolo de transporte básico de Internet, que proporciona la entrega de datos a través de una conexión preestablecida entre dos computadoras. La conexión funciona durante toda la sesión de comunicación.

El protocolo UDP está diseñado para transferir rápidamente una parte de los datos sin garantía de entrega y sin preestablecer una conexión.

Los desarrolladores pensaron que la cantidad de datos transmitidos a través del puerto de datos haría imposible enviar comandos de control de manera oportuna, por lo que utilizaron dos puertos: el cliente inicia la conexión de control y el servidor el canal de datos.