Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-06-2004
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Ultimo recurso (seguridad)

Hola a todos,

Hace bastante tiempo que estoy trabajando en un proyecto personal, se trata de un sistema compuesto por varias aplicaciones que trabajan sobre una misma base de datos. Todo esto esta desarrollado en IB6.0 + C++ Builder 5, IBX, en un modelo de programación de 3 capas mediante Midas.

Ahora que ya tengo el proyecto bastante avanzado lo tengo que presentar en una empresa y estoy realizando una version reducida de demo.

Entonce me surge el siguiente problema:

He estado consultado en el foro los temas relativos a la seguridad de interbase y he podido ver que no se puede proteger el acceso a la base de datos si se tiene acceso fisico a ella. Con lo cual esto no me interesa, pues tengo gran parte de la aplicación metida en la bbdd.

Hace tiempo vi en algun sitio, que ahora no consigo recordar que se podia modificar algo de las tablas del sistema, que dejaba la bbdd inaccesible a sus metadatos (o algo similar). Como esto es para una demo algo asi ya me estaria bien.

Tengo muy claro que como esta planteado el servidor de base de datos interbase no contempla la seguridad a un nivel de acceso fisico a los datos, y que cualquier 'invento' no sera algo muy seguro, pero de todas formas busco algo para que informaticos profanos en IB6 no puedan acceder a parte de mi trabajo de 2 años.

No se si FB1.5 contempla algo nuevo al respecto, he probado mi aplicacion con FB1.5 y en un principio funciona correctamente.

Cualquier utlimo recurso que me podais dar sera bienvenido, gracias.

Saludos,
__________________
Saludos,

Bitman
Responder Con Cita
  #2  
Antiguo 30-06-2004
Avatar de ACK
ACK ACK is offline
Miembro
 
Registrado: jun 2003
Ubicación: Castellón
Posts: 27
Poder: 0
ACK Va por buen camino
Hola Toni,

En la seccion de trucos/interbase, hay un truco que te explica como ocultar el código de los triggers y de los stored procedures.

Aquí te pongo el enlace : http://www.clubdelphi.com/vertruco.php?id=350

Saludos.
Responder Con Cita
  #3  
Antiguo 30-06-2004
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Gracias ACK,

Esto es lo que mencionaba que habia visto hace tiempo y ahora no lograba recordar donde estaba.

Bueno si esto funciona de momento ya estoy mas tranquilo.

Saludos,
__________________
Saludos,

Bitman
Responder Con Cita
  #4  
Antiguo 30-06-2004
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Hola,

He probado el truco pero no me realiza el efecto deseado, mas bien no hace nada. Lo he probado en con una bbdd IB6.

Alguien lo ha probado?

Saludos,
__________________
Saludos,

Bitman
Responder Con Cita
  #5  
Antiguo 30-06-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Que significa que "no hace nada?"...

probablemente no has hecho commit después de la instrucción, pues por lo demás, es una sentencia update como cualquier otra, solo que tocando las tablas del diccionario de datos.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 01-07-2004
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Hola jachguate,

Con la expresión de "no hace nada" vengo a decir que no realiza el resultado deseado, segun explica el truco.

Lo he provado a realizar desde el IBManager y el IBConsole, y si realizo el commit despues de hacer el update.

Por eso preguntaba si realmente ese truco funcionaba o no.

Saludos,
__________________
Saludos,

Bitman
Responder Con Cita
  #7  
Antiguo 01-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Creo que el problema está en cual crees vos que es el resultado deseado.

Si entras con ib-expert o cualquier otra utilidad que te permita extraer el código de los stored procedures, verás que no pueden extraerlo, y ese es el efecto deseado, ¿no?
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 01-07-2004
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Exacto, ese es el efecto que no me hace.
__________________
Saludos,

Bitman
Responder Con Cita
  #9  
Antiguo 06-07-2004
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
verifica

Crea un store procedure

Pon un codigo
Por ejemplo

//Cadigo ejemplo

Ejecuta la intruccion que dice el truco
y luego trata de ver el codigo de el store procedure
y te aseguro que que no veras lo que dice
//Cadigo ejemplo
Responder Con Cita
  #10  
Antiguo 06-07-2004
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Lo he vuelto a probar y ciertamente funciona, no se que hice la otra vez que me confundio. Lo que si que sigue apareciendo es el codigo de los triggers.
No se si habra que hacer otro update sobre otra tabla del sistema.

Gracias,
__________________
Saludos,

Bitman
Responder Con Cita
  #11  
Antiguo 06-07-2004
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
No tengo interbase a la mano

No tengo interbase a la mano pero abrete las tablas de sistema y verifica la tabla de los trigger y ves cual de los camppos guarda el codigo no compliado y ese es el que tiene que borrar.

De todos modos yo lo verificare y cuando me conecpte si no lo has resuelto te respondo
Responder Con Cita
  #12  
Antiguo 07-07-2004
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Hola rastafarey,

He encontrado esto por el foro, lo he probado y parece que funciona ok.

UPDATE RDB$TRIGGERS
SET RDB$TRIGGER_SOURCE = NULL
WHERE Upper( f_blobleft(RDB$TRIGGER_SOURCE,5))<>'CHECK' and RDB$TRIGGER_SOURCE IS NOT NULL

lo que tambien ponia era que habia que borrar el historico:

Delete From IBE$VERSION_HISTORY

pero me da un error de tabla desconocida.

Por cierto, como puedo ver las tablas del sistema?

Saludos,
__________________
Saludos,

Bitman
Responder Con Cita
  #13  
Antiguo 07-07-2004
Avatar de ACK
ACK ACK is offline
Miembro
 
Registrado: jun 2003
Ubicación: Castellón
Posts: 27
Poder: 0
ACK Va por buen camino
Hola Toni,

En cualquier herramienta para administradores de Interbase/Firebird, existe una opción por cada base de datos, para poder ver las tablas del sistema.

Yo trabajo con IBManager, y dicha opción está en Información del registro de base de datos/Adicional/Mostrar tablas del sistema

En el marathon está en el menú View/Project Options/Show System Tables. Aunque esta herramienta ya no la utilizo ya que se ha quedado un poco anticuada.

Con esto, podrás ver las tablas. Dichas tablas comienzan,por lo menos en Interbase, con RDB$

Saludos.

Última edición por ACK fecha: 07-07-2004 a las 14:10:02.
Responder Con Cita
  #14  
Antiguo 07-07-2004
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Gracias ACK,

Yo tambien utilizo IBManager.
Estuve buscando esta opción por todas partes y no la logre encontrar.

Saludos,
__________________
Saludos,

Bitman
Responder Con Cita
  #15  
Antiguo 08-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Podes averiguarlas "a pie" consultando el diccionario de datos:
Código SQL [-]
select rdb$relation_name
  from rdb$relations
 where rdb$system_flag = 1;

select rdb$field_name
  from rdb$relation_fields
 where rdb$relation_name = 'RDB$TRIGGERS';

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #16  
Antiguo 09-07-2004
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Tablas de sistema

Yo uso ibexpert.

En la parte de registro de base datos hay una opcion para lo de ver tablas, indeces y disparadores del sistema. Si te fijas los dispararadores de sistemas estan protegidos de la forma que tu quieres proteger los tuyos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:44:30.


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
Copyright 1996-2007 Club Delphi