En computación , el protocolo de transferencia de archivos SSH (también Secure File Transfer Protocol , o SFTP ) es un protocolo de red que proporciona acceso a los archivos , transferencia de archivos y la gestión de archivos a través de cualquier confiable flujo de datos . 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 de archivos segura. El borrador de Internet del IETFafirma 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 la transferencia de información de gestió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 solo 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 reanudar transferencias interrumpidas, listados de directorios y eliminación remota de archivos. [1]
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 comúnmente están disponibles en la mayoría de las plataformas. La transferencia de archivos es rápida en SCP en comparación con el protocolo SFTP debido a la naturaleza de ida y vuelta del protocolo SFTP. En SFTP, la transferencia de archivos se puede terminar fácilmente sin terminar una sesión como lo hacen otros mecanismos.
SFTP no está FTP atropellado SSH , sino más bien un nuevo protocolo diseñado desde cero por el IETF secsh grupo de trabajo . A veces se confunde con el Protocolo simple de transferencia de archivos . [1]
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 implementaciones del protocolo SSH versión 2, habiendo sido 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 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 asociarse con sus atributos básicos, como las marcas de tiempo. Esta es una ventaja sobre el protocolo FTP común .
Historia y desarrollo
El grupo de trabajo de Internet Engineering Task Force (IETF) "Secsh" que era 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. [2] 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 expandió 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 como un protocolo de acceso o transferencia de archivos , lo que lo coloca más allá del alcance del grupo de trabajo. [3] 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. [4]
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. [5] 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–02 del Borrador de Internet del IETF definen las sucesivas revisiones de la versión 3 del protocolo SFTP.
- Protocolo de transferencia de archivos SSH, borrador 00, enero de 2001
- Protocolo de transferencia de archivos SSH, borrador 01, marzo de 2001
- Protocolo de transferencia de archivos SSH, borrador 02, octubre de 2001
Versión 4
Los borradores 03–04 del Borrador de Internet del IETF definen la versión 4 del protocolo.
- Protocolo de transferencia de archivos SSH, borrador 03, octubre de 2002
- Protocolo de transferencia de archivos SSH, borrador 04, diciembre de 2002
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 las sucesivas revisiones de la versión 6 del protocolo.
- Protocolo de transferencia de archivos SSH, borrador 06, octubre de 2004
- Protocolo de transferencia de archivos SSH, borrador 07, marzo de 2005
- Protocolo de transferencia de archivos SSH, borrador 08, abril de 2005
- Protocolo de transferencia de archivos SSH, borrador 09, junio de 2005
- Protocolo de transferencia de archivos SSH, borrador 10, junio de 2005
- Protocolo de transferencia de archivos SSH, borrador 11, enero de 2006
- Protocolo de transferencia de archivos SSH, borrador 12, enero de 2006
- Protocolo de transferencia de archivos SSH, borrador 13, julio de 2006
Software
Cliente SFTP
El término SFTP también puede referirse al programa de transferencia segura de archivos , un programa de línea de comandos que implementa la parte del cliente de este protocolo. Como ejemplo, el programa sftp suministrado con OpenSSH lo implementa. [6]
Algunas implementaciones del programa scp admiten los protocolos SFTP y SCP para realizar transferencias de archivos, según lo que admita el servidor.
Servidor SFTP
Algunas implementaciones de servidor FTP implementan el protocolo SFTP; sin embargo, fuera de los servidores de archivos dedicados, el soporte del protocolo SFTP generalmente lo proporciona una implementación de servidor SSH , ya que comparte el puerto predeterminado de 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 la conexión SSH con controles de acceso al 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 admite subsistemas para mantener una implementación SSH uniforme mientras se mejoran 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 dispositivos de seguridad en el perímetro de la red. Existen herramientas estándar para registrar transacciones FTP , como TIS fwtk o SUSE FTP proxy, pero SFTP está encriptado, lo que hace que los proxies tradicionales sean ineficaces para controlar el tráfico SFTP.
Hay algunas herramientas que implementan man-in-the-middle para SSH que también cuentan con control SFTP. Ejemplos de una herramienta de este tipo son Shell Control Box de Balabit [7] y CryptoAuditor de SSH Communications Security [8] (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
- Comparación de clientes SSH
- Comparación de servidores SSH
- Comparación de protocolos de transferencia de archivos
- PESCADO
- FTPS
- Lsh: un servidor GNU SSH-2 y SFTP para sistemas operativos similares a Unix
- SSHFS: montaje del sistema de archivos remoto mediante SFTP y SSH
- Categoría: clientes FTP
- Categoría: clientes SFTP
Referencias
- ^ a b Barrett, Daniel; Silverman, Richard E. (2001), SSH, The Secure Shell: The Definitive Guide , Cambridge: O'Reilly, ISBN 0-596-00011-1
- ^ "Páginas de estado de Secsh" . Tools.ietf.org . Consultado el 20 de agosto de 2012 .
- ^ "ietf.secsh — Consulta formal antes de cerrar el grupo de trabajo de la 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 .
- ^ "Protocolo de transferencia de archivos SSH — draft-moonesamy-secsh-filexfer-00" . Gmane.org. 2013-07-12.
- ^ ftp://ftp.ietf.org/ietf-mail-archive/secsh/2012-09.mail
- ^ "Página de manual de OpenBSD para el comando" sftp ": sección" Ver también "" . OpenBSD.org . Consultado el 4 de febrero de 2018 .
- ^ "Registre SSH / RDP / Citrix en Audit Trail — Dispositivo de monitoreo de actividad" . Balabit.com . Consultado el 20 de agosto de 2012 .
- ^ "Monitoreo y control de acceso privilegiado" . SSH.com . Consultado el 25 de noviembre de 2014 .
enlaces externos
- SFTP chrooted con autenticación de clave pública : integración de SFTP en servidores de producción FreeBSD utilizando el enfoque de criptografía de clave pública
- SFTP chrooted basado en el usuario en GNU / Linux