¿Es posible reconocer y prevenir ataques MitM en dispositivos que usan certificados SSL autofirmados?

8

Uso Linux y Windows en el trabajo en una gran LAN empresarial. La mayoría de la configuración de la red está fuera de mi alcance.

Ciertas aplicaciones SaaS que están alojadas localmente en la LAN de la empresa, utilizan certificados SSL autofirmados. Estoy obligado a iniciar sesión en estos de forma regular.

¿Hay alguna forma segura de saber que los servidores en los que estoy iniciando sesión son los legítimos además del cambio obvio de identidad, suponiendo que es posible que un compañero de trabajo intente un ataque MitM?

    
pregunta synack 08.07.2013 - 00:44
fuente

1 respuesta

14

El punto del certificado del servidor es para que el cliente pueda asegurarse de que conoce la clave pública correcta y genuina del servidor. Los certificados firmados por una CA son una forma de lograrlo (con la suposición tácita de que confiamos en que la CA firme solo los certificados con la información correcta y no la falsifique). Un certificado autofirmado no puede transmitir dicha garantía.

Sin embargo, en algunos casos, puede reemplazar el modelo de certificado por confianza directa . Es decir, usted informa a su navegador web que para un certificado específico dado puede ser confiable. Firefox lo describe como una "excepción de seguridad". Esto no resuelve completamente el problema, pero al menos lo reduce al problema de asegurarse de una vez que está viendo el certificado de servidor correcto. Luego, su navegador recordará esa "excepción" y no lo molestará con advertencias de miedo, pero se se verá como un árbol de navidad borracho si alguien intenta darle otro certificado distinto y autofirmado. .

Para el registro inicial, cuando se conecte por primera vez al servidor, haga que su navegador muestre la "huella digital SHA-1" o "huella digital". La forma en que se nombra cambia con el navegador, pero se trata de un valor hash SHA-1 calculado sobre el certificado completo y expresado en 40 caracteres hexadecimales. Luego, llame al administrador del servidor deseado y pídale que escriba la huella digital del certificado de su : si coinciden, sabrá que su navegador está viendo el certificado correcto y puede registrarlo como local. excepción de seguridad conocida.

(El proceso descrito anteriormente es exactamente lo que se hace para SSH , y también funciona para SSL).

Cómo instalar una "excepción de seguridad" depende del navegador y del sistema operativo, y soy demasiado perezoso para buscar y describir todas las combinaciones posibles. Pero, al menos, tienes el concepto.

    
respondido por el Thomas Pornin 08.07.2013 - 00:57
fuente

Lea otras preguntas en las etiquetas