Seguridad bbdd |
Responder |
Autor | |
Parche
Habitual Unido: 03/Julio/2018 Localización: Alicante Estado: Sin conexión Puntos: 170 |
Tema: Seguridad bbdd Enviado: 20/Junio/2020 a las 20:38 |
Buenas tardes: Después de ver este hilo: http://www.mvp-access.com/foro/forum_posts.asp?TID=83467 Me surgen algunas dudas de novato... - Tengo una bbdd con muchas consultas, forms, etc. La idea de embeber las consultas en los forms es demasiado. - He pensado en que si creo un accde (A2007) con bloqueo de tecla shift, contraseña incial (creo recordar no se donde lo vi que más de 18 caracteres ya es fuerte), otra contraseña de inicio de form, vba también con contraseña, ocultando las tablas vnculadas y cambiando la extensión a: accdr (runtime) tiene mucha seguridad (seguro que no jeje.. ya entiendo que si vuelvo a cambiar la extensión se puede acceder al código con shift habilitado, y se verían las tablas/consultas). - Es la alternativa a no tener las tablas en la misma aplicación (que ya vi en el hilo como se llaman desde otra bbdd) y las consultas en la propia bbdd (no embeber el vba en el form) y no tener que ir form por form embebiendo código, etc. - ¿Es así segura la bbdd? ¿qué se me escapa en tema seguridad? si me apuras ¿si sólo bloqueo la tecla shift por código y las teclas especiales, panel de exploración, etc. vamos las opciones de access es suficiente para no ver "las tripas" de la bbdd? - El desbloqueo de la tecla shift se hablitaría en la bbdd sólo por el admin. Gracias y saludos. |
|
javier.mil
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador Unido: 10/Agosto/2005 Localización: España Estado: Sin conexión Puntos: 4812 |
Enviado: 20/Junio/2020 a las 22:47 |
Buenas Quienes son los usuarios que van usar tu aplicación ? Que tipo de aplicación es ? Donde se usa tu aplicación ? Que tipo de datos guardas en tus tablas ? Vas a poner password en el codigo VBA ? |
|
Parche
Habitual Unido: 03/Julio/2018 Localización: Alicante Estado: Sin conexión Puntos: 170 |
Enviado: 21/Junio/2020 a las 09:01 |
Buenos días: Entiendo que depende de las variables que me preguntas una seguridad será mejor que otra, etc. pero intento centrar la cuestión. Si es imposible que alguien externo al admin pueda saltarse el bloqueo de la tecla shift al inicio (teniendo un método de habilitarla una vez en la bbdd)... ¿es segura la aplicación y no es necesario trasladar las tablas, ocultar el vba con contraseña, embeber las consultas en los forms, etc? ¿O se puede saltar el bloqueo shift a linicio de la bbdd? Si es así ya hablamos de otra cosa y es necesario más seguridad. Gracias por tu tiempo y saludos.
|
|
javier.mil
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador Unido: 10/Agosto/2005 Localización: España Estado: Sin conexión Puntos: 4812 |
Enviado: 21/Junio/2020 a las 11:26 |
Buenas Simplificando en seguridad todo lo que es posible proteger también es posible desproteger........ dicho esto,....... La protección / desproteccion de tecla SHIFT también estaría incluida peroooo depende de como se hubiese protegido ,...........en mi Web hay un método (el cuarto parámetro) donde se explica como añadir una capa extra de seguridad... .... Por eso reitero lo que preguntaba al inicio , es necesario entender en que contexto nos movemos....... La seguridad tiene que estar adecuada a lo que se pretende proteger , ........ No tendría sentido aplicar medidas de seguridad extremas, para proteger una aplicación que cualquiera fuese capaz de crear o hacer ..... Editado por javier.mil - 21/Junio/2020 a las 11:33 |
|
Parche
Habitual Unido: 03/Julio/2018 Localización: Alicante Estado: Sin conexión Puntos: 170 |
Enviado: 21/Junio/2020 a las 22:30 |
Buenas noches: ¿Entiendo que se podrá entonces desde una bbdd externa acceder al cuarto parámetro para cambiarlo? Pq. desde la actual como se hace (teclear shift) no entiendo como se podría cambiar. Estoy viendo tu web en el apartado Seguridad. Gracias y saludos.
|
|
Parche
Habitual Unido: 03/Julio/2018 Localización: Alicante Estado: Sin conexión Puntos: 170 |
Enviado: 21/Junio/2020 a las 22:40 |
Buenas de nuevo :-) Estoy probando la función: RT_RutaTabla (sin contraseña) del enlace inicial y no me deja continuar (ver final). Tengo la BBDD en C:\ (solo tablas). constDirectorio (en un módulo) como constante: Public Const constDirectorio As String = "C:\Base.accdb" La función en un módulo: Function RT_RutaTabla(Nombretabla As String) As String RT_RutaTabla = "[" & constDirectorio & "].[" & Nombretabla & "]" End Function Y falla aquí: If (IsNull(DLookup("[Usuario]", RT_RutaTabla("tbUsuarios"), "[Usuario] ='" & Me.CboUsuarios.Column(1) & _ sigue... Con este mensaje: https://www.dropbox.com/s/kql60xap2cq6ef2/Error_tabla.jpg?dl=0 ¿Hay que hacer algo distinto en las funciones de dominio? Pq. he cargado en un form la tabla externa y bien, en un combox tb. Gracias y saludos. Edición: - He conseguido un avance parcial con: Set sExiste = CurrentDb.OpenRecordset("select * from " & RT_RutaTabla("tbusuarios") & " where Usuario ='" & Me.CboUsuarios.Column(1) & _ "' And Pass = '" & Me.txtPass.Value & "' ") ... que es correcto. ... ¿Pero además del trabajo de adaptar en toda la bbdd la ruta también hay que cambiar todas las funciones de dominio para adaptarlas como he editado? Locura Gracias y saludos. Editado por Parche - 22/Junio/2020 a las 09:44 |
|
javier.mil
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador Unido: 10/Agosto/2005 Localización: España Estado: Sin conexión Puntos: 4812 |
Enviado: 23/Junio/2020 a las 09:11 |
Ves con cuidado en tu campo txtPass un usuario avanzado podría injectar codigo SQL que se saltase el password,........ En el campo Me.txtPass.Value tendrías que mejorar esa instrucción dándole mas robustez ......... |
|
Parche
Habitual Unido: 03/Julio/2018 Localización: Alicante Estado: Sin conexión Puntos: 170 |
Enviado: 23/Junio/2020 a las 17:00 |
Buenas tardes: - El txtpass tiene formato de contraseña. - Y en el evento al salir: If Comprueba(Me.txtPass) = False Then MensajeInf ("La contraseña sólo debe contener mayúsculas/minúsculas y/o números") Me.txtPass.SetFocus Me.txtPass = "" Exit Sub End If ¿Es eso lo que decías? Gracias y saludos. -- Queda pendiente me comentes el comentario anterior del cuatro parametro ---
Editado por Parche - 23/Junio/2020 a las 17:01 |
|
javier.mil
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador Unido: 10/Agosto/2005 Localización: España Estado: Sin conexión Puntos: 4812 |
Enviado: 24/Junio/2020 a las 09:52 |
Depende de lo que haga la función Comprueba ,........ Si realmente hace lo que parece que hace es "La contraseña sólo debe contener mayúsculas/minúsculas y/o números" entonces estaría bien,..... Pero personalmente preferiría cambiar el SQL Tu código SQL Set sExiste = CurrentDb.OpenRecordset("select * from " &
RT_RutaTabla("tbusuarios") & " where Usuario ='" &
Me.CboUsuarios.Column(1) & _ "' And Pass = '" & Me.txtPass.Value & "' ") Por este otro Set sExiste = CurrentDb.OpenRecordset("select * from " &
RT_RutaTabla("tbusuarios") & " where Usuario ='" &
Me.CboUsuarios.Column(1) & _ "' And Pass = '" & Replace(Me.txtPass, "'", "''") & "' ") |
|
Parche
Habitual Unido: 03/Julio/2018 Localización: Alicante Estado: Sin conexión Puntos: 170 |
Enviado: 27/Junio/2020 a las 09:35 |
Buenos días: Por mi parte se puede cerrar el hilo. Gracias y saludos.
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |