¿Cómo forzar al cliente de openssh a requerir tanto el certificado SSH como el registro SSHFP?

1

Autenticación segura de los hosts de SSH

He utilizado con éxito tanto OpenSSH Certificates como SSHFP para autenticar los hosts cuando se conecta a servidores utilizando SSH. Pero no consigo encontrar una manera de requerir la combinación de estos. ¿Hay alguna manera de decirle al cliente OpenSSH que requiera ambos?

Entiendo que esto puede parecer excesivo, pero si crees que este es el caso, puedes tratarlo como un ejercicio puramente académico.

    
pregunta Peter 08.07.2017 - 22:18
fuente

1 respuesta

3

Esto no es realmente una respuesta porque no tengo idea de cómo hacer que el cliente CLI openssh haga eso, a menos que modifique el código c.

Académicamente, es una pregunta interesante si realmente ganas algo al mezclar modelos de protección como esos; ambos son métodos para autenticar que de hecho estás hablando con el servidor que crees que eres.

las huellas digitales ssh dicen "No tengo idea de con qué servidor estoy hablando, pero es el mismo servidor que la última vez". Supuesto de seguridad: estaba hablando con el servidor correcto la primera vez.

Mientras que los certificados dicen "Según la CA, estoy hablando con server.domain.com ". Asunción de seguridad: la AC es honesta.

Dividamos esto en casos para ver si ganas algo combinándolos:

Caso 1: Confía en la huella digital. Tal vez, por ejemplo, llamaste al administrador y te leyeron la huella dactilar por teléfono. Genial, tiene plena confianza en la identidad del servidor usando solo la huella digital, el certificado no le otorga nada.

Caso 2: Confía en la CA. Son honestos y no emitirían un certificado para server.domain.com a nadie excepto al propietario legítimo. Genial, tiene plena confianza en la identidad del servidor solo con el certificado, la huella digital no le gana nada.

Caso 3: Confía en la CA y en la huella digital. Elija uno, ya sea que sea impermeable al agua por sí mismo.

Caso 4: no confía en la huella digital ni en la CA. La primera vez que se conectó, se le mostró un certificado de una CA en la que no confía y una huella dactilar que no tiene forma de verificar fuera de banda. Bueno, realmente no puedes autenticar este servidor, ¿verdad?

En general, los certificados de una CA de confianza pública son un método de autenticación más sólido que las huellas dactilares, a menos que esté verificando huellas dactilares fuera de banda, en cuyo caso los certificados no obtendrán nada.

Supongo que hay un Caso 5: la CA era confiable en el momento de su primera conexión al servidor, pero la CA comenzó a comportarse mal más tarde. Eso es básicamente equivalente a no confiar en la CA en absoluto, porque si usted asume que podrían comprometerse en el futuro (sin anuncios públicos), ¿qué prueba tiene de que no están comprometidas? Confiar en los CA tiene que ser algo de todo o nada. Voy a argumentar que si borras las huellas dactilares fuera de banda, esto se reduce al Caso 1, y si no lo haces, se reduce al Caso 4. Todavía no se gana nada al combinar métodos.

    
respondido por el Mike Ounsworth 09.07.2017 - 01:00
fuente

Lea otras preguntas en las etiquetas