Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Filantropo en 21 Marzo 2020, 07:07



Título: ¿como proteger BD con usuario y clave?
Publicado por: Filantropo en 21 Marzo 2020, 07:07
Salu2.
Estoy en desarrollo de una aplicacion de vb.net y su BD en microsoft sql server, necesito que a la BD solo puedan acceder quienes tengan un usuario y clave asignado, gugleando halle ejemplos de login que se basan en crear una tabla adicinal que contenga los usuarios y sus claves, y la aplicacion lo que hace es buscar ese usuario y clave, si existe muestra datos sino muestra error "clave/usuario incorrectos"

Código:
select * from users where user='paco' and pass='123456'

Pero este metodo es muy inseguro, algun curioso con conocimientos en sql podria ver la BD completa sin usar mi aplicacion .net, simplemente abriendo una consola o el managment.
¿que otro metodo podria usar?
La BD guardara datos sensibles.


Título: Re: ¿como proteger BD con usuario y clave?
Publicado por: engel lex en 21 Marzo 2020, 07:23
primero que nada usuarios en una tabla de la DB es el metodo normal y correcto... si no te funciona usualmente implica que tu metodología es erronea desde el inicio (a menos que estés aplicando algun caso muy especializado)

la base de datos debe estar almacenada en un lugar seguro tal que no sea revisable como tu dices... en esos casos la haces web y si es necesario mas, usas una api intermedia para su acceso tal que solo se permitan acciones previamente validadas


Título: Re: ¿como proteger BD con usuario y clave?
Publicado por: Filantropo en 22 Marzo 2020, 01:55
Funciona pero es inseguro, la pc donde se instalara la app la usan 3 personas pero solo una debe acceder a la BD sqlserver, la forma usual de acceder y manipular la BD es atraves de la app que la desarrolle en vb.net, en la que un formulario se pide ingresar un nombre y clave, esta se conecta a la BD y dentro busca una tabla tbUsuarios y compara si el nombre y clave  existen dentro de esa tabla, si es asi muestra la ventana principal desde la cual se acceden a otros modulos.
Pero esta falsa seguridad no impide que las otras personas abran el sql managment(cosa que hago cuando debo ver o modificar algun campo) y dentro busquen y puedan ver todo el contenido de la BD de esa forma cualquier listo podria saltarse la "seguridad" de la app, porque basta con saber el user y password del sql (que no es el mismo que esta en la tabla) y accede a todas las bds.
Habra manera de asignarle una clave a cada bd y que lo pida cada vez que se abra?
Lo de esconder la bd en alguna carpeta no me parece sea tan seguro.
O de que manera se tendria que implementar? Algun enlace


Título: Re: ¿como proteger BD con usuario y clave?
Publicado por: engel lex en 22 Marzo 2020, 02:39
sinceramente no soy experto en mssql, pero debes poder asignarle incluso multiples usuarios a cada db sin problema... el asunto es que aun así si alguien sabe, podría hacerle analisis a la DB y extraer los datos...

la DB debe ubicarse siempre en un lugar seguro, si no siempre es tendiente al analisis o alteracion (sin contar que siempre alguien podría buscar el archivo y eliminarlo sin mas)