Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Firebird y permisos: ocultando TODO...o casi (https://www.clubdelphi.com/foros/showthread.php?t=93590)

rretamar 24-11-2018 02:12:34

Firebird y permisos: ocultando TODO...o casi
 
Hola.
Hago una consulta: tengo una base de datos Firebird 2.5 ,a la cual acceden dos usuarios: uno es SYSDBA, con control total, y el otro usuario solo tiene permisos para hacer un SELECT en una VISTA, nada más que eso.

Pero resulta que si ingreso con un administrador de base de datos como Flamerobin usando la cuenta de ese usuario súper restringido, si bien no puedo ver el contenido de las tablas o de otras vistas, sí puedo mirar la estructura de los metadatos (campos de las demás tablas, estructura de las vistas, índices, etc.). Puedo mirar mucho más de la base de datos que el simple resultado de una vista.

¿ Hay alguna forma de restringir esto ? He repasado la documentación y no doy en la tecla.

Saludos y gracias.

lbuelvas 24-11-2018 08:52:59

Una de las formas es ocultarle al usuario la ruta (dirección ip + carpeta + archivo de la base de datos) de la base de datos, en mi caso que estoy desarrollando con uniGui y el aplicativo es web, el usuario ingresa vía una ruta ip y un puerto pero desconoce exactamente donde esta la base de datos, es más, la base de datos puede estar en otro servidor. Entonces el usuario no podría conectarse con alguna herramienta administrativa, además, debe colocarse una contraseña fuerte para el usuario sysdba y no la clásica 'masterkey'.

Sin embargo, los productos que tengo en modo escritorio adolecen del problema que comentas y como a veces deja uno instalado el flamerobin, los usuarios tratan de entrar por allí y he visto a más de un curioso viendo a ver para que sirve, el problema radica en que tengo un archivo .ini donde está la ruta de la base de datos.

Una solución que estuve considerando es manejar los usuarios del aplicativo sin usar los permisos de firebird creando tablas para el manejo de usuarios, contraseñas y permisos, pero me parece que es más trabajo.

rretamar 25-11-2018 20:10:04

El "usuario" es un desarrollador web, que está creando una interfaz PHP para consultar una vista de mi base de datos, de forma muy sencilla. O sea que tiene los parámnetros de conexion, password, etc. Si bien le di permisos solo para que haga SELECT sobre la vista, si el se instala por ejemplo FlameRobin o cualquier otro administrador de base de datos, puede ver la estructura de todas las tablas, indices, vistas, etc. O sea puede ver todos los metadatos, y no encuentro forma de ocultar eso.

Se que Lazarus (la herramienta de programación que uso) tiene componentes para hacer aplicaciones web, pero no me puse a estudiar eso, y decidí recurrir a un tercero que lo haga con php.

Casimiro Notevi 25-11-2018 20:55:29

Pues cópiale una BD (localmente para él) con solo algunos datos para hacer las pruebas y con las tablas que necesite.

De todas formas, lo importante son los datos, ya que la estructura tiene poca importancia.

lbuelvas 25-11-2018 21:17:42

Hice una prueba con Firebird 1.5 e ingrese con un usuario con menos privilegios y puede ver los procedimientos almacenados que es donde está la parte fuerte de mi trabajo. La estructura de la base de datos cualquiera la puede ver simplemente copiando la base de datos a otro equipo con Firebird instalado y un par de herramientas. La verdad a mi la estructura es lo de menos que la conozcan pero el código de triggers y procedimientos almacenados es fundamental en mi negocio que nadie por fuera la conozca. En las base de datos en producción yo borro el código fuente de triggers y procedimientos almacenados vía sql. Esto ya se había tratado en este hilo https://www.clubdelphi.com/foros/showthread.php?t=8982

rretamar 29-11-2018 01:14:31

Gracias por responder. Es extraño que no se puedan proteger de alguna forma el "fisgoneo" de los metadatos. :eek:

Casimiro Notevi 29-11-2018 02:18:10

Cita:

Empezado por rretamar (Mensaje 529796)
Gracias por responder. Es extraño que no se puedan proteger de alguna forma el "fisgoneo" de los metadatos. :eek:

Si no conoces el password :)


La franja horaria es GMT +2. Ahora son las 07:45:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi