CMS usa http y así envía la contraseña en texto sin formato

2

Un conocido CMS llamado Joomla permite a los usuarios registrarse y la contraseña aparece oculta cuando se registra con puntos una experiencia normal en línea. En este punto, usted cree que lo sabe. Pero si el sitio usa http, en realidad la contraseña se POSTE con texto sin formato.

¡Esto no debería estar permitido!

Puedo entender que las contraseñas se almacenan como hashes con sal en buenos sistemas, por lo que incluso si las contraseñas se descubren en la base de datos no se pueden usar para iniciar sesión.

¿Es eso bastante?

Antes de hablar sobre el restablecimiento de la contraseña, ¡en este caso, un buen sistema no puede recordarle su contraseña ya que no es recuperable! Solo puede restablecerlo para usted y, de nuevo, ¿no se envía este texto simple a través de la red? Entonces, ¿por qué no puedo ser robado?

El problema es cuando las contraseñas de texto sin formato reales son conocidas por cualquier persona o cualquier otro sistema que no sea el usuario y la identidad se pierde.

    
pregunta landed 07.08.2012 - 22:05
fuente

4 respuestas

14

Tienes que usar https. Esto no es responsabilidad de la aplicación de CMS, sino de la persona que implementa el sistema, comprar un certificado SSL firmado de una autoridad certificadora de confianza conocida (tenga en cuenta que puede comprar gratis en enlace o incluido en el costo de registro de su dominio en, digamos enlace ) y obligue a que todo el tráfico sea solo enviado a través de HTTPS.

Incluso si la aplicación CMS dice hash de su contraseña del lado del cliente (usando say javascript), envió la contraseña de hash a través de la red y luego verificó el hash del lado del servidor, la contraseña de hash (por ejemplo, hash=bcrypt('Correct Horse Battery Staple', salt)= '$2a$14$XUgYF0o3flsoGam2GHiw8OlQv9BBR/ihAwS/k83fZk.YjJ1hA/04.' )  todavía se enviaría en texto sin formato para que cualquiera pueda escuchar a escondidas. Estos intrusos aún podrían realizar un ataque de reproducción (por ejemplo, modificar el javascript del lado del cliente para que, en lugar de codificar una contraseña ingresada, simplemente enviar de vuelta la contraseña de hash capturada $2a$14$XUgYF0o3flsoGam2GHiw8OlQv9BBR/ihAwS/k83fZk.YjJ1hA/04. ) que interceptaron. Además, tenga en cuenta que esto convierte efectivamente la contraseña con hash del lado del cliente en la contraseña efectiva; así que lo ideal sería que además añadiera más hash al lado del servidor hash recibido para comparar con lo que está almacenado en la base de datos. O simplemente podrían interceptar las cookies de sesión enviadas a través de la red y usarlas para imitar la actividad de un usuario que haya iniciado sesión actualmente.

O simplemente podrían hacer un lío con el enrutamiento para hacer un hombre en el ataque central, así que envías la contraseña a su servidor.

Además, si requieren que use SSL sin haber comprado un certificado, los usuarios pueden asustarse debido a las advertencias del navegador de un certificado que no es de confianza.

Un esquema más complicado puede convencerte de que hay más seguridad de la que realmente existe, aunque sería trivial que un atacante pudiera eludir. Todo lo que se requiere es configurarlo utilizando HTTPS.

    
respondido por el dr jimbob 07.08.2012 - 22:20
fuente
8

Bueno, Joomla es una aplicación web, no es responsabilidad de la aplicación web proporcionar una interfaz SSL para que pueda usar HTTPS. Esta tarea es para el servidor web en el que se está ejecutando la aplicación web.

    
respondido por el Lucas Kauffman 07.08.2012 - 22:19
fuente
7

Joomla ha tenido un ajuste "Forzar SSL" desde la versión 1.5. Puede configurarlo cambiando el archivo configuration.php o usando la GUI web del administrador .

Se establece en "Ninguno" de forma predeterminada, principalmente porque varios hosts no admiten SSL / HTTPS de forma inmediata. Probablemente desee cambiarlo a "Solo administrador" para proteger solo la interfaz de administración, o "Sitio completo" si desea proteger incluso el frente público (es útil si tiene inicios de sesión frontales).

    
respondido por el Suman 08.08.2012 - 00:41
fuente
2

El envío de contraseñas a sitios web en texto sin formato (por ejemplo, un formulario de inicio de sesión HTML estándar en un CMS, foro u otro script web) no es seguro. De manera similar, el envío de contraseñas en correos electrónicos (ya sea uno nuevo como "reinicio" o no) es inseguro. Cada vez que una contraseña está en texto sin formato, es insegura.

La pregunta es si la cuenta (y el sitio) es lo suficientemente importante como para garantizar SSL para cifrar la contraseña en tránsito: la seguridad siempre es una compensación entre el bloqueo y la facilidad de uso y su "apetito de riesgo".

Para el foro de Joe Bloggs para él y sus amigos, asumiendo que cada uno de ellos sigue una práctica de seguridad decente y tiene una contraseña única que no han reutilizado en otros sitios (!), entonces el nivel de interés de un pirata informático va a ser muy bajo Para rastrear esa contraseña, deben estar en un salto entre el usuario y el servidor, lo que generalmente es una tarea de alto esfuerzo para las cuentas de bajo valor (le permite ingresar al foro). Si reutilizan las contraseñas, el valor de cada cuenta aumenta, pero el tamaño del transporte es relativamente bajo en comparación con un simple ataque de phishing en cuentas bancarias o redes sociales.

Si desea contraseñas que están cifradas antes del tránsito y no son susceptibles de ataques repetidos, entonces necesita usar algo como Apache's mod_auth_digest , que utiliza un mecanismo de desafío-respuesta. Su CMS u otro script puede tener un complemento o "MOD" que habilite esta opción.

No hay una solución similar para las contraseñas en los correos electrónicos: una vez que se envían, se trata de texto sin formato y no se puede hacer nada al respecto **. Simplemente no lo hagas!

Consulte PlainTextOffenders.com para ver ejemplos de malas prácticas de "contraseñas en correos electrónicos", junto con historias relacionadas de prácticas peores que se hacen evidentes en los correos electrónicos. .

.

.

** Esto ignora la opción del cifrado PGP, pero eso requiere la clave PGP pública del destinatario para que pueda cifrarlo solo para sus ojos, a los que los scripts generalmente no tendrán acceso y muchos usuarios ni siquiera lo tendrán configurado.

    
respondido por el IBBoard 08.08.2012 - 11:21
fuente

Lea otras preguntas en las etiquetas