¿Por qué debería usar "HashKnownHosts yes" en ssh_config?

19

Tengo algunos servidores con sí, otros sin aquí (solo descubrí esta opción hoy).

Las ventajas de HashKnownHosts no son que puedo mantener el archivo known_hosts más fácilmente.

¿Cuáles son las ventajas fácticas de usar HashKnownHosts sí?

Thibaut Barrère
fuente

Respuestas:

8

El archivo known_hosts representa un pequeño riesgo de seguridad. Contiene una lista conveniente de todos los servidores a los que se conecta. Un atacante que obtuvo acceso a su contraseña o clave privada sin cifrar simplemente necesitaría recorrer la lista hasta que se acepten sus credenciales. El hash resuelve esto o al menos ofusca la lista.

oneodd1
fuente
44
Esta respuesta parece haber sido copiada sin atribución de vitalvector.com/blog/2009/02/ssh-tip-hash-known-hosts.html
Martey
22

Con un texto claro known_hosts, los atacantes sabrían fácilmente a qué servidores se conecta. Hay un artículo y un documento del MIT sobre un posible gusano ssh que utiliza un lector legible known_hosts. Por supuesto, generalmente hay otras formas aún más engorrosas de determinar sus inicios de sesión ssh diarios, como su historial de shell, que un atacante podría usar.

Tenga en cuenta que aún puede trabajar con su hash known_hostsutilizando el ssh-keygenprograma de utilidad:

ssh-keygen -F myhost         # shows myhosts's line in the known_hosts file
ssh-keygen -l -F myhost      # additionally shows myhost's fingerprint
ssh-keygen -R myhost         # remove myhost's line from known_hosts

Esto, especialmente el último comando, debería ser suficiente para el 99% de los casos que los usuarios realmente necesitan acceder known_hosts. Sin embargo, perderá la finalización de la pestaña del host ssh, por supuesto.

También tenga en cuenta que las opciones de línea de comando ssh-keygenson sensibles a mayúsculas y minúsculas

También hay una pregunta relevante en unix.SE.

quazgar
fuente