¿Cómo se maneja el HSTS en los subdominios?

4

Recientemente he auditado un sitio web con tres hosts: el sitio principal ( example.com ) y dos subdominios (llamémoslos portal.example.com , y < em> welcome.example.com ).

De acuerdo con los encabezados de respuesta, HSTS está configurado correctamente para cada host:

strict-transport-security: max-age=2592000; includeSubDomains

Al cargar los hosts en Burp, no pude crear una excepción de seguridad en Firefox para aceptar el certificado SSL autofirmado de Burp para representar el tráfico HTTPS (como se esperaba). Sin embargo, ambos subdominios me permiten crear una excepción de seguridad en Firefox sin problemas. Además, esto me permitió omitir el HSTS en el sitio principal, ya que una vez que se creó una excepción de seguridad para cualquiera de los subdominios, pude representar el tráfico HTTPS para example.com sin problemas.

¿Qué me estoy perdiendo? Pensé que HSTS prohibiría esta actividad, especialmente si se establece en includeSubDomains .

    
pregunta user83426 06.11.2015 - 17:36
fuente

2 respuestas

5

P: ¿Por qué HSTS me permitió anular?
A: HSTS es un mecanismo TOFU (Trust-on-first-use). Y eso significa: si eres interceptado la primera vez, estás jodido. Y como (como señaló Austin) el encabezado includeSubDomains es incorrecto en el dominio principal, su agente de usuario no sabía nada acerca de los subdominios. Y la configuración de TLS está en una capa más baja que el encabezado HTTP. Por lo tanto, el navegador solo recibió información sobre el orden del servidor ¡No es un negocio divertido con errores de certificado de anulación! después de que ya lo haya hecho.

  

Pensé que HSTS prohibiría esta actividad

No. Una vez que haya aceptado una CA mala como confiable (y Firefox hace excepciones de manera diferente, pero creo que esto es lo que significa) todas las apuestas están desactivadas.

P: ¿Será inmune un certificado de HPKP?
R: No. Firefox BORRARÁ de forma predeterminada un pin / no impondrá el pin si es anulado por una CA no estándar instalada localmente. (Esto es para permitir la inspección de SSL). (Pero puede configurar manualmente Firefox para que nunca rompa pines cambiando la configuración de 1 a 2 .)

    
respondido por el StackzOfZtuff 07.11.2015 - 15:12
fuente
7

Con HSTS, el navegador convertirá automáticamente los enlaces HTTP a enlaces HTTPS. Sin embargo, para evitar errores y abusos, los navegadores solo aceptarán el encabezado HSTS en una página segura.

En lo que respecta a su caso, HSTS no permitirá a los usuarios aceptar manualmente una firma autofirmada. certificado una vez que se haya habilitado HSTS (que solo se puede hacer desde una página segura). Eso explica por qué example.com no le permite aceptar el certificado no válido.

Además, sospecho que los subdominios no están protegidos adecuadamente porque el encabezado dice include SubDomains en lugar de includeSubDomains (como se define en la especificación ).

En una nota relacionada, HPKP puede proporcionar protección adicional contra certificados maliciosos.

    
respondido por el Austin Hartzheim 06.11.2015 - 19:33
fuente

Lea otras preguntas en las etiquetas