Base de datos comprometida y algunas contraseñas descifradas

1

Ejecuté un juego MMORPG y hoy, mientras pasaba de un servidor a otro, Apache falló y enumeró algunos de los datos en el servidor, incluida una copia de seguridad de todo el código fuente y la base de datos que algunas personas descargaron

Cuando me di cuenta de que sucedió, forcé un cambio de contraseña en todos los usuarios e inmediatamente cambié la contraseña de mi base de datos

Las contraseñas fueron cifradas con SHA1 y cuando me di cuenta de que algunos usuarios fueron pirateados (así que supongo que sus contraseñas fueron descifradas) después de preguntarles a los usuarios que habían pirateado cuáles eran sus contraseñas, en su mayoría eran contraseñas numéricas que estaban descifradas. Las cuentas que fueron pirateadas realizaron acciones dentro del juego que afectan a todo el juego y, por lo tanto, me veo obligado a restaurar mi última copia de seguridad de la base de datos (que también es la base de datos que tienen los piratas informáticos)

Ahora, una vez que hago eso. Las contraseñas de los usuarios se habrían mantenido igual (las que se han descifrado), por lo que me preguntaba cómo podría restaurar la copia de seguridad de mi base de datos y también garantizar que los usuarios estén seguros

Pensé en generar contraseñas aleatorias para cada usuario + sal y enviarles por correo electrónico su nueva contraseña, para que tengan una nueva contraseña que los piratas informáticos no tienen, y después de iniciar sesión también se verán obligados a cambiarla. ¿Sería esa la mejor práctica? ¿Alguien tiene una mejor idea?

    
pregunta Sins 26.07.2014 - 03:42
fuente

2 respuestas

2

Está bien generar contraseñas aleatorias y enviarlas a los usuarios. Pero lo más importante que debe hacer, si aún no lo ha hecho, es advertir a TODOS los usuarios que sus contraseñas se han comprometido y si están usando la misma en cualquier otro sitio web / aplicación, absolutamente tienen que cambiarla.

    
respondido por el ero 26.07.2014 - 04:19
fuente
1

Suponiendo que tiene una función de restablecimiento de contraseña (me sorprendería que no lo hiciera), simplemente en blanco / reemplazaré los hashes con algo vacío / inútil. De esta manera, nadie puede iniciar sesión, y el usuario adecuado puede restablecer su contraseña para recuperar el acceso.

Deberías considerar el uso de una mejor técnica de hashing que SHA-1. Para contraseñas simples, hay tablas de arco iris y otras listas de contraseñas precalculadas para SHA-1 simple (sin sal). Como mínimo, debería estar aprovechando sus hashes, y preferiblemente utilizando una técnica como PBKDF2, bcrypt o scrypt para generar hashes de una manera que sea mucho más difícil para un futuro atacante romper los hashes.

    
respondido por el David 26.07.2014 - 04:21
fuente

Lea otras preguntas en las etiquetas