¿Por qué no solo sirvo https?
Las razones principales son el comportamiento predeterminado de los navegadores y compatibilidad con versiones anteriores .
Comportamiento predeterminado
Cuando un usuario final (es decir, sin conocimiento de los protocolos o la seguridad) escribe la dirección del sitio web en su navegador, el navegador utiliza HTTP por defecto. Consulte esta pregunta para obtener más información sobre por qué los navegadores eligen este comportamiento.
Por lo tanto, es probable que los usuarios no puedan acceder a su sitio web.
Compatibilidad con versiones anteriores
Es posible que algunos usuarios con sistemas antiguos y navegadores antiguos no sean compatibles con HTTPS o, más probablemente, no tengan una base de datos actualizada de certificados raíz , o no son compatibles con algunos protocolos.
En ese caso, no podrán acceder al sitio web o recibirán una advertencia de seguridad. Debe definir si la seguridad de sus usuarios finales es lo suficientemente importante como para forzar el HTTPS.
Muchos sitios web aún escuchan HTTP, pero redirigen automáticamente a HTTPS e ignoran a los usuarios con realmente navegadores antiguos.
¿alguien podría falsificar enlace si no configuro HSTS?
Si un atacante quiere falsificar http://www.example.com
, debe tomar el control del dominio o tomar el control de la dirección IP de alguna manera.
Supongo que quiso decir: ¿podría un atacante realizar un ataque de hombre en el medio?
En ese caso, sí, pero incluso con o sin HSTS:
Sin HSTS : un atacante puede estar fácilmente en medio de su servidor y el usuario, y estar activo (es decir, modificar el contenido) o pasivo (es decir, escuchar a escondidas)
Con HSTS : la primera vez que un usuario intenta visitar el sitio mediante HTTP, un atacante podría obligar al usuario a utilizar HTTP. Sin embargo, el atacante tiene una ventana de tiempo limitado de cuándo puede realizar su ataque.
¿Qué debes hacer?
Como muchos sitios web, debe permitir conexiones HTTP y hacer que su servidor redirija al usuario a la versión HTTPS. De esta manera, anula el comportamiento predeterminado de los navegadores y se asegura de que sus usuarios usen la versión HTTPS.
Los sistemas antiguos sin los protocolos o certificados raíz adecuados no podrán acceder al sitio (o al menos tendrán una advertencia), pero dependiendo de su base de usuarios, esto no debería ser un problema.
Conclusión
Hará más daño que beneficio si deshabilita HTTP. Realmente no proporciona más seguridad.
Cualquier seguridad agregada para proteger un recurso es inútil si impide que la mayoría de sus usuarios accedan a él. Si sus usuarios finales no pueden acceder a su sitio web porque su navegador está configurado de forma predeterminada a HTTP y no escucha las conexiones HTTP, ¿cuál es el beneficio?
Simplemente realice la redirección HTTP 301 a la versión HTTPS.
Preguntas relacionadas