Protocolo de Transferencia de archivos

De ITCG Wiki
Ir a la navegaciónIr a la búsqueda
Protocolo-ftp.jpg

FTP son las siglas de file transfer protocole los cual se traduce como Protocolo de Transferencia de archivos, este tiene como objetivo ayudarnos a transferir archivos desde un dispositivo a otro los cuales se encuentren en una red TCP basado en cliente servidor, este protocolo es usado normalmente en el puerto 20 y 21, una de las principales ventajas de este protocolo es que no importa cuál es el sistema operativo que estemos utilizando ni el tipo de la conexión a la hora de hacer la transmisión de los archivos. Es decir, que el protocolo nos permite transferir archivos desde nuestro equipo hasta la web en internet. Mediante el protocolo FTP también podemos realizar otras muchas acciones como: visualizar directorios o cambiar sus nombres, limitar derechos o eliminar archivos, ya sean ficheros, carpetas o directorios.

Historia

Este protocolo comenzó a implementarse en abril de 1971 y fue propuesto por primera vez por Abhay Bhushan un informático de la India, desde ese entonces ha recibido muchas modificado en diversas ocasiones ya que se le agregaron nuevos comandos y funciones.

Actualmente, la versión que se utiliza es del año 1985. Ya que esta es algo antigua y también carede de actualizaciones, es considerado un protocolo inseguro. Esto se considera así, principalmente porque no requiere de una autentificación del usuario para iniciar la transmisión, tampoco existe una encriptación de contraseñas. Entre las curiosidades que podemos encontrar es que este protocolo fue introducido con ARPANET e incluso este fue introducido antes que la red de redes (Internet) y también el correo electrónico.

Como habíamos mencionado, el protocolo FTP ya es viejo por lo que, aunque ha tenido ciertos avances a través del tiempo es insuficiente para negocios que requieren seguridad y auditorias.

Funcionamiento

FTP como mencionamos anteriormente utiliza un modelo de cliente y servidor. En este caso los archivos se cargan desde un cliente FTP a un servidor FTP donde las aplicaciones o los clientes pueden acceder a ellos.

A través de nuestro servidor FTP este ejecuta un daemon (el cual es un programa especial que se está ejecutando en segundo plano) que escucha las solicitudes FTP de los clientes. Cuando el daemon del FTP recibe una solicitud, el programa establece una sesión de control, le pide que inicie sesión y luego establece una conexión. FTP permite dos formas de iniciar sesión.

En el modo de autenticación, el cliente necesita usar un nombre de usuario y una contraseña para verificar su identidad. En modo anónimo, el cliente utiliza el usuario "ftp" o "anónimo" y proporciona correo electrónico como contraseña. Una vez que se establece la sesión de control, el servidor ejecutará los comandos solicitados.

Cliente y servidor FTP

El cliente FTP es un programa que se encuentra instalado en un equipo, este es de mucha importancia pues a través del cliente nosotros podemos conectarnos con el servidor FTP, este programa que se encuentra instalado emplea el protocolo que hace posible la conexión y la transferencia de los archivos a un host.

Una vez conectado, un cliente FTP puede realizar muchas operaciones de manipulación de archivos, como cargar, descargar, renombrar o eliminar archivos en el servidor. Cualquier computadora conectada a una red basada en TCP/IP que permita FTP puede trabajar con archivos en otra computadora en esa red, independientemente del sistema operativo involucrado.

Con respecto al servidor FTP proporciona acceso a los servidores de archivos creados mediante el protocolo FTP. Aquí es donde se almacena toda la información enviada por el usuario y puede ser consultada por cualquier internauta que tenga acceso a ella. Los servidores FTP se usan mucho cuando se manejan grandes cantidades de datos compartidos y son útiles para administrar archivos entre múltiples clientes. Un servidor FTP puede incluso ser un gran lugar para hacer una copia de seguridad de su sitio web y archivos importantes.

Ftp-diagramd53ec817b86a48f19838a33acaba56f2.png

Tipos de clientes FTP

A continuación, podemos encontrar un listado de algunos clientes FTP:

