Beneficio de seguridad de las claves de host respaldadas por hardware para OpenSSH

4

Recientemente hubo un acuerdo de "dos por el precio de uno" en el Yubikey 4 y ahora tengo demasiados.

Esto me hizo pensar en cosas que hacer con ellos, más o menos útiles. Por supuesto, ya uso las funciones de la tarjeta inteligente para proteger mi SSH CA y mis claves SSH personales. Pero, ¿podría usarse también para proteger las claves de host?

Esto ciertamente requeriría el uso de un agente ssh, ya que parece extremadamente poco práctico ingresar el código PIN cada vez que un cliente se conecta al servidor. Después de un vistazo rápido en el manual sshd_config, es posible apuntarlo a un SSH_AUTH_SOCK en lugar de archivos en el disco para las claves de host usando HostKeyAgent.

¿Podrías elaborar tus pensamientos sobre la ganancia de seguridad real en una configuración como esta? Para mí, lo más obvio es una clave física, siempre puedes estar seguro de que la clave no se copia en alguna parte y, si no has terminado el yubikey, puedes notar esto fácilmente.

    
pregunta Peter 23.10.2017 - 21:26
fuente

2 respuestas

0

Una clave de host almacenada en el hardware evitaría el robo de la clave y evitaría el uso múltiple de dicha clave.

Pero cuando los permisos están configurados correctamente, solo el usuario root tiene acceso a estos archivos de clave de host, esto significa que cualquiera que obtenga acceso a las claves ha obtenido (limitado) permisos de root.

¡Esto significa que tienes problemas más grandes que solo una clave de host robada! (¡Todo el sistema ahora es inseguro y comprometido!)

El vector de ataque restante es que robar la clave en reposo (por lo tanto, directamente desde el disco sin que la máquina arranque o directamente desde una copia de seguridad).

Si bien en tal caso los riesgos para los usuarios actuales son mínimos, todavía es una situación bastante mala. la copia de seguridad / disco (probablemente) contiene más datos interesantes que la clave de host. Para la copia de seguridad, debe NUNCA incluir las claves de host (o cualquier otra clave para esa materia) en una copia de seguridad sin protección contra robo (por ejemplo, cifrado).

Así que en mi opinión. Si desea mitigar el riesgo de una clave de host robada, puede usar una clave de hardware para ese propósito. Pero creo que sería más adecuado para un propósito diferente. (por ejemplo, utilícelo para cifrar el secreto maestro de un guardar de hashicorp y utilizarlo para almacenar sus otros secretos). para la clave Host en sí misma, limita el riesgo de que en una situación de seguridad en profundidad pueda ser posible. pero para los que hay mejores soluciones disponibles.

    
respondido por el LvB 27.10.2017 - 14:46
fuente
0

AFAIK, tu evaluación es bastante correcta. Su dispositivo físico migra el riesgo de que su clave sea robada del mundo virtual al físico. Por lo tanto, si su servidor se ve comprometido temporalmente, tiene un riesgo mínimo de que su clave haya sido robada. ¡Qué gran diferencia!

Sin embargo, generalmente no evita el abuso de su clave. Entonces, si alguien piratea su servidor, puede firmar cosas arbitrarias con su clave, tal como lo haría su anfitrión de SSH. Esto incluye ataques de texto sin formato elegidos, que le permiten al atacante adivinar su clave en menos tiempo. Por lo tanto, no protegería de manera eficiente un sistema comprometido permanentemente.

    
respondido por el Cryptjar 23.10.2017 - 23:33
fuente

Lea otras preguntas en las etiquetas