Pregunta ¿Existe algún riesgo de seguridad al revelar su archivo conocido SSH de SSH?


Estoy hablando en una conferencia la próxima semana sobre algunas herramientas de software que he creado. Mi computadora portátil se mostrará en la pantalla del proyector durante esta presentación. La presentación será grabada en video y publicada en youtube. Si, por alguna razón, tengo la oportunidad de abrir y editar mi ~/.ssh/known_hosts archivo durante esta presentación, ¿debo desconectar el proyector mientras lo hago? ¿Existe algún riesgo de seguridad al revelar mi archivo conocido?


31
2017-07-11 18:32


origen


¿Por qué no simplemente reemplazar su actual known_hosts ¿Con uno falso durante la presentación? - Sven♦
... o si no verifica la huella digital del host en primer lugar, use algo como ssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@host para omitir la pregunta de huellas dactilares y evitar chequeos contra los hosts conocidos. - Lekensteyn
@Sven el archivo known_hosts no forma parte de la presentación en sí, solo que el software que estoy demostrando ocasionalmente me obliga a editar mis archivos conocidos. El público no necesita ver esto (así que usaré la edición ciega, como han sugerido varios comentaristas aquí), pero la edición de un archivo ficticio conocido no se cumplirá con mi objetivo. - Matt Korostoff


Respuestas:


El archivo known_hosts contiene las claves públicas de confianza para los hosts con los que se conectó en el pasado. Estas claves públicas se pueden obtener simplemente intentando conectarse a estos hosts. Por lo tanto, no es un riesgo de seguridad per se.

Pero: Contiene un historial de hosts con los que se conectó. La informacion puede ser utilizado por un atacante potencial para la infraestructura de la organización de huellas, por ejemplo. También informa a los posibles atacantes que probablemente tenga acceso a ciertos hosts y que el robo de su computadora portátil también les dará acceso.

Editar: para evitar mostrar su archivo conocido_hosts, le recomiendo que use el ssh-keygen utilidad. ssh-keygen -R ssh1.example.org por ejemplo, elimina las claves de confianza para ssh1.example.org de sus hosts conocidos.


42
2017-07-11 18:39





No hay nada particularmente peligroso en esto. Sin embargo, es posible que no desee revelar esta información de identificación. A veces, la existencia de hosts revela buenas líneas de ataque para aquellos inclinados. Usted puede hacer uso de HashKnownHosts, o puedes editar el archivo sin mirarlo.


Edición ciega:
sed -i 25d .ssh/known_hosts borrará la línea 25 sin poner ningún contenido en pantalla.

HashKnownHosts
               Indica que ssh (1) debe incluir nombres y direcciones de host cuando se agregan a ~ / .ssh / known_hosts. Estos nombres de hash pueden ser utilizados normalmente por ssh (1) y sshd (8), pero no revelan información de identificación en caso de que se divulgue el contenido del archivo. El valor predeterminado es "no". Tenga en cuenta que los nombres y las direcciones existentes en los archivos de hosts conocidos no se convertirán automáticamente, sino que se pueden procesar manualmente usando ssh-keygen (1).


14
2017-07-11 18:39



En lugar de calcular manualmente el número de línea y eliminarlo con sed, también puede usar ssh-keygen -R example.com. - Lekensteyn
@Lekensteyn ¿Estás amonestando? yo por algo que aparece en la respuesta aceptada y tampoco funciona en todos los sistemas que administro. Además, "calcular" puede malinterpretar el caso de uso. Creo que "leer" podría ser una mejor opción de palabra. Offending ECDSA key in /home/username/.ssh/known_hosts:63 - 84104
También puedes usar ssh-keygen -H -f ~/.ssh/known_hosts para hash todos los nombres / direcciones en el archivo. - Barmar