HSTS: hacer clic en los errores de certificado

7

Tenemos un sitio web www.example.com con un certificado para el dominio www.example.com, también tenemos HSTS habilitado. Los Laboratorios SSL de Qualys ( enlace ) confirmaron que HSTS se ha habilitado.

Me di cuenta de que si accede a enlace (que recibe el servicio del mismo servidor web), encontrará un error de certificado, que es Es de esperar, ya que no hay ningún certificado para test.example.com cargado en el servidor web. Sin embargo, me he dado cuenta de que puede hacer clic en los errores del certificado y, a continuación, se sirve el contenido web.

Para mí este es un comportamiento inesperado. Pensé que una de las ideas centrales de HSTS es que no se puede hacer clic en los errores de certificado. De Wikipedia: "Si no se puede garantizar la seguridad de la conexión (por ejemplo, el certificado TLS del servidor no es confiable), muestre un mensaje de error y no permita que el usuario acceda a la aplicación web".

Esto sucedió con Firefox 59.0.2 (32 bits) y Chrome (65.0.3325.146 (64 bits)).

Mi pregunta: ¿Por qué un navegador permitiría a un usuario hacer clic en los errores de certificado en un sitio web donde HSTS está habilitado?

    
pregunta Jakkals 17.04.2018 - 20:12
fuente

1 respuesta

15

Su navegador no aplica la política de HSTS de test.example.com porque no ha visto el encabezado antes del transporte seguro sin errores. Por lo tanto, todavía le permite "agregar una excepción".

  

El modelo de procesamiento de agente de usuario [...] estipula que un host se señala inicialmente como un      Host de HSTS conocido, o que las actualizaciones se realicen a un host de HSTS conocido      información almacenada en caché, solo si el UA recibe el campo de encabezado STS sobre      una conexión de transporte segura que no tiene un transporte seguro subyacente      errores o advertencias.

(De RFC 6796, enfatice el mío)

Ver el encabezado a través de HTTP simple o con advertencias de certificado no cuenta:

  

El navegador cuando se accede a su sitio mediante HTTP, se ignora el encabezado Strict-Transport-Security . esto se debe a que un atacante puede interceptar conexiones HTTP e inyectar el encabezado o eliminarlo. Cuando se accede a su sitio a través de HTTPS sin errores de certificado, el navegador sabe que su sitio es compatible con HTTPS y cumplirá con el encabezado Strict-Transport-Security .

(From MDN)

Además, tenga en cuenta que su directiva includeSubDomains de www.example.com no se aplica ya que test.example.com no es un subdominio directo (no coincide con *.www.example.com ).

    
respondido por el Arminius 17.04.2018 - 20:34
fuente

Lea otras preguntas en las etiquetas