Post

FTP

El Protocolo de transferencia de archivos es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP/IP, basado en la arquitectura cliente-servidor.

Características

FTP oftece uno de los servicios más antiguos (en el año 2011 cumplió 40 años) de transferencia de ficheros y aun así se sigue utilizado en Internet y en redes corporativas.

Permite a los usuarios.

  • Acceder a sistemas remotos y listar directorios y ficheros.
  • Transferir ficheros desde o hacia el sistema remoto, es decir, subir (upload) o bajar (download) ficheros.
  • Realizar acciones adicionales en el sistema remoto como renombrar, borrar, crear archivos y carpetas, cambiar permisos, descomprimir.

Componentes y funcionamiento

Su funcionamiento se basa en el modelo cliente/servidor

  • Clientes FTP Acceden al sistema de ficheros del equipo donde están instalados y establecen conexiones con los servidores FTP para subir o descargar archivos.
  • Servidores FTP Acceden al sistema de ficheros del equipo donde están instalados, manejan. las conexiones de los clientes y en función de los privilegios definidos permiten la descarga y/o la subida de ficheros.
  • Protocolo FTP Conjunto de normas y reglas en base a las cuales “dialogan” los clientes y los servidores FTP, Usa TCP como protocolo de transporte.

IMG

Software servidores FTP

Protocol FTP

El protocolo FTP determina el conjunto de normas y reglas en función de las cuales “dialogan” los clientes y los servidores FTP. La comunicación se basa en el envío de mensajes de texto que contienen comandos y respuestas. Utiliza TCP como protocolo de transporte.

Están compuestas por un código de 3 dígitos, que indica cómo se la procesado el comando enviado, y un mensaje de texto descriptivo, Los dígitos determinan el tipo de respuesta.

  • El primer dígito indica si la acción solicitada por el comando fue exitosa o fallida.
  • El segundo dígito indica a qué se refiere la respuesta.
  • El tercer dígito ofrece información más específica relacionada con el segundo dígito.

Tipos de acceso

  • Acceso anónimo El cliente FTP se conecta al servidor con un usuario especial anónimo. Como nombres para este usuario se emplean de forma estándar anonymous y/o ftp. De manera habitual el usuario anónimo solo puede descargar archivos y su acceso se limita a un directorio del servidor.
  • Acceso autorizado El cliente FTP se conecta con un usuario que debe existir en el servidor. Los usuarios pueden ser:
    • Usuarios locales del sistema
    • Usuarios “virtuales”, creados para el acceso FTP
    • Una vez que se ha autenticado, el usuario accede a un directorio del servidor en el que puede estar o no confinado o “enjaulado”, en el servidor se configuran los privilegios que tiene cada usuario

Conexión de control y conexiones de datos

  • Conexión de control Inicialmente el cliente establece una conexión con el servidor para “dialogar” con él. Le envía comandos de descarga (get), subida (put), listado (ls), etc. y recibe respuestas del servidor que le informan de cómo atiende las peticiones. Esta conexión permanece activa hasta que el usuario cierra la sesión o hasta que el servidor la finalice porque caduca el tiempo de espera a causa de la inactividad (timeout).
  • Conexión de datos Cuando el cliente solicita una transferencia de información se crea una nueva conexión (conexión de datos) que se cierra al finalizar la transmisión.

IMG

Un cliente puede iniciar una conexión a un servidor de dos formas:

  • Modo Activo Es el modo nativo del servicios FTP
    • 1- Se inicia el cliente y establece una conexión de control
    • 2- Cuando se solicita una transferencia de ficheros\
    • 3- De este modo es el servidor de el que inicia las conexiones y el cliente tiene que abrir los puertos para atender a dichas conexiones.

IMG

  • Modo Pasivo Siempre el cliente es el que inicia las conexiones con el servidor
    • 1- Se inicia el cliente y establece una conexión de control
    • 2- Cuando se solicita una transferencia de ficheros\
    • 3- El modo pasivo resuelve el problema de que el cliente tenga que aceptar conexiones en puertos mayores al 1023

IMG

Modo Activo * Conexión de control: Cliente ( > 1023) => Servidor (21) * Conexión de datos: Cliente ( > 1023) <= Servidor (21) Modo Pasivo * Conexión de control: Cliente ( > 1023) => Servidor (21) * Conexión de datos: Cliente ( > 1023) => Servidor ( > 1023)

Tipos de transferencia de archivos

  • Formato ASCII Se transmite byte a byte, para archivos de texto (txt, html, java…)
  • Formato Binario Se transmite bit a bit, para archivos que no son texto (ejecutables, imagenes, videos)

FTPS (FTPS/SSL)

Conjunto de especificaciones que determinan cómo encapsular FTP en SSL (Secure Sockets Layer) o en TLS (Transport Layer Security) para ofrecer comunicaciones seguras. Gracias a la utilización de algoritmos criptográficos y certificados digitales.

  • FTPS Implícito El cliente establece una conexión de control y se establece la conexión SSL/TLS, si el servidor no soporta FTPS se cierra la conexión. Todas las comunicaciones, conexión de control y conexiones de datos, son cifradas. Para mantener la compatibilidad con los clientes FTP que no soporten SSL/TLS se utilizan otros puertos para atender las peticiones FTPS (990/TCP para control y el 989/TCP para datos)
  • FTPS Explícito El cliente establece una conexión de control al puerto 21, solicita explícitamente que la comunicación sea segura enviado el comando AUTH SSL o AUTH TTL y si el servidor lo soporta se establece una conexión SSL/TLS.

No hay que confundir FTPS con SFTP (SSH File Transfer Protocol) el protocolo de transferencia de ficheros basado en SSH. Ni con enviar el protocolo FTP a través de una conexión SSH (túnel FTP sobre SSH).

Protocol FXP

FXP (File eXchange Protocol) es un protocolo de transferencia de datos directa entre servidores FTP, utilizando un cliente solo para conectarlos inicialmente. Esto significa que el ancho de banda del cliente es solo para la conexión inicial y no para la transferencia de ficheros que se hace directamente de un servidor a otro.

IMG

Se puede utilizar si se quiere migrar ficheros de un servidor FTP a otro.

Servicio TFTP

TFTP (Trivial File Transfer Protocol) es un protocolo de capa de aplicación diseñado para ofrecer un servicio de transferencia de ficheros simple y rápido basado en el modelo cliente/servidor.

  • TFTP utiliza UDP como protocolo de nivel de transporte. Los servidores TFTP usan el puerto 69/UDP como puerto estándar
  • No existen mecanismos de autenticación o cifrado.

Al utilizar el protocolo UDP la capa de transporte no garantiza la integridad de la información transmitida.

Se utiliza para hacer copias de seguridad

Servicios SFTP/SCP

SSH, además de otras funcionalidades, integra mecanismos de transferencia de ficheros garantizado igualmente autenticación, confidencialidad e integridad. Se basa en los protocolos SFTP (SSH File Transfer Protocol) y SCP (Secure Copy Protocol).

  • SFTP Permite la transferencia de ficheros entre sistemas remotos, permite listar ficheros y directorios del servidor. Permite realizar funciones adicionales en el servidor como renombrar, borrar, crear archivos y carpetas, cambiar permisos, descomprimir.
  • SCP Permite la “copia” de ficheros entre sistemas remotos. Hay clientes SCP gráficos que integran funcionalidades adicionales como listar, borrar, ete.
This post is licensed under CC BY 4.0 by the author.