Saltar al contenido principal

¿Qué es el Protocolo de transferencia segura de archivos (SFTP)?

¿Qué es el Protocolo de transferencia segura de archivos?

El Protocolo de transferencia segura de archivos (SFTP) es un protocolo de red estándar para la transferencia segura de archivos entre sistemas conectados. Un protocolo de red es un conjunto de reglas establecidas que actúan como un lenguaje común independientemente del hardware o software específico que utilicen los dispositivos de la red. El SFTP añade autenticación y cifrado a la transferencia de archivos, lo que permite a las organizaciones compartir archivos de forma segura y cumplir con los requisitos de cumplimiento normativo para los datos de archivos confidenciales.

¿Por qué es importante el Protocolo de transferencia segura de archivos?

La seguridad y la confidencialidad de los datos son requisitos básicos para la transferencia de archivos a través de cualquier red, ya sea dentro de una red de área local (LAN) empresarial o a través de Internet. El Protocolo de transferencia segura de archivos se usa junto con otros protocolos de seguridad de red comunes, como HTTPS (Protocolo seguro de transferencia de hipertexto), para garantizar la seguridad de los datos de los archivos a nivel de red.

SFTP se desarrolló para reemplazar el Protocolo de transferencia de archivos (FTP), un método tradicional de transferencia de archivos. Se utiliza para transferir archivos confidenciales en muchas de las aplicaciones más utilizadas del mundo, como Git, VSCode, Ansible, WordPress y AWS Transfer Family.

¿Qué es la S en SFTP?

SFTP también se conoce como protocolo de transferencia de archivos SSH, debido a su uso del protocolo de conexión Secure Shell (SSH). S puede significar Secure y Secure Shell.

SSH

El protocolo SSH es un protocolo de conexión criptográfica basado en la autenticación para las comunicaciones de red. SSH gestiona el transporte seguro de datos, la autenticación y las conexiones a través de TCP (Protocolo de control de transmisión). TCP es uno de los principales protocolos de transporte de Internet.

SSH garantiza que cualquier oyente entre dos partes de una red no pueda descifrar ninguna comunicación confidencial compartida una vez que se haya establecido una sesión. Por ejemplo, un oyente de una red no podría ver las contraseñas ni la información de identificación personal (PII) enviada a través de una conexión con el cifrado Secure Shell.

SSH otorga al cliente (usuario) permiso para ejecutar comandos básicos en un servidor remoto; sin embargo, SSH carece de la capacidad de transferir y manipular archivos. Para la transferencia segura de datos de archivos y las operaciones de manipulación de archivos, SSH requiere un enfoque por capas, en combinación con SFTP.

¿Cómo funciona el Protocolo de transferencia segura de archivos (SFTP)?

El SFTP permite a los usuarios enviar, recibir y manipular archivos y carpetas del servidor, lo que reduce el riesgo de que se filtre información debido a una conexión comprometida. El SFTP cifra todos los comandos y contenidos de los archivos, lo que los hace indescifrables en tránsito, para garantizar el cumplimiento de la transferencia de archivos.

Arquitectura cliente-servidor

El protocolo SFTP utiliza el modelo de arquitectura cliente-servidor SSH para la comunicación. Este modelo de arquitectura permite al servidor controlar las conexiones, los recursos y la seguridad, aunque el cliente inicie una sesión.

Infraestructura de clave pública y privada

SFTP usa claves SSH públicas y privadas para autenticar las sesiones entre clientes y servidores. El uso de la infraestructura de claves SSH garantiza una sobrecarga mínima de administración de la seguridad, que solo involucra al cliente SFTP y al servidor SFTP.

Puerto 22 por defecto

SFTP utiliza el puerto 22 de forma predeterminada para una entrega de datos fiable con conexiones SSH a través de TCP. Sin embargo, es posible asignar un nombre diferente a un puerto en SFTP, en el caso de conexiones existentes en el puerto 22.

Reanudación de transferencias interrumpidas

El SFTP permite a los usuarios reanudar las transferencias de archivos que anteriormente estaban en pausa debido a la interrupción de las sesiones. La reanudación de las transferencias de archivos aumenta la productividad, incluso con conexiones inestables.

¿Cuáles son algunos de los comandos SFTP más comunes?

Los usuarios pueden ejecutar comandos SFTP a través de la interfaz de la línea de comandos (CLI) o siguiendo los flujos de trabajo en los que se hace clic en una aplicación con SFTP integrado. Todos los usuarios de Windows, Mac y Linux tienen acceso a la línea de comandos SFTP a través de una aplicación shell. Estos son algunos comandos SFTP útiles que utilizan el shell bash.

Iniciar y cerrar una sesión de SFTP

sftp usuario@nombredelservidor por ejemplo, sftp dan@example.com

Abre una nueva conexión SFTP en el servidor example.com. La línea de comandos del shell cambiará a sftp> para indicar que la sesión ha comenzado. Hay varias opciones que puede incluir en este comando, como:

  • -P [número] para especificar un número de puerto
  • -i [archivo] para incluir un archivo de clave privada, y
  • -r para activar la transferencia recursiva de directorios.

