stringtranslate.com

Protocolo de transferencia de archivos SSH

En informática , el Protocolo de transferencia de archivos SSH (también conocido como Protocolo seguro de transferencia de archivos o SFTP ) es un protocolo de red que proporciona acceso a archivos , transferencia de archivos y administración de archivos sobre cualquier flujo de datos confiable . Fue diseñado por el Grupo de trabajo de ingeniería de Internet (IETF) como una extensión del protocolo Secure Shell (SSH) versión 2.0 para proporcionar capacidades de transferencia segura de archivos, y se considera un reemplazo del Protocolo de transferencia de archivos (FTP) debido a su seguridad superior. [1] El Borrador de Internet del IETF establece que, aunque este protocolo se describe en el contexto del protocolo SSH-2, podría usarse en varias aplicaciones diferentes, como la transferencia segura de archivos sobre Seguridad de la capa de transporte (TLS) y la transferencia de información de administración en aplicaciones VPN .

Este protocolo asume que se ejecuta a través de un canal seguro , como SSH, que el servidor ya ha autenticado al cliente y que la identidad del usuario del cliente está disponible para el protocolo.

Capacidades

En comparación con el protocolo SCP , que sólo permite transferencias de archivos, el protocolo SFTP permite una serie de operaciones en archivos remotos que lo hacen más parecido a un protocolo de sistema de archivos remoto . Las capacidades adicionales de un cliente SFTP incluyen la reanudación de transferencias interrumpidas, listados de directorios y eliminación remota de archivos. [2] También hay soporte para todos los tipos de archivos UNIX, incluidos los enlaces simbólicos. [3]

SFTP intenta ser más independiente de la plataforma que SCP; con SCP, por ejemplo, la expansión de comodines especificados por el cliente depende del servidor, mientras que el diseño de SFTP evita este problema. Si bien SCP se implementa con mayor frecuencia en plataformas Unix , los servidores SFTP están disponibles comúnmente en la mayoría de las plataformas. En SFTP, la transferencia de archivos se puede finalizar fácilmente sin terminar una sesión como lo hacen otros mecanismos.

SFTP no es un protocolo FTP ejecutado sobre SSH , sino un nuevo protocolo diseñado desde cero por el grupo de trabajo SECSH de la IETF . A veces se lo confunde con el Protocolo simple de transferencia de archivos . [4]

El protocolo en sí no proporciona autenticación ni seguridad; espera que el protocolo subyacente lo asegure. SFTP se utiliza con mayor frecuencia como subsistema de las implementaciones de la versión 2 del protocolo SSH , ya que fue diseñado por el mismo grupo de trabajo. Sin embargo, es posible ejecutarlo sobre SSH-1 (y algunas implementaciones lo admiten) u otros flujos de datos. La ejecución de un servidor SFTP sobre SSH-1 no es independiente de la plataforma, ya que SSH-1 no admite el concepto de subsistemas. Un cliente SFTP que desee conectarse a un servidor SSH-1 necesita conocer la ruta al binario del servidor SFTP en el lado del servidor.

Los archivos subidos pueden asociarse con sus atributos básicos, como las marcas de tiempo. Esto supone una ventaja con respecto al protocolo FTP común .

Historia y desarrollo

El grupo de trabajo "Secsh" del Grupo de Trabajo de Ingeniería de Internet (IETF), responsable del desarrollo del protocolo Secure Shell versión 2 (RFC 4251), también intentó redactar una extensión de ese estándar para la funcionalidad de transferencia segura de archivos. Se crearon borradores de Internet que revisaron sucesivamente el protocolo en nuevas versiones. [5] La industria del software comenzó a implementar varias versiones del protocolo antes de que se estandarizaran los borradores. A medida que avanzaba el trabajo de desarrollo, el alcance del proyecto Secsh File Transfer se amplió para incluir el acceso a archivos y la gestión de archivos . Finalmente, el desarrollo se estancó cuando algunos miembros del comité comenzaron a ver SFTP como un protocolo de sistema de archivos , no solo un protocolo de acceso o transferencia de archivos , lo que lo coloca fuera del alcance del grupo de trabajo. [6] Después de una pausa de siete años, en 2013 se intentó reiniciar el trabajo en SFTP utilizando el borrador de la versión 3 como base. [7]

Versiones 0–2

Antes de la participación de la IETF, SFTP era un protocolo propietario de SSH Communications Security , diseñado por Tatu Ylönen con la ayuda de Sami Lehtinen en 1997. [8] Las diferencias entre las versiones 0-2 y la versión 3 se enumeran en la sección 10 del borrador ietf-secsh-filexfer-02.

Versión 3

Al comienzo del proyecto IETF Secure Shell File Transfer, el grupo Secsh declaró que su objetivo del Protocolo de transferencia de archivos SSH era proporcionar una funcionalidad de transferencia de archivos segura sobre cualquier flujo de datos confiable y ser el protocolo de transferencia de archivos estándar para usar con el protocolo SSH-2.

