¿Dónde / cómo se almacena una contraseña ODBC cuando se 'guarda' en Access?

9

He estado trabajando en un programa que utiliza MS Access y ODBC para conectarse a un servidor SQL. Uno de los requisitos es que el usuario no necesita saber la contraseña para la conexión al servidor SQL, por lo que marqué la casilla de verificación "Guardar contraseña" cuando vinculo mis tablas SQL.

¿Alguien sabe dónde se almacena la contraseña y qué tan segura es cuando se realiza esta acción?

    
pregunta GeneralBison 15.07.2011 - 05:47
fuente

3 respuestas

5

Me gustaría señalar que la respuesta a la segunda parte de la pregunta tiene poco que ver con la primera parte.

Incluso si la contraseña se almacenó de forma cifrada y muy sólida (no lo es), esto no sería seguro, en varios aspectos.

  1. El usuario tiene acceso completo y sin restricciones a la base de datos. Es decir. puede hacer lo que quiera (según los permisos del usuario compartido ... Los privilegios del usuario están restringidos en la base de datos, ¿correcto ?). P.ej. accediendo a datos no autorizados, eliminando datos de otros usuarios, insertando basura, etc.
  2. Esto parece que hay una cuenta de usuario compartida, que todos los usuarios se han conectado a su conexión ODBC ... Lo que significa que el servidor de la base de datos no tiene forma de limitar el acceso de los usuarios, segregar sus datos, rastrear quién hizo qué. etc.
  3. En cualquier caso, la contraseña ODBC deberá descifrarse en la memoria , lo que permitirá al usuario capturarla, y luego hacerse pasar por la aplicación y, nuevamente, hacer lo que quiera.

Estaría mucho mejor rediseñando la aplicación, con un nivel intermedio y todo ...
Siempre me resulta extraño discutir security y MS Access en la misma conversación ...

Si absolutamente no cambia la arquitectura, considere usar la autenticación integrada de Windows y vincular las cuentas de usuario (o grupo) a un rol de db para la administración. De esa forma, al menos cada usuario tendrá su propia cuenta en el servidor, puede restringir el acceso (según el principio de privilegio mínimo), no tener cuentas compartidas y puede realizar un seguimiento de las acciones de cada usuario en la base de datos.

    
respondido por el AviD 17.07.2011 - 09:47
fuente
3

Los detalles de la contraseña ODBC se pueden abordar activando odbcad32.exe en su caja de Windows e interactuando con el cuadro de diálogo. Creo que los detalles que busca se encuentran en los últimos párrafos de ACC2000: no aparece un mensaje de solicitud de contraseña cuando se usa Microsoft Access.

    
respondido por el zedman9991 15.07.2011 - 15:49
fuente
2

Este fue el primer resultado en Google al mirar dónde se guardan las contraseñas ODBC en general.

Resulta que se almacenan en texto plano en el registro de Windows. Abre regedit y echa un vistazo a:

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI

    
respondido por el Erin Drummond 30.09.2016 - 01:31
fuente

Lea otras preguntas en las etiquetas