Pregunta Los inicios de sesión deben ser una página https


Varios expertos en seguridad han dicho en el pasado que la página de inicio de sesión debe estar en ssl https. Entonces, ¿qué ocurre si mi inicio de sesión es un bloque que se muestra en todas las páginas? ¿Eso significa que mi sitio web completo debe ser https?

Leí que es posible poner el formulario en http pero publicarlo en https, pero leí a alguien diciendo que puede ser explotado con un hombre en el ataque medio. Puede alguien confirmar esto? Tengo una recompensa de 100 puntos para alguien que pueda confirmar esto (y me ayude con una respuesta práctica sobre cómo resolver esto de manera segura). Mi formulario de inicio de sesión está en cada página, ¿necesito hacer todo el sitio web en https? Por favor, siéntete libre de preguntar cualquier cosa que haya dicho aquí. Son solo cosas que leo pero no tengo experiencia y no las probé yo mismo.

Editar: a los que preguntaron, cuando estaba publicando la pregunta, intenté establecer la recompensa pero el sistema no me lo permitió. Revisé las Preguntas frecuentes y vi que la recompensa se puede publicar después de 2 días desde la publicación de la pregunta. Es por eso que aún no ves recompensas. Pero no seleccionaré una respuesta hasta que establezca una recompensa en 2 días. Perdón por cualquier confusión.


32
2017-11-29 23:37


origen


Respuestas:


Leí que es posible poner el formulario en http pero publicarlo en https, pero leí a alguien diciendo que puede ser explotado con un hombre en el ataque medio. Puede alguien confirmar esto?

Sí. El formulario se sirve a través de HTTP, por lo que un hombre en el medio podría inyectarle cambios (por ejemplo, envía credenciales a su propio servidor antes de enviar el formulario).

una respuesta práctica de cómo resolver de forma segura esto

Si la seguridad realmente importa, use HTTPS para todo el sitio. Incluso después de que se haya enviado la contraseña, si vuelve a HTTP, la cookie puede ser robada (consulte Firesheep)

Si la seguridad no importa mucho, entonces no coloque el formulario de inicio de sesión en cada página. Solo tiene un enlace a una página de inicio de sesión.


30
2017-11-29 23:44



Respuesta simple "Sí": su página de inicio de sesión y el resto de los sitios web se deben servir a través de SSL.

Y aquí está el porqué de las preguntas frecuentes sobre implementación de SSL:


7
2017-11-30 10:39



Bueno, si no usa SSL para inicios de sesión, la contraseña del usuario puede revelarse a cualquiera que tenga medios para escuchar la comunicación entre el cliente y el servidor (básicamente leyendo el flujo de datos). (Lo cual no es bueno ^^)

Como se dijo anteriormente por goreSplatter, puede establecer fácilmente el destino del formulario en un punto final seguro (es decir, https://site.com/login) y se usará una conexión segura para enviar las credenciales del usuario y recibir la respuesta.

La mayoría de los sitios web continúan comunicándose a través de HTTP básico, que "solo" expone a sus usuarios a los riesgos del secuestro de sesión (man-in-the-middle lee su identificador de sesión / signature / nonce / whatever y luego pretende ser el cliente autenticado, por lo tanto, si tiene éxito, puede manipular los recursos protegidos del cliente, pero este método no permite "robar la cuenta completa"). Esto generalmente se considera una amenaza menor y debido a la sobrecarga asociada con la comunicación SSL, la conexión segura para todas las solicitudes se usa solo en aplicaciones críticas (banca en línea, por ejemplo).

Finalmente, para responder a su pregunta: No, solo las transferencias a las que se envían datos confidenciales deben estar necesariamente aseguradas.


4
2017-12-07 21:15



Si desea que sus datos sean seguros, debe usar SSL (certificado) en todo su sitio. Pero no necesita tener SSL para mantener sus contraseñas seguras. Por ejemplo, podría usar openID, facebook connect, twitter login para manejar esta parte por usted. De esta forma, nunca se envían contraseñas a través del cable en texto sin formato.


3
2017-11-30 02:38



¿Tiene la opción de rediseñar el concepto de UI? La idea: tener una IU de inicio de sesión informativa en cada página, pero no el control de inicio de sesión real. Tu nuevo información control enumeraría:

  1. Logged In As <user_name> o Not Logged In
  2. Login o Logout enlace dependiendo del estado

Los enlaces mostrarían una página emergente de inicio de sesión cuyo contenido está completamente protegido.

Este enfoque lo acercaría a lo que ya tiene (algunas funcionalidades de inicio de sesión en cada página) pero enrutado / en capas de manera que su autenticación esté completamente segura a través de SSL.


1
2017-12-09 17:34



Por ejemplo, GMAIL tiene una opción en la configuración donde puede habilitar SSL. Facebook, Twitter y todos los medios sociales no tienen SSL o no están habilitados.

Creo que si realmente quieres que la seguridad de tu sitio web sea completamente maliciosa (bot o no), debes usar SSL. (sin embargo, si SSL está habilitado, existe el riesgo de secuestro). De lo contrario, puede probar con un código duro js para ocultar los datos del formulario.

¡Buenas respuestas arriba, más todo y obtén tu propia ideia sobre el asunto!

Buena suerte.


1
2017-12-10 17:17



Leí que es posible poner el formulario en http pero publicarlo en https, pero leí a alguien diciendo que puede ser explotado con un hombre en el ataque medio.

No. El objetivo de la <form> es una nueva llamada realizada por el navegador en uso.

Si la URL http://example.com/ ha sido visitado y el contenido de la página ha sido renderizado por el navegador, la conexión insegura está cerrada (sí. mayo mantenerse abierto [Keep-Alive]. Pero la solicitud de esa URL ha finalizado).

Para el destino de inicio de sesión del sitio https://example.com/ se negociará una sesión SSL entre el servidor y el cliente utilizando un puerto de servidor diferente (generalmente 443) y no se usarán / transmitirán datos de la página anterior (excepto tal vez "Referer"). después la conexión segura ha sido establecida.

Leí que es posible poner el formulario en http pero publicarlo en https, pero leí a alguien diciendo que puede ser explotado con un hombre en el ataque medio. Puede alguien confirmar esto?

Sí. El formulario se sirve a través de HTTP, por lo que un hombre en el medio podría inyectarle cambios (por ejemplo, envía credenciales a su propio servidor antes de enviar el formulario).

En un sitio comprometido no importa, si el contenido se sirvió seguro o no. Los contenidos de un sitio se pueden entregar a través de SSL, pero el código aún puede verse comprometido.

Además, las cookies pueden ser robadas. Pero solo son texto. Es lo que su sitio hace con ese "texto" es lo que es importante. Si confía en lo que un "navegador" le dice a sus scripts, su aplicación no es segura. Utilice la validación de cookies (basada en IP, basada en navegador, cualquiera que sea su base) para que las cookies no puedan ser "robadas".

Use sitios seguros SSL siempre que los usuarios envíen datos, es decir vale la pena proteger. Comentar una publicación de blog no es algo que enfatizaría mi servidor al establecer una conexión SSL para ...


0
2017-11-30 20:55



Incluso si intenta poner el bloque de inicio de sesión en un iframe que usa https, un ataque man-in-the-middle podría cambiar el src de ese iframe fácilmente, por lo que puede hacer que el loginbox sea un enlace de inicio de sesión (con https login page) o Necesitará más recursos para ejecutar su sitio web con SSL para todas las páginas web que tengan el cuadro de inicio de sesión ...


0
2017-12-07 19:38