sftp exit cierra una sesión de SFTP.

Transferencia de archivos

get server_path_and_filename local_path copia el archivo dado del servidor al directorio especificado.

por ejemplo, get /projects/marketing/proposal.txt /newopportunities

put local_path_and_filename server_path transfiere un archivo local al directorio del servidor dado.

por ejemplo, put /finances/invoices/march.txt /projects/marketing/payments

Del mismo modo, los comandos reget y reput reanudan las transferencias interrumpidas.

Administración remota de archivos

  • chown user path cambia la propiedad del archivo o la carpeta en la ruta dada del servidor al usuario especificado.
  • chmod number path cambia los permisos del archivo o la carpeta en la ruta dada en el servidor.
  • ls muestra la lista de archivos y carpetas del directorio actual del servidor.
  • cd path navega al directorio dado en el servidor.
  • mkdir dir_name crea una nueva carpeta en el servidor.
  • rmdir dir_name elimina una carpeta determinada del servidor.
  • rename old_file_name new_file_name cambia el nombre de un archivo determinado en el servidor.
  • pwd muestra el directorio actual del servidor.
  • lpwd muestra el directorio local actual.

¿Cómo se compara el SFTP con otros protocolos de transferencia de archivos?

SFTP forma parte de una gama de protocolos de transferencia de archivos estándar.

SFTP en comparación con FTPS

FTP Secure (FTPS) utiliza el protocolo de seguridad de la capa de transporte (TLS) y el protocolo de capa de sockets seguros (SSL) además del Protocolo de transferencia de archivos para realizar transferencias de archivos seguras. La autenticación con el FTPS se basa en las prácticas de administración de certificados de SSL. El FTPS se considera en su mayor parte obsoleto.

El FTPS se basa en el FTP, mientras que el SFTP se introdujo para reemplazar el FTP por una arquitectura más segura. El SFTP se usa mucho más ampliamente que el FTPS en la actualidad, debido a su simplicidad, seguridad y soporte en la nube.

SFTP en comparación con TFTP

El Protocolo trivial de transferencia de archivos (TFTP) es un protocolo ligero para transferir archivos que utiliza una arquitectura cliente-servidor. El TFTP no contiene ninguna medida de seguridad integrada y, por lo tanto, debe combinarse con protocolos de seguridad o protecciones para las transferencias de archivos en entornos normales.

Si bien el SFTP se usa en una amplia variedad de aplicaciones, el TFTP generalmente solo se usa directamente en una red local y segura al configurar o arrancar hardware, firmware y sistemas operativos nuevos.

¿Cuáles son algunas de las mejores prácticas para usar el SFTP?

Utilice las mejores prácticas para la administración de claves público-privadas, incluida la rotación de claves y el almacenamiento seguro en el servidor SFTP. Asegúrese de que su servidor SFTP esté siempre actualizado con actualizaciones y parches de seguridad, además de utilizar un cifrado sólido como el AES. Registre las transferencias de archivos exitosas y los intentos de acceso fallidos para detectar anomalías y responder a ellas.

Recuerde que el SFTP es solo una parte de la seguridad de la red. Los firewalls, los sistemas de detección de intrusos y otras medidas de seguridad deben adaptarse a su arquitectura de red específica.

¿Cómo puede AWS cumplir con sus requisitos de almacenamiento de archivos?

Amazon ofrece una gama de soluciones de almacenamiento y transferencia segura de archivos.

Amazon S3 es un servicio de almacenamiento de objetos creado para almacenar y recuperar cualquier volumen de datos desde cualquier ubicación. Puede usarlo para almacenar y recuperar cualquier cantidad de datos, incluidos archivos, en cualquier momento y desde cualquier lugar, incluidas las transferencias automatizadas de archivos.

Amazon Elastic File System (EFS) proporciona un almacenamiento de archivos en la nube totalmente elástico y sin servidor que le permite crear sistemas de archivos accesibles para las instancias de Amazon Elastic Compute Cloud (EC2) y otros servicios en la nube de AWS. Admite la semántica de acceso al sistema de archivos completa, como la coherencia sólida y el bloqueo de archivos. Puede compartir datos sin aprovisionar o administrar la capacidad de almacenamiento ni el rendimiento.

AWS Transfer Family proporciona soporte completamente administrado para transferir archivos de forma segura a través de SFTP, AS2, FTPS, FTP y buscadores web directamente hacia Amazon S3 o Amazon EFS y desde estos. Puede migrar, automatizar y supervisar sin problemas flujos de trabajo de transferencia de archivos con las configuraciones actuales del lado del cliente para autenticación, acceso y firewalls, por lo que no hay cambios para sus clientes, socios y equipos internos, o sus aplicaciones.

Para comenzar a almacenar archivos en AWS, cree una cuenta gratuita hoy mismo.