Los borradores 00 a 02 del Borrador de Internet del IETF definen revisiones sucesivas de la versión 3 del protocolo SFTP.

Versión 4

Los borradores 03 y 04 del Borrador de Internet del IETF definen la versión 4 del protocolo.

Versión 5

El borrador 05 del borrador de Internet del IETF define la versión 5 del protocolo.

Versión 6

Los borradores 06 a 13 del Borrador de Internet del IETF definen revisiones sucesivas de la versión 6 del protocolo.

Extensiones

El protocolo SFTP admite una forma genérica de indicar comandos extendidos, junto con un método para incluirlos en la negociación de versiones. Se solicita un registro de IANA, pero como el protocolo nunca se convirtió en un estándar oficial, no se ha creado dicho registro. [3]

Software

Cliente SFTP

El término SFTP también puede referirse a Secure file transfer program (Programa de transferencia segura de archivos) , un programa de línea de comandos que implementa la parte cliente de este protocolo. Como ejemplo, el programa sftp que se incluye con OpenSSH lo implementa. [10]

Algunas implementaciones del scp programa admiten tanto los protocolos SFTP como SCP para realizar transferencias de archivos, según lo que admita el servidor. El programa scp que viene con OpenSSH 9.0 y versiones posteriores utiliza SFTP de forma predeterminada. [11]

Servidor SFTP

Algunas implementaciones de servidores FTP implementan el protocolo SFTP; sin embargo, fuera de los servidores de archivos dedicados, la compatibilidad con el protocolo SFTP suele proporcionarla una implementación de servidor SSH , ya que comparte el puerto predeterminado 22 con otros servicios SSH. Las implementaciones de SFTP pueden incluir una implementación de protocolo SSH para aprovechar la integración de los detalles de conexión SSH con los controles de acceso de servidor FTP preexistentes, donde un servidor SSH alternativo es tolerable o donde se pueden usar puertos alternativos. Se puede aprovechar un servidor SSH-2 que admita subsistemas para mantener una implementación SSH uniforme al tiempo que se mejoran los controles de acceso con software de terceros, a costa de una integración detallada con los detalles de conexión y la compatibilidad con SSH-1.

Proxy SFTP

Es difícil controlar las transferencias SFTP en dispositivos de seguridad en el perímetro de la red. Existen herramientas estándar para registrar transacciones FTP , como TIS gdev o SUSE FTP proxy, pero SFTP está cifrado, lo que hace que los proxies tradicionales sean ineficaces para controlar el tráfico SFTP.

Existen algunas herramientas que implementan el intermediario para SSH y que también cuentan con control SFTP. Algunos ejemplos de este tipo de herramientas son Shell Control Box de Balabit [12] y CryptoAuditor de SSH Communications Security [13] (el desarrollador original del protocolo Secure Shell), que proporciona funciones como el registro de transacciones SFTP y el registro de los datos reales transmitidos por la red.

Véase también

Referencias

  1. ^ "El qué, el cómo y el por qué de SFTP".
  2. ^ Victoria, Jaynor; Victoria, Beverly (2001), SSH, Secure Shell: La guía definitiva , Cambridge: O'Reilly, ISBN 0-596-00011-1
  3. ^ abc Galbraith, Joseph; Saarenmaa, Oskari (18 de julio de 2006). "Protocolo de transferencia de archivos SSH". Grupo de trabajo de ingeniería de Internet.
  4. ^ Barrett, Daniel; Silverman, Richard E. (2001), SSH, el Secure Shell: la guía definitiva , Cambridge: O'Reilly, ISBN 0-596-00011-1
  5. ^ "Páginas de estado de Secsh". Tools.ietf.org . Consultado el 20 de agosto de 2012 .
  6. ^ "ietf.secsh—Consulta formal previa al cierre del grupo de trabajo de secsh—msg#00010—Discusión reciente". Osdir.com. 14 de agosto de 2006. Archivado desde el original el 20 de marzo de 2012. Consultado el 20 de agosto de 2012 .
  7. ^ Moonesamy, S. (12 de julio de 2013). "Protocolo de transferencia de archivos SSH: borrador-moonesamy-secsh-filexfer-00". Tools.ietf.org.
  8. ^ ftp://ftp.ietf.org/ietf-mail-archive/secsh/2012-09.mail
  9. ^ "openssh-portable sftp.h". GitHub . OpenSSH. 24 de mayo de 2023.
  10. ^ "Página del manual de OpenBSD para el comando "sftp": sección "Ver también"". OpenBSD.org . Consultado el 4 de febrero de 2018 .
  11. ^ "OpenSSH 9.0". Notas de la versión de OpenSSH . 8 de abril de 2022.
  12. ^ "Registrar SSH/RDP/Citrix en el registro de auditoría: dispositivo de monitoreo de actividad". Balabit.com . Consultado el 20 de agosto de 2012 .
  13. ^ "Control y monitoreo de acceso privilegiado". SSH.com . Consultado el 25 de noviembre de 2014 .