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 a través de cualquier flujo de datos confiable . Fue diseñado por Internet Engineering Task Force (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 a través de Transport Layer Security (TLS) y transferencia de información de gestión en aplicaciones VPN .

Este protocolo supone 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 variedad 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 los 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 suelen estar disponibles en la mayoría de las plataformas. En SFTP, la transferencia de archivos se puede finalizar fácilmente sin finalizar una sesión como lo hacen otros mecanismos.

SFTP no es un FTP ejecutado sobre SSH , sino más bien un nuevo protocolo diseñado desde cero por el grupo de trabajo SECSH del IETF . A veces se 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 garantice esto. SFTP se utiliza con mayor frecuencia como subsistema de 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 a través de SSH-1 (y algunas implementaciones lo admiten) u otros flujos de datos. La ejecución de un servidor SFTP a través de 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 cargados pueden estar asociados con sus atributos básicos, como marcas de tiempo. Esta es una ventaja sobre el protocolo FTP común .

Historia y desarrollo

El grupo de trabajo "Secsh" del Internet Engineering Task Force (IETF) que fue 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 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 más allá 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 del 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 a través de 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–02 del Borrador de Internet del IETF definen revisiones sucesivas de la versión 3 del protocolo SFTP.

Versión 4

Los borradores 03-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-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 la 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 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 suministrado con OpenSSH implementa esto. [10]

Algunas implementaciones del scp programa admiten los protocolos SFTP y SCP para realizar transferencias de archivos, según lo que admita el servidor. El programa scp suministrado 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 generalmente la proporciona una implementación de servidor SSH , ya que comparte el puerto predeterminado 22 con otros servicios SSH. Las implementaciones SFTP pueden incluir una implementación de protocolo SSH para aprovechar la integración de los detalles de la conexión SSH con controles de acceso al servidor FTP preexistentes, cuando un servidor SSH alternativo sea tolerable o cuando se puedan usar puertos alternativos. Se puede aprovechar un servidor SSH-2 que admita subsistemas para mantener una implementación SSH uniforme y al mismo tiempo mejorar los controles de acceso con software de terceros, a costa de una integración detallada con los detalles de la conexión y la compatibilidad con SSH-1.

proxy SFTP

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

Existen algunas herramientas que implementan man-in-the-middle para SSH que también cuentan con control SFTP. Ejemplos de dicha herramienta 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 en el cable.

Ver también

Referencias

  1. ^ "El qué, el cómo y el por qué de SFTP".
  2. ^ Victoria, Jaynor; Victoria, Beverly (2001), SSH, The Secure Shell: la guía definitiva , Cambridge: O'Reilly, ISBN 0-596-00011-1
  3. ^ a b C Galbraith, José; 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, The Secure Shell: la guía definitiva , Cambridge: O'Reilly, ISBN 0-596-00011-1
  5. ^ "Páginas de estado de Secsh". Herramientas.ietf.org . Consultado el 20 de agosto de 2012 .
  6. ^ "ietf.secsh—Consulta formal antes de cerrar el grupo de trabajo secsh—msg#00010—Discusión reciente". Osdir.com. 2006-08-14. 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". Herramientas.ietf.org.
  8. ^ ftp://ftp.ietf.org/ietf-mail-archive/secsh/2012-09.mail
  9. ^ "openssh-portable sftp.h". GitHub . AbiertoSSH. 24 de mayo de 2023.
  10. ^ "Página del manual de OpenBSD para el comando" sftp ": sección" Consulte 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 seguimiento de auditoría: dispositivo de monitoreo de actividad". Balabit.com . Consultado el 20 de agosto de 2012 .
  13. ^ "Monitoreo y control de acceso privilegiado". SSH.com . Consultado el 25 de noviembre de 2014 .