Introducción al HSTS
HSTS significa HTTP Strict-Transport-Security, que es un mecanismo de política de seguridad web. HSTS se incluyó por primera vez en el ThoughtWorks Technology Radar en 2015, y en el último número del Technology Radar en 2016, pasó directamente de la fase de "Prueba" a la fase de "Adopción", lo que significa que ThoughtWorks defiende firmemente la adopción activa de esta medida de defensa de seguridad por parte de la industria, y ThoughtWorks la ha aplicado a sus propios proyectos. El núcleo de HSTS es un encabezado de respuesta HTTP. Es la que informa al navegador de que el nombre de dominio actual solo será accesible vía HTTPS durante el siguiente periodo de tiempo, y si el navegador detecta que la conexión actual no es segura, denegará forzosamente las solicitudes de acceso posteriores del usuario.
Un sitio web con una política HSTS asegurará que el navegador esté siempre conectado a la versión cifrada HTTPS del sitio, eliminando la necesidad de que los usuarios introduzcan manualmente la dirección cifrada en la barra de direcciones de URL, reduciendo así el riesgo de secuestro de sesión.
HTTPS (SSL y TLS) garantiza que los usuarios y los sitios web se comuniquen de forma segura, dificultando que los atacantes intercepten, modifiquen e imiten. Cuando un usuarioIntroduce manualmente un nombre de dominio o http:// enlace, del sitio webLa primera petición no está cifrada, usando http simple. Sin embargo, los sitios web más seguros envían inmediatamente una redirección que dirige al usuario a una conexión https,Un atacante man-in-the-middle puede atacar para interceptar la solicitud HTTP inicial y así controlar la respuesta posterior del usuario。
Principios HSTS
HSTS controla principalmente las operaciones del navegador enviando encabezados de respuesta desde el servidor: Cuando un cliente realiza una solicitud por HTTPS, el servidor incluye el campo Strict-Transport-Security en la cabecera de respuesta HTTP que devuelve. Después de que el navegador reciba dicha información,Cualquier solicitud al sitio dentro de un determinado periodo de tiempo se inicia en HTTPSsin ser redirigido a HTTPS por el servidor iniciado por HTTP.
Formato de cabecera de respuesta HSTS
Descripción del parámetro:
max-age (en segundos): Se utiliza para indicar al navegador que el sitio web debe ser accedido mediante el protocolo HTTPS dentro de un periodo de tiempo especificado. Es decir, para la dirección HTTP de este sitio web, el navegador debe reemplazarla localmente por HTTPS antes de enviar la solicitud. includeSubDomains (opcional): Si este parámetro está especificado, indica que todos los subdominios del sitio también deben ser accedidos mediante el protocolo HTTPS. preload: Una lista de nombres de dominio que usan HTTPS integrado en el navegador.
Lista de precarga HSTS
Aunque HSTS es una buena solución para ataques de degradación de HTTPS, para HSTSLa primera petición HTTP antes de que entre en vigor, todavíaNo se puede evitarSecuestrado。 Para resolver este problema, los fabricantes de navegadores han propuesto la solución HSTS Preload List. (omitido)
Configuración del IIS
Antes de la configuración, visita la página web que se muestra a continuación:
Para implementar esto en IIS7+, simplemente añade el requisito CustomHeader para HSTS en web.config, que se configura de la siguiente manera:
Tras la modificación, vuelve a visitar la página web, como se muestra a continuación:
Configuración Nginx
Si el sitio web utiliza nginx reverse proxy, también puedes configurar nginx directamente para implementarlo, de la siguiente manera:
Reglas de vista de Chrome
Para ver las normas actuales del HSTS, usa Google Chrome Chrome para escribirchrome://net-internals/#hstsEntra en el coche, como se muestra en la figura de abajo:
referencia
Seguridad estricta de transporte en HTTP:El inicio de sesión del hipervínculo es visible.
(Fin)
|