¿Qué es HSTS y cómo protege HTTPS de los hackers?
Anuncio
Es posible que se haya asegurado de que sus sitios web tengan SSL habilitado y que el bonito candado de seguridad de su navegador sea verde. Sin embargo, es posible que se haya olvidado del pequeño hombre de seguridad de HTTP, HTTP Strict Transport Security (HSTS).
¿Qué es HSTS y cómo puede ayudar a mantener su sitio seguro?
¿Qué es HTTPS?
Hyper Text Transfer Protocol Secure (HTTPS) es una versión segura de un sitio web (HTTP). El cifrado se habilita utilizando el protocolo Secure Sockets Layer (SSL) y se valida con un certificado SSL. Cuando se conecta a un sitio web HTTPS, la información transferida entre el sitio web y el usuario se cifra.
Este cifrado lo protege contra el robo de datos a través de Man-in-the-Middle-Attacks (MITM). La capa adicional de seguridad también ayuda un poco a mejorar la reputación de su sitio web Desmitificar SEO: 5 guías de optimización de motores de búsqueda que lo ayudan a comenzar Desmitificar SEO: 5 guías de optimización de motores de búsqueda que lo ayudan a comenzar El dominio de los motores de búsqueda requiere conocimiento, experiencia y muchas pruebas y error Puede comenzar a aprender los fundamentos y evitar errores comunes de SEO fácilmente con la ayuda de muchas guías de SEO disponibles en la Web. Lee mas . De hecho, agregar un certificado SSL es tan fácil que muchos servidores web lo agregarán a su sitio de forma predeterminada, ¡gratis! Dicho esto, HTTPS todavía tiene algunos defectos que HSTS puede ayudar a solucionar.
¿Qué es el HSTS?
HSTS es un encabezado de respuesta que informa a un navegador que solo se puede acceder a los sitios web habilitados a través de HTTPS. Esto obliga a su navegador a solo poder acceder a la versión HTTPS del sitio web y a los recursos que contiene.
Es posible que no sepa que, aunque haya configurado su certificado SSL correctamente y haya habilitado HTTPS para su sitio web, la versión HTTP todavía está disponible. Esto es cierto incluso si ha configurado el reenvío utilizando la redirección permanente 301.
Aunque la política de HSTS ha estado vigente por un tiempo, Google la implementó formalmente en julio de 2016. Es por eso que aún no ha oído hablar de ella.
Habilitar HSTS detendrá los ataques del protocolo SSL y el secuestro de cookies. ¿Qué es una cookie y qué tiene que ver con mi privacidad? [MakeUseOf explica] ¿Qué es una cookie y qué tiene que ver con mi privacidad? [Explica MakeUseOf] La mayoría de la gente sabe que hay cookies dispersas por todo Internet, listas y dispuestas a ser devoradas por quien las encuentre primero. ¿Esperar lo? Eso no puede estar bien. Sí, hay cookies ... Leer más dos vulnerabilidades adicionales en sitios web habilitados para SSL. Además de hacer que un sitio web sea más seguro, HSTS hará que los sitios se carguen más rápido al eliminar un paso en el procedimiento de carga.
¿Qué es el SSL Stripping?
Aunque HTTPS es una gran mejora de HTTP, no es invulnerable a ser pirateado. La eliminación de SSL es un hack de MITM muy común para sitios web que utiliza la redirección para enviar a los usuarios desde un HTTP a la versión HTTPS de su sitio web.
La redirección 301 (permanente) y 302 (temporal) básicamente funciona así:
- Un usuario escribe google.com en la barra de direcciones de su navegador.
- El navegador inicialmente intenta cargar http://google.com como predeterminado.
- "Google.com" está configurado con una redirección permanente 301 a https://google.com .
- El navegador ve la redirección y carga https://google.com en su lugar.
Con la eliminación de SSL, el hacker puede usar el tiempo entre el paso 3 y el paso 4 para bloquear la solicitud de redireccionamiento y evitar que el navegador cargue la versión segura (HTTPS) del sitio web. Como está accediendo a una versión sin encriptar del sitio web, cualquier información que ingrese puede ser robada.
El hacker también puede redirigirlo a una copia del sitio web al que está intentando acceder y capturar todos sus datos a medida que ingresa, incluso si parece seguro.
Google ha implementado pasos en Chrome para detener algunos tipos de redireccionamiento. Sin embargo, habilitar HSTS debería ser algo que haga de manera predeterminada para todos sus sitios web a partir de ahora.
¿Cómo la habilitación de HSTS detiene la eliminación de SSL?
Habilitar HSTS obliga al navegador a cargar la versión segura de un sitio web e ignora cualquier redirección y cualquier otra llamada para abrir una conexión HTTP. Esto cierra la vulnerabilidad de redirección que existe con una redirección 301 y 302.
Hay un lado negativo incluso para HSTS, y es que el navegador de un usuario tiene que ver el encabezado HSTS al menos una vez antes de que pueda aprovecharlo para futuras visitas. Esto significa que tendrán que pasar por el proceso HTTP> HTTPS al menos una vez, dejándolos vulnerables la primera vez que visiten un sitio web habilitado para HSTS.
Para combatir esto, Chrome precarga una lista de sitios web que tienen HSTS habilitado. Los usuarios pueden enviar sitios web habilitados para HSTS a la lista de precarga ellos mismos si cumplen con los criterios requeridos (simples).
Los sitios web agregados a esta lista se codificarán en futuras versiones de actualizaciones de Chrome. Se asegura de que todos los que visiten sus sitios web habilitados para HSTS en versiones actualizadas de Chrome se mantengan seguros.
Firefox, Opera, Safari e Internet Explorer tienen su propia lista de precarga de HSTS, pero se basan en la lista de Chrome en hstspreload.org.
Cómo habilitar HSTS en su sitio web
Para habilitar HSTS en su sitio web, primero debe tener un certificado SSL válido 7 razones por las que su sitio necesita un certificado SSL 7 razones por las que su sitio necesita un certificado SSL No importa si está desarrollando un blog modesto o un comercio electrónico completo sitio: necesita un certificado SSL. Aquí hay algunas razones prácticas por qué. Lee mas . Si habilita HSTS sin uno, su sitio no estará disponible para ningún visitante, así que asegúrese de que su sitio web y cualquier subdominio estén funcionando a través de HTTPS antes de continuar.
Habilitar HSTS es bastante fácil. Simplemente necesita agregar un encabezado al archivo .htaccess en su sitio. El encabezado que necesita agregar es:
Strict-Transport-Security: max-age=31536000; includeSubDomains
Esto agrega una cookie de acceso de edad máxima de un año (¿qué es una cookie? Las cookies no son todas malas: 6 razones para dejarlas habilitadas en su navegador Las cookies no son todas malas: 6 razones para dejarlas habilitadas en su navegador ¿Son las cookies realmente ¿Está tan mal? ¿Están poniendo en riesgo su seguridad y privacidad, o hay buenas razones para habilitar las cookies? Leer más), que incluye su sitio web y cualquier subdominio. Una vez que un navegador ha accedido al sitio web, no podrá acceder a la versión HTTP no segura del sitio web durante un año. Asegúrese de que todos los subdominios de este dominio estén incluidos en el certificado SSL y tengan HTTPS habilitado. Si olvida esto, los subdominios no serán accesibles después de guardar el archivo .htaccess.
Los sitios web a los que les falta la opción includeSubDomains pueden exponer a los visitantes a fugas de privacidad al permitir que los subdominios manipulen las cookies. Con includeSubDomains habilitado, estos ataques relacionados con cookies no serán posibles.
Nota: Antes de agregar la edad máxima de un año, primero pruebe todo su sitio web con una edad máxima de cinco minutos usando: max-age = 300;
Google incluso recomienda que pruebe su sitio web y su rendimiento (tráfico) con un valor de una semana y un mes también antes de implementar una edad máxima de dos años.
Five minutes: Strict-Transport-Security: max-age=300; includeSubDomains One week: Strict-Transport-Security: max-age=604800; includeSubDomains One month: Strict-Transport-Security: max-age=2592000; includeSubDomains
Hacer la lista de precarga de HSTS
A estas alturas ya debería estar familiarizado con HSTS y por qué es importante que su sitio lo use. Mantener a los visitantes de su sitio web seguros en línea debería ser un elemento clave de su plan de sitio.
Para ser elegible para la lista de precarga de HSTS que usan Chrome y otros navegadores, su sitio web debe cumplir con los siguientes requisitos:
- Servir un certificado SSL válido.
- Redireccionar de HTTP a HTTPS en el mismo host, si está escuchando en el puerto 80.
- Servir todos los subdominios a través de HTTPS. En particular, debe admitir HTTPS para el subdominio www.subdomain si existe un registro DNS para ese subdominio.
- Servir un encabezado HSTS en el dominio base para solicitudes HTTPS:
- La edad máxima debe ser de al menos 31536000 segundos (1 año).
- Se debe especificar la directiva includeSubDomains.
- Se debe especificar la directiva de precarga.
- Si está sirviendo una redirección adicional desde su sitio HTTPS, esa redirección aún debe tener el encabezado HSTS (en lugar de la página a la que redirige).
Si desea agregar su sitio web a la lista de precarga de HSTS, asegúrese de agregar la etiqueta de precarga requerida. La opción "precargar" significa que desea que su sitio web se agregue a la lista de precarga HSTS de Chrome. El encabezado de respuesta en .htaccess debería verse así:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
Recomendamos que agregue su sitio web a hstspreload.org. Los requisitos son bastante fáciles de cumplir, y ayudará a proteger a los visitantes de su sitio web, y potencialmente mejorará la clasificación del motor de búsqueda de su sitio web ¿Cómo funcionan los motores de búsqueda? ¿Cómo funcionan los motores de búsqueda? Para muchas personas, Google ES internet. Podría decirse que es el invento más importante desde Internet. Y aunque los motores de búsqueda han cambiado mucho desde entonces, los principios subyacentes siguen siendo los mismos. Lee mas .
Explore más sobre: HSTS, HTTPS, seguridad en línea, SSL.