2010-03-30 9 views
14

Hola, solo una pregunta rápida para cualquier experto que exista. Tengo un sitio que permite a los usuarios interactuar a través de mensajes y para registrarse solo debe hacer un nombre de usuario y contraseña, verificar su edad y, opcionalmente, agregar un correo electrónico. No hay realmente ninguna información sensible, supongo. Vale la pena usar https. ¿Prevenirá la sesión hi jacking y obstaculizará el rendimiento?¿Vale la pena usar https si no está haciendo transacciones financieras?

+0

Por cierto, tiene la respuesta incorrecta. Va en contra del top 10 de OWASP para la seguridad de la sesión.La sesión completa debe estar protegida con https, o no tiene sentido. – rook

+0

@ The Rook: con ese razonamiento, mi cerradura de la puerta delantera es completamente inútil, ya que hay maneras de superarlo. Esto detendrá al ladrón ocasional que no quiere hacer daño visible, y eso es una ventaja. Es mucho mejor si toda la sesión es https (aunque es vulnerable a man-in-the-middle con la mayoría de los certificados), pero hacerlo solo para iniciar sesión y así detendrá algunos ataques. –

+0

@david, en realidad, si la puerta de entrada es inútil, se puede recoger con bastante facilidad, los vasos con pasador son una tecnología terrible. Además, estoy de acuerdo con owasp, si filtra su identificación de sesión, un atacante puede usarla como si tuviera la contraseña. También SSL/TLS detiene MITM, para eso fue creado. (Ignorando SSLStrip por el bien de la discusión;) – rook

Respuesta

20

Cada vez que use un nombre de usuario/contraseña, debe asegurar absolutamente la sesión completa con HTTPS. El costo para usted es bastante menor en comparación con el costo potencial para sus usuarios si sus contraseñas están expuestas. Investigue consistently shows que las personas usan la misma contraseña para casi todos los sistemas a los que acceden.

Además, más allá del riesgo de exposición con contraseña, considere que su sitio es una herramienta de comunicación. ¿Cuál es el riesgo o daño potencial para sus usuarios de ser suplantado? ¿De tener mensajes maliciosos enviados bajo su identidad?

Simplemente no vale la pena el riesgo. Asegure el transporte por lo menos.

+1

excelente respuesta, gracias hombre – Scarface

+0

-1 Después de que el usuario inicia sesión, el atacante secuestrará la ID de la sesión. Toda la sesión debe estar protegida con https, esto está en la parte superior de OWASP 10. – rook

+0

torre de qué estás hablando, puedes ser más específica jajaja. ¿Cómo puede usar https a través de un puerto específico y solo proteger parte de una sesión? ¿Cómo está la respuesta incorrecta, él solo está recomendando proteger las interacciones del servidor a través de un protocolo encriptado? ¿La sesión no está protegida automáticamente con https si eso es lo que usa su servidor para comunicarse? – Scarface

3

Merece la pena como mínimo si transmite contraseñas y direcciones de correo electrónico, o cualquier otra información privada o personalmente identificable. El secuestro de la sesión es posible si hay comunicación no HTTPS, pero ese es un riesgo que muchos sitios web están dispuestos a aceptar y depende de su situación.

Los problemas de rendimiento dependen de su hardware y su pila, pero habrá "algún" impacto de rendimiento de HTTPS frente a HTTP. No es suficiente para evitar que proteja las contraseñas y la información sensible del usuario.

+0

gracias por el consejo. – Scarface

0

También he pensado en esto antes. Creo que querrías una conexión segura cuando los usuarios inicien sesión o cambien la información.

14

Creo que tan pronto como tenga algún tipo de manejo de inicio de sesión, debe proteger la contraseña del usuario. Puede hacerlo a través de https o mediante el uso de la autenticación http digest.

Mi punto principal para el cifrado es que muchos de sus usuarios tendrán la misma contraseña para su sitio que para su cuenta bancaria o algo similar. Aunque la información en su sitio no es confidencial, las contraseñas pueden proteger algo importante.

+0

agradezco la experiencia, creo que tanto usted como las respuestas de dan story son geniales, los superé. – Scarface

+0

-1 Después de que el usuario inicia sesión, el atacante secuestrará la ID de la sesión. Toda la sesión debe estar protegida con https, esto está en la parte superior de OWASP 10. Ojalá pudiera dar otro -1 para la autenticación de resumen, porque es aún menos seguro. – rook

+0

ver mi comentario en la torre de respuestas. – Scarface

-2

Para algunas personas, las contraseñas y la edad se considerarían información confidencial. ¿Estás preparado para tratar con algunas personas que pueden tener una visión diferente que tú?

4

Sí, SSL/TLS es necesario para mantener una sesión autenticada de forma segura. Si tiene un inicio de sesión, la entrada y el TODA LA SESIÓN deben estar protegidos por https. Es más fácil y más seguro reenviar todo el tráfico a https, incluso si tiene una aplicación web simple.

El problema es que se puede filtrar una identificación de sesión (cookie) si utiliza http. Si esa sesión se autentica, entonces un pirata informático puede usar esa identificación de sesión para autenticarse con el servidor sin un nombre de usuario y contraseña.

Este es clara exigencia de la OWASP Top 10 A3: "Autenticación y Gestión de Sesiones" http://www.owasp.org/images/0/0f/OWASP_T10_-_2010_rc1.pdf

Envío de una cookie a través de HTTP es también una violación de CWE-614 y CWE-311.

+0

gracias por descomponerlo. – Scarface

+0

@Scarface Su bienvenida, debe darme la respuesta. Porque los primeros 2 son incorrectos, alguien podría ser pirateado. – rook

+0

Tenga en cuenta que esto importa más si a alguien le importa si hay un poco de suplantación pasando. –