Forzar a un usuario a HTTPS [cerrado]

3

Hace poco conseguí que mi servidor web fuera compatible con HTTPS utilizando el certbot de EFF

Actualmente, si navegas a DotNetRussell.com o www.DotNetRussell.com , el navegador usará HTTP de forma predeterminada.

¿Cómo obliga a un usuario a usar HTTPS?

Mi servidor es una Raspberry Pi que ejecuta la última distribución y una pila LAMP que se ha actualizado recientemente. La pila LAMP está ejecutando un sitio actualizado de wordpress.

    
pregunta Anthony Russell 22.09.2016 - 15:37
fuente

2 respuestas

2

La mayoría de los sitios web obligan a HTTPS al redireccionar todas las conexiones HTTP a su equivalente de HTTPS correspondiente mediante una respuesta HTTP 301 "Movido permanentemente". Esto redirige la conexión actual a HTTPS y todas las conexiones futuras, ya que su navegador recordará la respuesta 301 y actuará en consecuencia. Si está utilizando una pila LAMP, puede hacer este redireccionamiento utilizando las reglas de redireccionamiento de Apache.

Si está buscando cómo hacer esta redirección, revise esta respuesta en StackOverflow .

    
respondido por el Seth M. Larson 22.09.2016 - 15:46
fuente
8
  1. Debe configurar su servidor web, de modo que cualquier solicitud HTTP resulte en un Redireccionamiento HTTP 301 a la URL equivalente de HTTPS.

Sin embargo, esto todavía está sujeto a MITM. Por ejemplo, si un servidor SSL Strip puede interceptar las solicitudes HTTP, entonces podría hablar con su servidor en HTTPS, pero el usuario está utilizando HTTP inseguro en su extremo

  1. Para evitar SSL Strip o ataques MITM similares, debe implementar HSTS . De esta manera, si el usuario se conecta una vez a su sitio correctamente (ya sea con una conexión no controlada o con una URL HTTPS para su sitio), el navegador recordará automáticamente que todas las URL HTTP deben convertirse a HTTPS antes de intentar conectarse. su sitio.

    Nota: una vez que esto suceda, la única forma de que el navegador deje de usar HTTPS será borrar la memoria caché del navegador, así que no implemente HSTS si espera suspender el uso de HTTPS en este sitio.

No sé cómo lograr esto específicamente en su servidor web en particular. Estoy seguro de que la gente de Stack Overflow o Server Fault podría ayudarlo.

  1. Una vez implementado HSTS, lo ideal sería que obtenga su dominio HSTS precargado en los principales navegadores . De esta manera, incluso si un usuario nunca ha visitado su sitio antes, se beneficiará de HSTS, incluso si su visita primera es en un SSLStrip u otra red de personas malas.
respondido por el George Bailey 22.09.2016 - 15:50
fuente

Lea otras preguntas en las etiquetas