Enlace de una página Http a una página Https, ¿es un problema de seguridad?

4

Tengo un sitio que en su mayoría no es nada que deba ser protegido. Sin embargo, hay una pequeña parte del sitio que es solo para usuarios registrados.

Así que mi sitio habitual es Http & el sitio de usuarios registrados es a través de Https.

En mi sitio Http regular: tengo un enlace a la página de inicio de sesión https para aquellos usuarios que necesitan acceder a ese contenido.

Me preguntaba si esto es un problema de seguridad, es decir, ¿tiene un enlace desde una página HTTP a una página HTTPS?

El único ataque que se me ocurre es si hay algún tipo de hombre en el ataque central donde alguien modifica mi enlace para que apunte a un sitio falso con una URL que se parece a la mía.

¿Es esto una preocupación? ¿Cómo puedo mitigarlo? ¿Es la única forma de convertir mi sitio normal también en https?

EDITAR: Mi pregunta no es un duplicado de la otra pregunta; la otra pregunta se refiere al cambio al inicio de sesión de http. Mi pregunta es totalmente diferente: se trata de 2 partes diferentes del mismo sitio: una que necesita iniciar sesión y otra que es de acceso público. Estoy preguntando si está bien mantener la primera parte https (tanto para el inicio de sesión como para el inicio de sesión posterior) y para mantener la otra parte http.

    
pregunta user93353 18.08.2016 - 11:12
fuente

3 respuestas

5

Sí, es inseguro.

La forma más fácil de atacar es sslstrip, una herramienta que hace un MitM y reemplaza automáticamente los enlaces https por los http.

La única forma segura de hacerlo correctamente es tener https en todo el sitio web y activar HSTS.

Tenga en cuenta que incluso para sus usuarios no registrados, https es útil, por ejemplo, para evitar que terceros (como ISP) inserten anuncios en sus sitios web sin su consentimiento.

    
respondido por el Tom 18.08.2016 - 11:29
fuente
2

La principal amenaza es un ataque Man-In-The-Middle aquí.

Cualquier usuario que navegue desde http://example.com a https://example.com/secure/login podría ser sslstrip 'd o podría ser redirigido a un phishing dominio - https://example.org .

Esto también significa que no se puede usar HSTS para mitigar sslstrip. HSTS se asegurará de que una vez que un navegador se haya conectado a través de HTTPS, nunca pueda hacer una conexión HTTP simple a ese dominio hasta que la política expire. Tenga en cuenta que por "ese dominio" me refiero a su dominio real, o un dominio controlado por MITM que pretende ser la versión HTTP simple de su sitio.

Si su contenido seguro se encuentra en el mismo dominio que su contenido inseguro, esto significa que incluso si está configurando la marca de seguridad en todas las cookies confidenciales, las cookies aún podrían estar envenenadas por un MITM. Por ejemplo, en un ataque de fijación de sesión, un ataque en CSRF envía doble el control de las cookies o en el caso de que esté utilizando una cookie para mostrar contenido sin formato en la página, podría ser posible un ataque XSS. Esto se debe a que una cookie configurada en http://example.com y https://example.com tendrá el mismo aspecto que el servidor, ya que no se envía el indicador de seguridad en cada solicitud HTTP para que el servidor las diferencie.

Recomendaría usar HTTPS en todo el sitio e implementar una política HSTS con precarga.

    
respondido por el SilverlightFox 19.08.2016 - 11:41
fuente
0

Como su sitio puede consultarse en modo http, asumo que no contiene contenido altamente sensible. La elección de HTTP frente a HTTPS es una cuestión de intercambio de seguridad por rendimiento:

  • todo lo que se puede hacer en HTTP se puede hacer en HTTPS y usted obtiene una mayor seguridad
  • HTTPS consume más recursos

Como regla general, use HTTPS si puede ofrecer suficientes recursos y HTTP si el valor de los datos es bajo.

Es admisible mezclar HTTP para páginas normales y HTTPS para páginas confidenciales, como el intercambio de credenciales proporcionado:

  • el servidor rechazará cualquier solicitud HTTP a una página segura = > Si una página que contiene enlaces HTTPS se vuelve a escribir con enlaces HTTP, obtendrá un redireccionamiento a la página HTTPS o un error
  • la seguridad general del sitio es a nivel HTTP
  • confía en sus usuarios para controlar que las páginas confidenciales provengan de su sitio

Lo que debe tener en cuenta es que tan pronto como la sesión utiliza una cookie insegura (modo HTTP) no debe confiar en esa sesión para acceder a información confidencial.

Esto es correcto: consulta HTTP = > enlace a HTTPS para iniciar sesión = > nueva sesión después de iniciar sesión = > Consulta HTTP: la seguridad general es baja-media porque la cookie de sesión es insegura y usted solo protege las credenciales

Pero esto es malo: inicio de sesión HTTPS = > Consulta HTTP de páginas no sensibles = > Consulta HTTPS / modificación de datos sensibles

porque aquí el nivel de seguridad de la sesión se ha reducido a HTTP y todavía se usa para operaciones confidenciales.

El mínimo debe ser:

... = > Operaciones HTTP = > Control de credenciales HTTPS o de una cookie segura = > nueva sesión = > Operaciones HTTPS ...

El mayor riesgo aquí es que debe informar a sus usuarios que la página de inicio de sesión es especial y que deben controlar que el pequeño candado está presente y la url está en el dominio correcto. El riesgo está aquí:

  • un atacante logró obtener una copia de su página de inicio de sesión
  • puede enviar a uno de tus usuarios a una página que controla
  • el usuario escribe sus credenciales

= > el atacante ha obtenido todos los accesos permitidos al usuario

TL / DR: tener solo una parte del sitio (incluida la página de inicio de sesión) en HTTPS solo es aceptable si:

  • la página de inicio de sesión solo está accesible en HTTPS y crea una nueva sesión
  • cualquier transición de HTTP a HTTPS requiere un control de credenciales (o de una cookie segura especial)
  • todos sus usuarios controlan que la URL de la página de inicio de sesión es correcta antes de ingresar sus credenciales
respondido por el Serge Ballesta 19.08.2016 - 14:17
fuente

Lea otras preguntas en las etiquetas