SFTP (SSH File Transfer Protocol)
El SSH File Transfer Protocol se encarga de la transferencia de datos segura entre dos puntos de comunicación. Para muchos procedimientos de trabajo en las empresas, esto se ha convertido en algo imprescindible: por ejemplo, cuando las filiales envían resultados a la sede central, la arquitectura de servidor de una red corporativa se mantiene actualizada y protegida mediante mantenimiento remoto, o los técnicos acceden a las instrucciones de reparación en línea durante su servicio. Para ello hay que transferir datos de manera bidireccional a través de una conexión a internet desde un servidor de empresa a otro. También los archivos para páginas web se transfieren de esta forma al espacio web. Para este intercambio de datos existe desde 1971 el File Transfer Protocol, abreviado como FTP.
La práctica gestión de datos de FTP es similar al trabajo que realizan el explorador de Windows, el Finder de Mac o el Nautilus de Linux. La diferencia en este caso es que los datos se transfieren desde y hacia servidores remotos. La vía de transferencia del usuario (cliente FTP) al servidor (servidor FTP) y a la inversa ofrece una potencial superficie de ataque para el robo y la manipulación de datos, o la infiltración de malware en el sistema del usuario. El riesgo es todavía mayor cuanto más bajo es el estándar de seguridad, y en el caso de FTP, es muy bajo: el nombre de usuario y la contraseña de acceso se transfieren en texto sin codificar. De esta forma, los atacantes potenciales pueden leer los datos de acceso y conseguir acceso no autorizado al cliente y servidor FTP, con sus respectivas consecuencias.
Para eliminar estas posibilidades de ataque se desarrolló como alternativa el SFTP, que ofrece un grado de seguridad ampliamente mejorado.
¿Qué es SFTP?
El protocolo de transferencia SSH, llamado Secure Shell, se desarrolló, entre otras finalidades, para mejorar la protección de la transferencia de datos por FTP. Este protocolo es responsable de la autenticación segura de los puntos de comunicación. En cuanto un cliente inicia una sesión, el servidor comprueba a través de SSH y con su ayuda la identidad del cliente. La autenticación mutua se realiza por certificados y mediante el método de clave pública y privada, también llamado cifrado asimétrico. El acceso se permite únicamente si la “llave” del cliente SFTP encaja con el “candado” del servidor SFTP, y el servidor comprueba si el cliente ha abierto la autopista de la información con la “llave correcta”.
Esta llave o clave generada aleatoriamente consiste en una serie de letras, cifras y caracteres especiales con una cantidad determinada de bits, que se designa como protocolo criptográfico, y con él es posible la comunicación cifrada incluso en una conexión a internet insegura.
SSH File Transfer Protocol: este protocolo, abreviado como SFTP (en español: protocolo seguro de transferencia de archivos), asegura la transferencia de datos cifrada entre los sistemas de cliente y servidor, y viceversa, con una sola conexión. Para ello se cifran tanto los datos de la conexión del receptor como los datos transferidos gracias a las claves basadas en el protocolo SSH.
¿Cómo funciona SFTP?
Un requisito para que funcione una conexión con el SSH File Transfer Protocol es tener un acceso SSH en el servidor del alojamiento. Con él, los datos de acceso están disponibles para el usuario SFTP: dirección de servidor, nombre de usuario y contraseña. Estos datos se registran en el programa (S)FTP utilizado por el cliente. Al establecer la conexión por primera vez, se muestra la clave para su verificación, que queda guardada en el programa FTP para futuros usos. De esta forma, el cliente se autentica con el servidor en cada establecimiento de conexión. Si, durante esta comunicación, una parte o incluso un atacante se “identifican” sin clave o con una errónea, la conexión se interrumpe inmediatamente.
Entre el cliente y el servidor, y viceversa, existe el llamado túnel SSH, a través del cual se efectúa la autenticación y la transferencia de datos. Este túnel está permanentemente cifrado, de forma que ningún atacante puede acceder a los datos, y estos llegan sin manipulación a manos del receptor. Si un atacante intenta modificar los datos durante el camino de transferencia, SSH reconoce la manipulación e interrumpe la conexión inmediatamente.
Por lo tanto, la transferencia de datos con el SSH File Transfer Protocol protege de:
- Modificaciones de la dirección IP de un paquete de datos, también conocido como IP spoofing
- Desviaciones del nombre del ordenador receptor original a la dirección IP de un atacante (DNS spoofing)
- Intercepción de datos de acceso en texto codificado por parte de un atacante
- Manipulación de datos transferidos por parte de un atacante
SFTP no protege al usuario contra un tratamiento descuidado de los datos de usuario y claves.
Utilización del SSH File Transfer Protocol
En el programa (S)FTP, se selecciona el protocolo en el campo de entrada de los datos de acceso. En la aplicación de cliente FileZilla, que se muestra a continuación, se trata del gestor de servidor. En la mayoría de los casos, no es necesario indicar un puerto, porque se establece el 22 automáticamente al seleccionar el SFTP.
En nuestro artículo 10 programas FTP o clientes FTP para Windows y Mac, encontrarás un resumen de programas (S)FTP recomendados.
Al intentar establecer una conexión con el SSH File Transfer Protocol por primera vez, el cliente del SFTP recibe un aviso que indica el estándar de seguridad SSH.
Después hay que comprobar nuevamente que la dirección del servidor es correcta. En la entrada para el servidor “home….-data.host:22” puedes observar que se ha empleado el puerto 22. Marcando la casilla “Confiar siempre en este sitio, añadir su clave a la caché” y haciendo clic en “Aceptar”, se guardan los datos de conexión y se establece la conexión cifrada.
Al establecer la siguiente conexión, no se realiza una nueva solicitud de estos datos, porque el cliente SFTP se identifica con la clave ya existente en el servidor SFTP. Esta firma digital cifra todas las transferencias, incluidos los datos de acceso para el establecimiento de la conexión. Los avisos en la ventana de estado del programa FTP informan sobre el progreso de las cargas y descargas.
Para el almacenamiento o la transferencia de datos, IONOS ofrece alquilar un servidor SFTP con cuentas personales, copias de seguridad y gestión por medio de aplicación.
¿Cuál es la diferencia entre SFTP y FTP?
La principal diferencia reside en que, en la transferencia SFTP, la autenticación y el tráfico general de datos entre el cliente y el servidor se cifran. Incluso si un atacante consigue acceder a los datos, estos son inutilizables para él. Como respuesta a la manipulación de los datos de acceso o los intentos de ataque, el SSH File Transfer Protocol interrumpe la conexión. Las diferencias entre FTP y SFTP se resumen en el siguiente cuadro:
FTP | SFTP | |
---|---|---|
Número de canales utilizados | 2 independientes | 1 |
Estándar de cifrado | Ninguno | SSH2 |
Cifrado de la autenticación | ||
Cifrado de la transferencia de datos | ||
Posibilidades de ataque (lectura, ataque) |
Esta seguridad técnica de la transferencia criptográfica debería reforzarse con otras funciones de seguridad tanto por parte del cliente como del proveedor del servidor. Nos referimos, por ejemplo, a decisiones sobre localización geográfica o seguridad física del servidor SFTP, o almacenamiento de datos protegido en el caso de los clientes a los que se accede. Cualquier tipo de descuido a la hora de tratar con datos acaba, tarde o temprano, pagándose caro.