¿Por qué es más seguro usar una clave SSH que usar contraseñas? [duplicar]

65

Si las personas usan una contraseña para iniciar sesión en un servidor UNIX, entonces se puede forzar a que caduque la contraseña, luego la cambian.

Si las personas usan una clave ssh y no tienen contraseñas, no caducan las contraseñas, entonces nada las obliga a cambiar su clave SSH regularmente.

Pregunta: ¿Qué solución es más segura? ¿Por qué los "procedimientos" para reforzar un servidor siempre recomiendan utilizar una clave ssh, no contraseñas?

ACTUALIZACIÓN : sin contar la debilidad de la fuerza bruta, con respecto a las contraseñas, ya que se podrían adivinar si no hay una solución similar a Fail2ban.

    
pregunta thequestionthequestion 10.10.2014 - 20:39
fuente

3 respuestas

53

Tanto las claves como las contraseñas tienen sus pros y sus contras. La razón por la que los "consejos" y similares aconsejan usar la clave SSH es que encuentran sus contras menos preocupantes que las contras de contraseñas.

Las claves SSH son largas y complejas, mucho más de lo que podría ser cualquier contraseña. Pero como usted dice, no tienen vencimiento, y se sientan en un disco donde pueden ser robados. Por otro lado, no se transmiten al sistema remoto (excepto el reenvío de clave, natch) que deben ser las contraseñas.

Las contraseñas son generalmente, previsiblemente, inevitablemente débiles. Si bien es posible tener contraseñas seguras, una y otra vez se ha demostrado que las personas usarán contraseñas débiles y tendrán prácticas de contraseña deficientes ... cortos, simples, basados en palabras, patrones simples ("p @ ssw0rd!"), Escriba abajo, úselos en múltiples sitios, baselos en su número de teléfono, la fecha de nacimiento de sus hijos, su propio nombre. Señala que las claves no caducan, pero ¿por qué caducan las contraseñas? Para garantizar que un ataque de fuerza bruta es menos probable que descifre una contraseña antes de que sea reemplazada. No es un problema que afecte a las claves.

Y, aparte de las malas contraseñas, incluso las contraseñas "buenas" son vulnerables a la fuerza bruta (en línea o fuera de línea) en las condiciones adecuadas. Tienen que ser transmitidos al otro sistema, o a cualquier otro lugar en el que el usuario pueda ser engañado y enviarlo por error.

El balance de la evidencia sugiere fuertemente que las contraseñas son más débiles y las claves son más fuertes.

    
respondido por el gowenfawr 10.10.2014 - 21:03
fuente
32

Con las contraseñas, la contraseña se envía al servidor, por lo que la seguridad de la contraseña es relativa a qué tan bien protege el servidor lo que usa para verificar las contraseñas (por ejemplo, el archivo /etc/shadow ). Cuando usa una clave SSH, entonces su clave privada permanece en el lado del cliente y nunca se envía ningún valor secreto al servidor. Incluso si el servidor está bajo control hostil, o si de alguna manera se lo induce a conectarse a un servidor falso, entonces su clave SSH permanece segura. Un servidor falso no obtiene suficiente información en su clave para recuperarla o hacer algo de MitM. En ese sentido, las claves SSH son más robustas que las contraseñas contra compromisos en el lado del servidor.

Por otro lado, una clave SSH debe almacenarse en algún lugar, en una computadora, y esto puede ser una vulnerabilidad. Tienes que proteger tu clave privada con una frase de contraseña; De lo contrario, una computadora portátil robada se convierte en un compromiso de cuenta. A la inversa, una contraseña se puede almacenar en su cerebro solo , lo que (supuestamente) hace que sea menos probable que se filtre.

Por lo tanto, se puede argumentar que las claves SSH son "más seguras" que las contraseñas, pero también se puede argumentar lo contrario. Depende del contexto. La mayoría de los HowTos tomarán la postura de que las claves son mejores porque sucede que, en promedio, los usuarios humanos tienen un historial terrible de contraseñas. Los usuarios eligen contraseñas débiles y las reutilizan (la reutilización de las contraseñas es muy mala).

    
respondido por el Tom Leek 10.10.2014 - 21:32
fuente
4

Si lo que entiendo en su actualización, si puede proporcionar la misma entropía en sus contraseñas en comparación con las claves, en cuanto a su seguridad, es discutible. Podría tener la certeza de que las claves son mejores porque brindaría una mejor "experiencia de usuario" porque no escribe las contraseñas en todo momento.

Pienso más en su punto original, estamos discutiendo la capacidad de administración de las contraseñas de SSH frente a las claves de SSH. Sí, a las contraseñas se les pueden asignar políticas, que permiten medidas de seguridad básicas (caducidad de la contraseña de IE, historial de contraseñas, longitud máxima de contraseñas, etc.) pero esto no cambia el hábito humano, y tampoco complace a los usuarios donde la seguridad se convierte en una carga para Producción (Un balance a nivel organizacional).

Las claves proporcionan un método para mantener un grado de entropía y capacidad de administración, al mismo tiempo que proporcionan un método de acceso que no afecta a un usuario (una vez que se configura el par de claves, puede autenticarse sin una solicitud de contraseña hasta que se revoque).

Además de esto, debes saber que las claves pueden protegerse con contraseña y proporcionar otra capa.

    
respondido por el Shane Andrie 10.10.2014 - 22:28
fuente

Lea otras preguntas en las etiquetas