Rensi Arteaga Copari escribió: > R. Se reestructuro el mecanismo de autentificación para que todo > usuario de sistema web tenga un usuario de base de datos > con su contraseña doblemente encriptada md5(md5(contraseña)). Por > que existen varios roles propios del sistema, la dificultad de > administración, y premura > el estos nuevos usuarios de base de datos tenían privilegios de > superusuario
Huh. Creo que aquí partió tu problema. md5 no es una función de cifrado (lo que tú mal llamas encriptación); es una función de "digerido". Usarla como si fuera cifrado es una idea muy mala, porque es obvio cómo encontrar una manera de escapársele. > 3. El testeador accede a la tabla de usuario donde esta almacenada > la contraseña con un MD5, descbure que el mecanismo de > autentificación de usuarios en sistema es doble > MD5(MD5(contraeña)) y accede a la base de datos Este es obviamente otro problema muy serio (o, mejor dicho, es el mismo problema de arriba). La contraseña del usuario debes almacenarla pasada por md5(), y lo que te envía el usuario al conectarse debes aplicarle el mismo digerido md5() una sola vez. Hacerlo doble te somete al estúpido problema de que alguien puede ver el md5 en tus tablas y aplicar md5 una vez para conectarse a la base de datos. Esconder los digeridos es sencillo pero no soluciona el problema de fondo. > R. No puedo ocultar la tabla de usuarios ya que todas los > procedimientos almacenados acceden a la tabla para valida > privilegios del rol de sistema. No es necesario ocultarla. > La lista vulnerabilidades puede seguir creciendo y el problema es > que se tiene que tratar de pensar en todo para que el sistema sea > mas seguro > pero nunca se ve llegar aun sistema 100 seguro. Nunca va a llegar a ser 100% seguro, pero debes evitar los errores tontos. -- Alvaro Herrera Developer, http://www.PostgreSQL.org/ "Most hackers will be perfectly comfortable conceptualizing users as entropy sources, so let's move on." (Nathaniel Smith) -- TIP 6: ¿Has buscado en los archivos de nuestra lista de correo? http://archives.postgresql.org/pgsql-es-ayuda