FileZilla: Este es uno de los softwares de FTP más reconocido y utilizado a nivel mundial, pues este al ser gratuito y con un código abierto a captado la atención de muchos administradores, además este posee herramientas FTP muy completas que lo ayudan a desarrollar o administrar diferentes sitios webs. Entre sus características más importantes es que este es multiplataforma pues trabaja perfectamente con los diferentes sistemas operativos actuales como Windows, Mac y Linux. Es muy fácil de instalar y configurar gracias a su interfaz grafica amigable con el usuario, también podemos destacar que es compatible con CMS y dispone de muchos idiomas para poder trabajarlo.

WinSCP: este es otro cliente gratuito y de código abierto, sin embargo, a través de donaciones de diferentes usuarios este logra mantenerse en marcha, el programa ha sido caracterizado principalmente por su administración FTP y de SFTP y también por su funcionalidad de acceso SSH. Entre las características que este posee es que admite que el usuario arrastre y suelte los archivos que desea transferir, sirve como cliente SSH. Una desventaja de este es que no es compatible con otros sistemas operativos que no sean Windows.

FireFTP: Este al igual que los dos anteriores posee un código abierto y posee las caracteristicas comunes que los programas FTP deberían de tener, el problema con este es que es de uso exclusivo de Mozilla Firefox y que no se puede extender a otros navegadores. Sin embargo, este se sincroniza en tiempo real para mantener los trabajos siempre actualizados, posee una edición remota de archivos y es compatible con Windows, Linux y Mac.

Protocolo-ftp-800x445.jpg

Tipos de FPT

Existen únicamente tres tipos de FTP al momento de establecer una conexión, los cuales son:

  • FTP autenticado: Este es el más común a la hora de hacer una conexión, pues requiere de credenciales para poder ingresar al servidor, este ofrece seguridad para impedir que alguien que no posea los privilegios necesarios para ingresar a los archivos del servidor lo haga.
  • FTP anónimo o público: Este a diferencia del FTP autenticado no requiere credenciales para poder ingresar y manipular los datos que se encuentren en este servidor, por lo que este solamente es utilizado cuando se aloja información que no es muy crítica, pues esta expuesto a internet y cualquiera con los conocimientos suficientes puede acceder a este.
  • FTP embebido: No es muy común y este esta incrustado en las diferentes páginas webs de internet, este permite conectarse de forma automática desde un buscador web con el objetivo de realizar descargad hacia el cliente FTP.

Ejemplos de servidores FTP

  • FileZilla Server.
  • CrushFTP.
  • Cerberus FTP Server.
  • PrivateFTP.
  • Argosoft FTP Server.
  • Golden FTP Server Free.
  • FTP Serv-U.
  • Proftpd.
  • Vsftpd.
  • Quick ‘n Easy FTP Server.
  • Pure-ftpd.
  • QuickTFTP Desktop.

Puertos y conexión

Por excelencia, los servidores que utilizan el protocolo FTP utilizan los puertos 20 y 21.

En el caso del puerto 20 se usa para datos, pero este último puerto puede utilizarse de una forma diferente en el servidor si se usa el modo pasivo. El protocolo FTP tiene la característica de que puede funcionar en modo activo o pasivo, lo que determina cómo se establecen las conexiones de datos. En el caso del modo activo, el cliente crea una conexión de control con el servidor y envía al servidor la dirección IP del cliente y el número de puerto aleatorio. Después de eso, se debe de esperar a que el servidor inicie una conexión de datos con la dirección IP y el puerto indicado por el cliente.

Por otro lado, cuando este se encuentra en un modo pasivo este se puede usar cuando el cliente está detrás de un firewall y no se permiten conexiones entrantes. En este modo, el cliente envía comandos PASV al servidor utilizando la conexión de control y recibe la dirección IP y el número de puerto del servidor. De esta forma, el cliente usa ese puerto para abrir una conexión de datos desde un puerto aleatorio en el cliente a la dirección IP y el puerto recibido del servidor. El puerto 21 en cambio es utilizado para poder enviar comandos de control.

Fuentes utilizadas

Enlaces externos

Explicación del protocolo FTP