2009-08-02 14 views
11

Parece que la mayoría de los sitios web principales usarán un dominio seguro, pero hay algunas excepciones importantes, especialmente Facebook y Twitter.¿Es un dominio seguro (HTTPS) totalmente necesario para una página de inicio de sesión?

Supongo que las ventajas de utilizar un dominio seguro son evidentes: sus credenciales de inicio de sesión nunca se transmiten en texto plano.

Entonces, ¿cómo los sitios importantes como Facebook y Twitter se salieron con la suya? Si un dominio seguro no está disponible por alguna razón, ¿qué precauciones adicionales podría tomar?

Respuesta

11

Si la seguridad es importante en absoluto: Sí, la página de registro debe ser https, al igual que la página que publica a. Simplemente no hay otra manera.

Si visitas una página, y no es https, no puedes confiar absolutamente en cualquier cosa enviada desde esa página. Debido a que la conexión no está protegida, puede manipularse fácilmente (tal vez al enviar a una página que no sea https, o tal vez enviarla a un dominio completamente diferente, que nunca sabrá hasta que sea demasiado tarde). Mientras que si visitas una página https, puedes confiar en ella. Usted sabe de dónde se originó la página y que no ha sido alterada. Y, por supuesto, usted debe someter a una página https, ya que desea que los datos a ser cifrados (y el navegador deben advertirle si intenta enviar un formulario de una página https a un https no la página) .

0

No estoy seguro de qué técnicas se usan comúnmente, pero cualquier información que no se almacena y solo se compara (es decir, nombre de usuario y contraseña) podría ser hash (por ejemplo, SHA1 o MD5) en el cliente.

Sin embargo, esto requiere secuencias de comandos del lado del cliente que podrían estar deshabilitadas o no estar disponibles. Puede ser que algunos sitios no consideren que su información sea lo suficientemente sensible como para requerir una transmisión segura (no debe enviar ninguna información sensible a Facebook o Twitter, etc.).

+1

Dado que los valores hash se envían sin cifrar, todo lo que cualquiera debería hacer es enviar los mismos valores hash al servidor para iniciar sesión. Además, dado que la secuencia de comandos del lado del cliente es legible, cualquier algoritmo para actualizar los valores estaría disponible para un pirata informático. –

+0

@Jeffrey "cualquier algoritmo para modificar los valores estaría disponible para un pirata informático". esta parte es irrelevante, el solo hecho de saber que un valor se ha modificado con MD5 no lo hace más débil. Si bien hay tablas de arcoiris para descifrar el hash MD5, si tiene una contraseña segura, ninguna tabla de arcoiris la golpeará. Sin embargo, la primera parte de poder simular la publicación del valor hash es legítima. –

1

Hashing su contraseña antes de transmitirla sin encriptar realmente no ayuda en el hombre en las situaciones intermedias, ya que alguien que está interceptando la comunicación puede repetir fácilmente su contraseña e iniciar sesión con su credencial.

Yo diría que algún tipo de cifrado debe ser obligatorio para fines de autenticación. Con respecto a la pregunta, sí, HTTPS sería la mejor opción. Obviamente, lo más sencillo de comprobar es la barra de direcciones en la parte superior si comienza con "https: //", pero eso en realidad no importa. Lo que importa es dónde se envía su información de autenticación (nombre de usuario/contraseña), que podría ser alguna otra página a través de formularios HTML estándar, o alguna magia de JavaScript. La mejor manera es verificar la fuente o habilitar las advertencias del navegador con respecto al envío de datos no encriptados.

HTH

3

Disculpa las últimas publicaciones, pero no creo que nadie haya abordado el elemento clave de cómo Facebook y Twitter lo hacen. La parte principal es que sus formularios de inicio de sesión no HTTPS se publican en una URL absoluta a través de HTTPS.

mirada a la acción:

// facebook 
<form method="POST" action="https://login.facebook.com/login.php?login_attempt=1" id="login_form"> 

// twitter 
<form method="post" id="signin" action="https://twitter.com/sessions"> 

En este caso, la "acción" de un formulario está configurado para utilizar HTTPS y el protocolo de enlace SSL tiene lugar antes se envía ningún dato por lo que la conexión es segura.(No importa si el formulario original se muestra utilizando https). Sin embargo, si la acción de formulario utilizaba una ruta relativa, se usaría de manera predeterminada el protocolo que se utilizó para mostrar el formulario. En pocas palabras, debe usar una URL absoluta si desea establecer una sesión SSL antes de que se envíen sus credenciales.

2

Probablemente me decanten pero la respuesta es "totalmente necesaria", la respuesta correcta debería ser no. En la mayoría de las situaciones, realmente no importa. Incluso hotmail.com y otros sitios grandes tienen procesos de inicio de sesión no cifrados, algunos requieren que haga clic en un enlace para ir a la página https.

Realmente depende de lo que se asegure. Datos HIPPA, información financiera sí totalmente necesaria. El foro estándar u otro sitio web, realmente no importa.

Ejecutar un ataque de hombre en el medio tampoco es un evento trivial, esto es realmente más una preocupación con redes hostiles (como WIFI/redes escolares/etc.) que con Internet. En su mayoría, es imposible ejecutar a un hombre en vivo en el ataque medio en la web sin comprometer un servidor DNS raíz. Cross site scripting es mucho más un vector de ataque real a diferencia del hombre en el medio que solo tiene un propósito para intentar ejecutar contra grandes bancos.

+0

tomó más tiempo de lo que pensé para la primera votación negativa, pero como esperaba nadie refutó mis declaraciones con él. –

+1

No podría estar más de acuerdo. +1 para lo que es práctico para el mundo real. – Wick

+0

Es interesante ver este punto desde 2010. Hoy en día, cuando las personas revisan su Facebook a través de Wi-Fi en cafeterías con enrutadores instalados por un barista ... ya pesar de lo que recomiendan, utilizan la misma contraseña para toda su información financiera. Creo que es imprescindible que incluso los sitios más triviales usen HTTPS y que estén salting/hashing de sus contraseñas. –

Cuestiones relacionadas