¿Clave SSH o contraseña? Es una pregunta que los profesionales de IT se hacen a menudo cuando configuran la autenticación en un servidor SFTP. Hay un debate sobre el mejor método para proteger y validar los servidores SFTP de una empresa, y el consenso nunca es oficial.
¿Cuáles son las diferencias reales entre estos dos métodos? ¿Cómo funciona cada uno? ¿Realmente es uno mejor, o más seguro, que el otro?
Autenticación basada en contraseña
Autenticar un servidor SFTP con una contraseña es simple. El administrador crea una combinación de nombre de usuario y contraseña para un usuario. Completada la configuración, cada vez que el usuario inicia sesión, el servidor verifica la combinación de nombre de usuario/contraseña y aprueba o rechaza la solicitud si la contraseña es correcta o no.
Para garantizar la Seguridad de este método, el administrador puede habilitar una protección: si alguien introduce de forma incorrecta la contraseña más de una x cantidad de veces en x minutos, será bloqueado de la cuenta. El administrador también puede configurar las contraseñas para que cumplan con ciertos requisitos (por ejemplo, longitud específica, incluir letras en mayúscula, números y símbolos) y para que caduquen tras un número de días determinado. Sin embargo, aún se debate si esta práctica realmente evita las vulneraciones de datos.
Pros: Las contraseañas son fáciles de implementar, pueden expirar y permiten establecer reglas.
Contras: Son más vulnerables a ataques de fuerza bruta, propensas al error humano y a la creación de contraseñas débiles. Además, las reglas de creación de contraseñas pueden resultas molestas a los empleados.
Autenticación basada en clave SSH
Autenticar un servidor SFTP con una clave SSH requiere trabajo adicional, pero es una buena opción para aumentar el nivel de Seguridad. Un par de claves SSH está compuesto por una clave privada y una clave pública. El par de claves es creado automáticamente por la computadora y puede tener una longitud de hasta 4096 bits, que es mucho más largo que una contraseña típica.
Usted tiene una clave privada que se almacena en el software cliente SSH y una clave pública que se almacena en el servidor SSH.
Una vez que se almacenan las claves públicas y privadas, el software cliente puede autenticarse contra el servidor SSH. Algunos servidores SFTP requieren tanto una clave SSH como una contraseña para una autenticación adicional. Se negará el acceso al servidor a cualquier persona que intente iniciar sesión con el nombre de usuario o la contraseña (o ambos), pero que no tenga una coincidencia correcta entre la clave privada/pública, independientemente de que intente un ataque de fuerza bruta.
Pros: Por lo general, las claves SSH son mucho más complejas que las contraseñas, no son generadas por humanos, permiten agregar una contraseña para tener un factor adicional de autenticación y son más complicadas de atacar con fuerza bruta que las contraseñas.
Contras: No caducan, son propensas al robo físico si alguien accede al dispositivo, y algunos pares de claves se utilizan en varios servidores SFTP, lo que hace que la clave privada sea valiosa (y vulnerable).
Clave SSH o contraseña: ¿qué método es mejor?
Responder cuál es la mejor práctica de Seguridad SFTP no es fácil. Tanto las claves SSH como las contraseñas tienen sus ventajas y desventajas; depende de lo que una organización necesite y de cuán sólidas seas sus políticas de Ciberseguridad. Ninguno de los dos métodos es completamente inmune a un ataque. No hay una opción que sea infalible al cien por cien.
Sin embargo, si no está seguro sobre cuál utilizar, le recomendamos que use claves SSH y una contraseña. Muchas compañías grandes (como GitLab) sugieren que usar una contraseña con una clave SSH es una buena práctica. Foros de IT como StackExchange opinan lo mismo.
¿El mayor argumento a favor de usar ambos? Si un atacante compromete su clave privada (por ejemplo, roba su dispositivo o instala malware en él) no podrá comprometer el servidor SFTP sin la contraseña. ¿Y si alguien tiene su contraseña pero no tiene su clave privada? Tampoco. Por supuesto, ningún método es infalible, pero se trata de una autenticación de doble factor... y es una medida de Seguridad que está por encima de la autenticación SFTP mediante contraseña únicamente.
GoAnywhere Managed File Transfer soporta el uso de SFTP para asegurar, automatizar y auditar transferencias de archivos. Permite autenticar usuarios con una contraseña y claves SSH, lo que significa que para cumplir sus requisitos de Seguridad usted puede elegir una opción, la otra, o ambas. Con nuestro servidor SFTP también puede entregar y recuperar archivos de su servidor SFTP a través de un túnel de encriptación, transferir múltiples archivos encriptados por conexión, configurar alertas para transferencias fallidas y más.
¿Quiere mejorar sus procesos de transferencia de archivos?
GoAnywhere MFT es una solución de Transferencia Segura de Archivos que soporta SFTP para asegurar y encriptar las transferencias de archivos entre socios comerciales, empleados y clientes. Descargue una versión de prueba gratuita y veálo en acción.