Explicar la seguridad de transporte estricta de HTTP

HTTP significa Protocolo de transferencia de hipertexto. Este protocolo se utiliza para la comunicación en las requests web. HTTPS , por otro lado, significa Protocolo de transferencia de hipertexto seguro. Si bien HTTP no se preocupa por cifrar los datos que se transmiten en las requests HTTP y, en general, es propenso a los ataques Man-In-The-Middle (MiTM). Un adversario en la red podría espiar una comunicación HTTP, lo que la haría menos segura. La mayoría de las comunicaciones web modernas se realizan a través del esquema HTTPS que cifra la carga útil.

Redirigir tráfico HTTP a HTTPS: teniendo en cuenta el beneficio obvio, la mayoría de los sitios web modernos obligan a los usuarios a comunicarse con él solo a través del protocolo HTTPS. Sin embargo, el cliente (el navegador del usuario) aún puede emitir requests HTTP sin usar HTTPS. El servidor web en el caso ideal querría notificar/redireccionar a los clientes para que usen HTTPS en lugar de HTTP al acceder a su dominio. Una forma de lograr esto es:

  1. El cliente intenta acceder a la versión HTTP del sitio. Por ejemplo, el usuario ingresa http://geeksforgeeks.org.
  2. Luego, el servidor redirige estas requests a una versión HTTPS más segura. En nuestro caso, de http://geeksforgeeks.org a https://geeksforgeeks.org.

Problema con este enfoque: esto puede sonar más seguro, pero en este enfoque, el servidor primero acepta una conexión HTTP y la redirige a una alternativa HTTPS. Como puede ver, la primera solicitud HTTP puede ser escuchada sin importar dónde lleguen otras requests. Dado que esto es propenso a ser interceptado, el adversario en la red puede incluso alterar este redireccionamiento a un sitio malicioso en lugar de una versión segura del sitio original al que el cliente intenta acceder.

HSTS: HTTP Strict-Transport-Security: para resolver este problema, se puede usar HSTS. HSTS significa HTTP Strict-Transport-Security. HSTS informa a los navegadores que se debe acceder estrictamente al sitio solo a través del esquema HTTPS y que cualquier llamada posterior realizada al servidor se debe convertir automáticamente en su alternativa segura en HTTPS. Los servidores web a menudo indican esta información de metadatos a través de un encabezado de respuesta.

Sintaxis: la sintaxis de este encabezado de respuesta es:

Strict-Transport-Security:max-age=[Time]

Los servidores web indican aquí el tiempo hasta el cual el navegador debe recordar esta decisión de forzar que todas las requests web al servidor se realicen solo a través de HTTPS. Es bastante común que la información se establezca en unos pocos años en este encabezado de respuesta.

Parámetros opcionales: este encabezado admite algunos parámetros/atributos opcionales. Están precargados e incluyen subdominios.

  • includeSubDomains: este atributo, si está habilitado en un encabezado de respuesta de Strict-Transport-Security, indica que esta política HSTS también debe aplicarse a los subdominios del servidor. Por ejemplo, si HSTS está habilitado en http://geeksforgeeks.org e includeSubDomains también está configurado como se muestra a continuación,
Strict-Transport-Security:max-age=[Time]; includeSubDomains

Entonces el navegador recuerda que esto es aplicable a todos los subdominios de geeksforgeeks.org. Entonces, por ejemplo, si el agente de usuario intenta acceder a http://auth.geeksforgeeks.org aunque sea un subdominio obedecería esta política y sería transferido a un HTTPS más seguro.

  • precarga: Hay; una lista de dominios precargados por el servicio de precarga HSTS. Una vez que envíe su dominio a esta lista de servicios de precarga, el esquema HTTP del navegador nunca accederá a su dominio. Esto todavía no es parte de la especificación oficial, aunque algunos navegadores lo siguen.

Compatibilidad del navegador: Afortunadamente, todos los navegadores modernos en la web y los dispositivos móviles actualmente admiten encabezados HSTS y siguen este enfoque. También se espera que la precarga se convierta en un estándar en el futuro.

Publicación traducida automáticamente

Artículo escrito por sub154 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *