¿Cómo mejorar la protección en un MS Access MDB además de la protección con contraseña?

StackOverflow https://stackoverflow.com/questions/833358

  •  08-07-2019
  •  | 
  •  

Pregunta

Tengo un acceso mdb que está protegido con contraseña pero que puede ser fácilmente descifrado por una herramienta gratuita que se encuentra en google en aproximadamente 1 segundo. Además de pagar por algunas herramientas costosas, ¿hay una buena manera de proteger un archivo de acceso de datos msbse? Estoy pensando en cifrarlo luego a través de un dll para descifrarlo, obtener algunos datos y pasarlo a una aplicación de terceros, luego, cuando la conexión esté cerca, vuelva a cifrar el archivo.

Si alguien quisiera comentar sobre la falacia de este método, o si tiene otros recursos, herramientas, etc., sería genial.

gracias :)

¿Fue útil?

Solución

Access es una base de datos antigua, ¿por qué no SQL Express 2005 (que es gratis)? obtendrá mucho más sobre seguridad y dentro de su aplicación usará un usuario / pwd en la conexión que nadie sabrá y no podrá ver ... si intentan abrir SQL, solo verán el Nombre de la base de datos y nada más (recuerde usar la autenticación de SQL y no la autenticación de Windows)

si está usando .NET, en su Configuración puede decir que solo instale su aplicación después de instalar SQL 2005 Express, o si usa otro idioma, use InstallShield, FinalBuilder, etc. para hacer lo mismo ...

:)

tu idea " lucha " cuando pienso que ... El acceso ha comenzado a tener un tiempo de respuesta deficiente con más de 30k filas en una tabla (cita de Microsoft), y si va a crear una Capa para cifrar / descifrar datos ... su aplicación simplemente pasar de lento a no funcionar en absoluto ... ¿será una buena idea?

Otros consejos

Estoy a favor de usar Jet donde sea apropiado, pero cuando empiezas a preocuparte por proteger con contraseña los datos más allá de lo que obtendrías con la seguridad NTFS y Jet ULS, estás en un territorio donde necesitas usar un almacén de datos diferente.

Pero déjame decir esto:

La seguridad no es un problema tecnológico, es un problema de personas. Ninguna seguridad lo protegerá del usuario con permisos de administrador que lo deseen. Usted siempre debe confiar en las personas lo suficiente como para otorgarles permisos para ver y editar sus datos. Con demasiada frecuencia, el énfasis está en cómo mantener a los usuarios no autorizados fuera de sus datos en lugar de diseñar su aplicación para proteger sus datos del daño que pueden hacer los usuarios autorizados . La primera es bastante fácil, mientras que la segunda requiere una atención muy cuidadosa no solo a su configuración de seguridad sino a la forma en que diseña su aplicación.

Y al final, debes confiar en que las personas se comporten de manera responsable, y no hay nada que Jet o SQL Server puedan hacer para ayudarte con eso.

¿Qué pasa con la actualización del formato MDB al formato ACCDB (Access2007)?

Comience con la seguridad de Access 2007

" La herramienta de cifrado en Office Access 2007 combina y mejora dos herramientas más antiguas & # 8212; contraseñas y codificación de bases de datos. Cuando usa una contraseña de base de datos para cifrar una base de datos, hace que todos los datos sean ilegibles por otras herramientas y obliga a los usuarios a ingresar una contraseña para usar la base de datos. El cifrado aplicado en Access 2007 utiliza un algoritmo más fuerte que el utilizado en versiones anteriores de Access ... "

No estoy claro al leer su publicación si solo está tratando de proteger los datos, o si está tratando de proteger algo más, como decir exclusivamente el código VBA. Dices que tienes un archivo mdb pero ¿estás trabajando con Access 2003, 2007 o alguna otra versión? ¿Tiene / planea implementar su solución de Access en un sitio de Intranet? (Para mis comentarios a continuación, voy a asumir que sí).

Estoy de acuerdo con otros pósters en que si tiene la oportunidad de considerar otras soluciones antes de implementar una solución basada en Access, debería hacerlo. Sin embargo, si no puede evitar una solución basada en Access, me gustaría compartir las siguientes sugerencias y / o comentarios.

  1. Si está trabajando con Access 2003, es posible que desee considerar la seguridad de nivel de usuario y grupo (la configuración de seguridad de nivel de usuario / grupo no está disponible en las bases de datos de formato Access 2007 (accdb), sin embargo, Access 2007 reconocerá Permisos de usuario / grupo de archivos mdb. Con la seguridad de nivel de usuario / grupo puede limitar el acceso a su base de datos en función de usuarios y grupos de trabajo definidos. Para obtener más información, [ http://office.microsoft.com/en-us /access/HP051882261033.aspxfont>[1]

  2. Considere dividir su base de datos (mantenga sus datos separados de los objetos de su aplicación, como Formularios, Informes) y / o cree diferentes versiones que limiten los objetos disponibles.

  3. Mantenga un maestro para el diseño y una réplica para la producción. Esto está de acuerdo con el comentario anterior donde la idea es que no todo está sobre la mesa para tomar. Es posible que desee buscar en Access Developer Extensions (si aún no lo ha hecho) que está disponible para 2003 y 2007 (descarga e instalación gratuitas desde Microsoft).

  4. Emplee, siempre que sea posible, políticas que desalienten y / o limiten el acceso del personal o del compañero de trabajo (una vez más, supongo que está implementando en la Intranet de una empresa)

  5. Codifique su base de datos. Esto hará que la información de propiedad de sus tablas, el código VBA sea más difícil de recuperar ya que la base de datos se compactará y cualquier información de nivel de diseño se eliminará o será más difícil de acceder.

  6. Por último, si tiene el tiempo, los recursos y / o una biblioteca / librería cercana con una copia disponible, le recomiendo que consulte Alison Balter está dominando Microsoft Office Access 2003 , consulte la sección sobre Desarrollo de aplicaciones multiusuario y empresariales que tiene una sección sobre seguridad. Actualizado para ACCESS 2007: Alison Balter's Mastering Microsoft® Office Access 2007 Development

Guardar los datos en un formato cifrado sería una solución. Si la contraseña " falla " el cracker también tiene que descifrar los datos

Cualquiera que sea el método que use será descifrado por alguien conocedor.

Realmente depende de cuán valiosos sean los datos: si es realmente valioso, usaría un modelo diferente, como colocar la base de datos detrás de un servidor en Internet. Luego puede limitar el número de consultas, así como filtrar por mal uso.

Si se puede rastrear una fuga o es de uso limitado, es mejor que proteja los datos con el acuerdo de licencia. Al menos, entonces puede tener una forma de recuperar sus pérdidas. Tenga en cuenta que el OED ha eliminado recientemente su protección de copia.

Considere también el futuro: algunos administradores de red en 10 años pueden necesitar obtener acceso legítimo a los datos, y el uso de una contraseña simple mostrará que los datos deberían estar protegidos, pero aún así permitir la elusión.

Para una aplicación de escritorio, le sugiero que siga la ruta de Sql Edición compacta de servidor (SQLCE) . O si tiene un poco de dinero, VistaDB (a diferencia de SQLCE, admite procedimientos almacenados, vistas y disparadores). Obtendrá una mayor seguridad, un mejor rendimiento, menos problemas con el mantenimiento y la corrupción y una implementación más fácil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top