los Strict-Transport-Security encabezado de respuesta (a menudo abreviado como HSTS) permite que un sitio web indique a los navegadores que solo se debe acceder a él mediante HTTPS, en lugar de HTTP.

Tipo de encabezado Encabezado de respuesta
Nombre de encabezado prohibido no

Sintaxis

Strict-Transport-Security: max-age=<expire-time>
Strict-Transport-Security: max-age=<expire-time>; includeSubDomains
Strict-Transport-Security: max-age=<expire-time>; preload

Directivas

max-age=<expire-time>
El tiempo, en segundos, que el navegador debe recordar que solo se puede acceder a un sitio mediante HTTPS.
includeSubDomains Opcional
Si se especifica este parámetro opcional, esta regla también se aplica a todos los subdominios del sitio.
preload Opcional
Consulte Precarga de seguridad de transporte estricta para obtener más detalles. No forma parte de la especificación.

Descripción

Si un sitio web acepta una conexión a través de HTTP y redirige a HTTPS, los visitantes pueden comunicarse inicialmente con la versión no cifrada del sitio antes de ser redirigidos, si, por ejemplo, el visitante escribe http://www.foo.com/ o incluso solo foo.com. Esto crea una oportunidad para un ataque de intermediario. La redirección podría aprovecharse para dirigir a los visitantes a un sitio malicioso en lugar de a la versión segura del sitio original.

El encabezado HTTP Strict Transport Security informa al navegador que nunca debe cargar un sitio usando HTTP y debe convertir automáticamente todos los intentos de acceder al sitio usando HTTP a solicitudes HTTPS.

Nota: los Strict-Transport-Security el encabezado es ignorado por el navegador cuando se accede a su sitio mediante HTTP; 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 respetará las Strict-Transport-Security encabezamiento.

Un escenario de ejemplo

Inicia sesión en un punto de acceso WiFi gratuito en un aeropuerto y comienza a navegar por la web, visitando su servicio de banca en línea para verificar su saldo y pagar un par de facturas. Desafortunadamente, el punto de acceso que está utilizando es en realidad la computadora portátil de un pirata informático, y están interceptando su solicitud HTTP original y lo redireccionan a un clon del sitio de su banco en lugar del sitio real. Ahora sus datos privados están expuestos al pirata informático.

La estricta seguridad en el transporte resuelve este problema; Siempre que haya accedido al sitio web de su banco una vez usando HTTPS, y el sitio web del banco use Strict Transport Security, su navegador sabrá que usa automáticamente solo HTTPS, lo que evita que los piratas informáticos realicen este tipo de intermediarios. ataque.

Cómo lo maneja el navegador

La primera vez que se accede a su sitio mediante HTTPS y devuelve el Strict-Transport-Security encabezado, el navegador registra esta información, de modo que los intentos futuros de cargar el sitio usando HTTP usarán automáticamente HTTPS en su lugar.

Cuando transcurre el tiempo de vencimiento especificado por el encabezado Strict-Transport-Security, el próximo intento de cargar el sitio a través de HTTP procederá normalmente en lugar de usar HTTPS automáticamente.

Siempre que el encabezado Strict-Transport-Security se envíe al navegador, actualizará el tiempo de vencimiento de ese sitio, de modo que los sitios puedan actualizar esta información y evitar que expire el tiempo de espera. Si fuera necesario deshabilitar la seguridad de transporte estricta, establecer la edad máxima en 0 (a través de una conexión https) caducará inmediatamente el Strict-Transport-Security encabezado, que permite el acceso a través de http.

Precarga de seguridad de transporte estricta

Google mantiene un servicio de precarga HSTS. Si sigue las pautas y envía correctamente su dominio, los navegadores nunca se conectarán a su dominio mediante una conexión insegura. Si bien el servicio está alojado en Google, todos los navegadores han declarado la intención de usar (o realmente comenzaron a usar) la lista de precarga. Sin embargo, no forma parte de la especificación HSTS y no debe tratarse como oficial.

Ejemplos de

Todos los subdominios presentes y futuros serán HTTPS por una edad máxima de 1 año. Esto bloquea el acceso a páginas o subdominios que solo se pueden servir a través de HTTP.

Strict-Transport-Security: max-age=31536000; includeSubDomains

En el siguiente ejemplo, max-age se establece en 2 años, elevado de lo que era un límite anterior max-age de 1 año. Tenga en cuenta que 1 año es aceptable para que un dominio se incluya en las listas de precarga HSTS de los navegadores. Sin embargo, 2 años es el objetivo recomendado como configuración final de HSTS de un sitio web, como se explica en https://hstspreload.org. También tiene el sufijo preload que es necesario para su inclusión en la mayoría de las listas de precarga HSTS de los principales navegadores web, por ejemplo, Chromium, Edge y Firefox.

Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

Especificaciones

Especificación Estado Comentario
Seguridad de transporte estricta HTTP (HSTS) IETF RFC Definición inicial

Compatibilidad del navegadorActualizar datos de compatibilidad en GitHub

Escritorio
Cromo Borde Firefox explorador de Internet Ópera Safari
Strict-Transport-Security 4 12 4 11 12 7
Móvil
Vista web de Android Chrome para Android Firefox para Android Opera para Android Safari en iOS Internet de Samsung
Strict-Transport-Security 4.4 18 ? 7

Ver también

© 2005–2020 Mozilla y colaboradores individuales.
Con licencia de Creative Commons Attribution-ShareAlike License v2.5 o posterior.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security