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.
- Información sobre la lista de precarga de HSTS en Chrome: https://www.chromium.org/hsts
- Consulta de la lista de precarga de Firefox HSTS: nsSTSPreloadList.inc
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 | sí | ? | 7 | sí |
Ver también
- Entrada en el blog: ¡La seguridad de transporte estricta HTTP ha aterrizado!
- Entrada en el blog: Seguridad de transporte estricta HTTP (forzar HTTPS)
- Artículo de OWASP: Seguridad de transporte estricta HTTP
- Wikipedia: Seguridad de transporte estricta HTTP
- Sitio de prueba del navegador: Prueba HSTS y HPKP
- Funciones restringidas a contextos seguros
© 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