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)
-   -   Bloquear Mi BD en Firebird (https://www.clubdelphi.com/foros/showthread.php?t=58927)

JUGUE 06-08-2008 16:13:07

Bloquear Mi BD en Firebird
 
Hola amigos.

Mi requisición consiste en lo siguiente: Tengo una base de datos de firebird a la cual le he hecho restricciones de acuerdo a las roles y todo eso, lo que quiero saber es como la puedo bloquear de tal forma que no puedan ver su contenido. En el equipo en que esta montada yo cambio la clave de sysdba, pero si se copia la base de datos y se lleva a otro equipo donde se monte firebird de nuevo pueden acceder a sus datos usando el login:
Sysdba-Masterkey.

Entonces como puedo bloquear el acceso a los datos de tal forma que ni haciendo esta operación puedan acceder a la información de la base de datos?

Gracias por la atención y de antemano les agradezco si me pueden ayudar.

AzidRain 06-08-2008 16:24:40

No hay forma. La única alternativa es que solo ciertos usuarios tengan acceso en el servidor a esos archivos, claro si es un servidor Linux esto no tendrá problema.

Neftali [Germán.Estévez] 06-08-2008 17:10:55

Cita:

Empezado por JUGUE (Mensaje 306067)
...En el equipo en que esta montada yo cambio la clave de sysdba, pero si se copia la base de datos y se lleva a otro equipo donde se monte firebird de nuevo pueden acceder a sus datos usando el login:
Sysdba-Masterkey.

Entonces como puedo bloquear el acceso a los datos de tal forma que ni haciendo esta operación puedan acceder a la información de la base de datos?

No entiendo mucho de IB/FB y hace mucho tiempo que no trabajo con ella.

PREGUNTAS: ¿Se puede crear un usuario con permisos similares o equivalentes a SYSDBA y eliminar posteriormente el SYSDBA? ¿Eso solucionaría el problema de mover la Base de Datos a otro servidor?

felipe88 06-08-2008 17:44:51

Hola,
Yo tengo otra pregunta, quien sea que quiera copiar tu base de datos ¿Como se da cuenta que esta hecha en firebird?, ademas si buscas la forma de proteger tu directorio la bd no seria "profanada" ;)

egostar 06-08-2008 17:58:35

Lo que pasa es que la seguridad no está creada en tu base de datos sino en el archivo security2.fdb que tienes en la carpeta donde instalaste firebird en tu maquina, no estoy seguro que pasa si copias ese archivo en la otra maquina, pero nuestro amigo jhonny te podria dar una mejor explicación al respecto :) el es el guru de firebird y sus modificaciones.

Por cierto, felicidades amigo jhonny, tu creación (FirebirdConfig) ha sido todo un exito :)

Salud PS

xander 06-08-2008 18:33:24

Es fácil lo que quieres hacer si usas los triggers de la base de datos Before/After Connect, pero solo con firebird 2.1 en adelante...

En estos triggers puedes validar que el usuario que pretende conectarse sea válido para ti y si no lo es el lanzamiento de una excepción en los triggers evita que el intruso llegue más allá.

AzidRain 06-08-2008 22:53:14

Lo de los triggers no le va a funcionar porque tendría que "soldar" el usuario dentro del código del trigger por lo que si después lo quiere cambiar será una lata.

Yo insisto que lo mas sencillo es proteger a nivel de Sistema operativo el directorio donde están alojadas los archivos de las bds de esta manera solo el administrador o quien se designe tendría acceso a esos archivos de otra manera sería imposible copiarlas, vamos ni siquiera ver que ahí están.

RONPABLO 06-08-2008 23:29:54

aquí puede encontrar ideas de que hacer para proteger su bd

egostar 06-08-2008 23:50:19

Puedes también realizar una pequeña aplicación donde ejecutes de forma sileciosa este comanado

Código:

gsec -user sysdba -pass masterkey -mo sysdba -pw nuevopassword
Esto no lo entiendo, como se haría ?????????

Cita:

Empezado por AzidRain
Yo insisto que lo mas sencillo es proteger a nivel de Sistema operativo el directorio donde están alojadas los archivos de las bds de esta manera solo el administrador o quien se designe tendría acceso a esos archivos de otra manera sería imposible copiarlas, vamos ni siquiera ver que ahí están.

Salud OS

juanelo 07-08-2008 00:03:55

Cita:

Empezado por xander (Mensaje 306111)
Es fácil lo que quieres hacer si usas los triggers de la base de datos Before/After Connect, pero solo con firebird 2.1 en adelante...

En estos triggers puedes validar que el usuario que pretende conectarse sea válido para ti y si no lo es el lanzamiento de una excepción en los triggers evita que el intruso llegue más allá.

Esta se me hace una muy buena idea, lastima que estos eventos como mencionas solo vengan apartir de la 2.1.
Saludos

Neftali [Germán.Estévez] 07-08-2008 09:23:47

Cita:

Empezado por AzidRain (Mensaje 306205)
Yo insisto que lo mas sencillo es proteger a nivel de Sistema operativo el directorio donde están alojadas los archivos de las bds de esta manera solo el administrador o quien se designe tendría acceso a esos archivos de otra manera sería imposible copiarlas, vamos ni siquiera ver que ahí están.

Pero eso no tiene mucho sentido, desde el punto de vista de la Base de Datos.
¿Estamos hablando de Firebird?
No puede ser que una Base de Datos (un SGBD) del que todo el mundo habla fantásticamente y lleva un buen puñado de años en el mercado (como mínimo 8 desde que se liberó IB) base su seguridad en que se proteja el directorio de los ficheros desde el sistema operativo.

Algo debemos estar haciendo mal.

Neftali [Germán.Estévez] 07-08-2008 09:27:08

Vale. ¡¡Pues sí puede ser!! Ahora me he quedado de piedra. :(:(

¿Cómo funciona la seguridad en Firebird?
Este tema de la seguridad de Firebird (e InterBase) se ha discutido mucho, pero hay que entender el fondo. InterBase fue diseñado como un software servidor de base de datos cuya seguridad se encuentra basada en la seguridad física del servidor. Es decir, se diseñó para que se instalara en una máquina (el servidor) y se utilizara siempre (para esa aplicación) en ese servidor. Por eso su modelo de seguridad requiere que los usuarios se den de alta en el servidor y si hay que cambiar de servidor o de lugar la base de datos, se tendrán que volver a agregar los usuarios en el nuevo servidor.
Ahora que Firebird es más popular, y habiendo heredado ese modelo de seguridad, queremos desarrollar aplicaciones con otro modelo de seguridad, por ejemplo, que se puedan portar de un lugar a otro y que se incluyan los usuarios dentro de nuestra aplicación, por lo que el modelo de seguridad original no es adecuado para ese tipo de aplicación.
También hay muchas preguntas sobre la "vulnerabilidad" de los datos, ya que si alguien copia una base de datos de un servidor a otro, podrá acceder a esa B.D. usando "SYSDBA" y "masterkey".
Pero por ello hay que entender el modelo de seguridad original, y en base a ello sacar nuestras conclusiones. Ni Firebird ni InterBase son vulnerables, ya que una vez instalados en un servidor, y cambiada la constraseña del SYSDBA y teniendo la seguridad física del servidor y el acceso físico al archivo de base de datos controlados, es un software muy seguro.
Este es un ejemplo más -como en la mayoría del software- de que los requisitos van evolucionando, y no dudamos que si llega a ser algo muy solicitado, los desarrolladores de Firebird modificarán el modelo de seguridad. Mientras tanto, entendamos que Firebird tiene un modelo de seguridad seguro, confiable y práctico, siempre y cuando se entiendan sus fundamentos.


Osea que sí que FB depende de la seguridad que implemente el Sistema Operativo sobre los ficheros de datos. :(:(:(

¡¡Qué chasco!!

AÑADO: Fuente del texto.

Casimiro Notevi 07-08-2008 10:04:50

Si tenemos un servidor con TODO cerrado menos el puerto 3050 ¿quién puede acceder él?... nadie, de ninguna forma.

Hay que tener en cuenta que no hace falta compartir nada en el servidor, ni recursos, ni directorios, ni nada de nada.

Incluso podemos usar 'alias' para las conexiones, por lo que los usuarios/clientes ni siquieran tendrán idea de dónde está realmente el servidor ni cuál es.

Ahora bien, ¿de qué sirve el mejor sistema de seguridad si tenemos en la aplicación una opción de copia de seguridad accesible para todo el mundo?

Neftali [Germán.Estévez] 07-08-2008 10:55:47

Supongo que se diseñó pensando en servidores dedicados; El problema es que eso hoy en día no es habitual. Sí (tal vez) para aplicaciones muy grandes, pero no para mediana/pequeñas.

Casimiro Notevi 07-08-2008 11:36:50

Cita:

Empezado por Neftali (Mensaje 306282)
Supongo que se diseñó pensando en servidores dedicados; El problema es que eso hoy en día no es habitual. Sí (tal vez) para aplicaciones muy grandes, pero no para mediana/pequeñas.


Efectivamente, se diseñó para servidore dedicados, pero las pequeñas y medianas empresas, de ahora, también está bien que tengan un servidor dedicado, nosotros (en mi trabajo) hacemos todas las instalaciones de esa manera, salvo en pequeñitos comercios que tienen uno o dos equipos y se aprovecha uno de ellos para hacer de servidor, pero en esos casos no creo que estén demasiado preocupados por si alguien pueda leer sus datos.

Aunque, de todas formas, creo haber leído que las últimas versiones de firebird implementan un nuevo sistema de seguridad en la base de datos, no recuerdo a partir de qué versión.

Neftali [Germán.Estévez] 07-08-2008 11:53:34

Depende de las conexiones, pero con las máquinas que hay hoy en día, tener un servidor dedicado sólo para el SGBD es tenerlo "muerto de risa".

juanelo 07-08-2008 17:05:20

Cita:

Empezado por Casimiro Notevi (Mensaje 306294)
Efectivamente, se diseñó para servidore dedicados, pero las pequeñas y medianas empresas, de ahora, también está bien que tengan un servidor dedicado, nosotros (en mi trabajo) hacemos todas las instalaciones de esa manera, salvo en pequeñitos comercios que tienen uno o dos equipos y se aprovecha uno de ellos para hacer de servidor, pero en esos casos no creo que estén demasiado preocupados por si alguien pueda leer sus datos.

Estoy totalmente de acuerdo con esto, y mas si evaluamos los costos que hoy representa tener una maquina dedicada, hoy dia ese costo es muy bajo, ya que firebird ya sea en su version windows o linux requieren de muy pocos recursos y por lo tanto el equipo en donde resida puede ser uno de mediano desempeño, pero al ser dedicado grarantiza un buen desdepeño para los usuarios.
Ahora bien, hay que ser realistas, la empresa que en verdad tiene informacion sensible en su base de datos, no confía solamente en la seguridad que esta le preste, la mayoria de estas empresa invierte dinero para endurecer su seguridad de manera fisica.
Para mi, lo que hasta hoy dia ofrece FB es suficiente, claro que si hacen algo para mejorar el aspecto de seguridad pues bienevenido.
Saludos

Delphius 07-08-2008 17:56:09

Hola, no se si lo que digo es una metida de pata, pero tengo entendido que la versión 3 que están planeando va a empezar a dar soportes de mayor seguridad.

Saludos,

jhonny 07-08-2008 18:04:15

Lo que dice Delphius es muy cierto, en este momento no recuerdo exactamente en que versión será, pero se ha planeado que la seguridad se por bases de datos y no como se viene haciendo actualmente.

Gallosuarez 07-08-2008 22:07:44

Seguridad en FB...
 
Srs.

En mi caso, la seguridad de FireBird dejó de ser un problema desde hace ya un tiempo. ¿Como lo solucioné?... Sencillo, utilizo un esquema mixto: servidor de datos dedicado (Linux Ubuntu Server 8.04) y los clientes se conectan en cualesquiera de los sabores de Window conocidos. ¿Precio? Lo mas barato del mercado: $500.00 USD (Principales características: Intel Xeon (2 procesadores, 2.4 GHz), 2 tarjetas de red Gigabit, 2 GB de memoria RAM, 2 discos duros de 100 GB c/u). Como se pueden dar cuenta, está al alcance de cualquier persona y bolsillo. Por mi parte es la solución que estoy utilizand en TODOS mis desarrollos (Cualquier cliente puede adquirir este servidor creanlo, pues resulta mucho mas barato que cualquier máquina ensamblada con Windows, y nunca se va a comparar con los beneficios que Linux otorga). Además el desempeño es barbaro. Todo funciona a la perfección. Estoy seguro que Neftali nunca a utilizado un esquema parecido. Amigo Neftalí, piensalo y aunque sea por curiosidad haz la prueba. Ignoro cual sea la base de datos que tú utilizas pero conozco al menos tres personas que utilizaban MySQL y despues de probar Firebird ya no quisieron saber nada de MySQL. ¿Sera por algo?. Por cierto, no se si sepan que el creador de Interbase (Jim Starkey, ¿asi se escribe?), estuvo trabajando un tiempo en el equipo de desarrollo de MySQL.

Saludos a todos los foristas,
Gerardo Suárez


La franja horaria es GMT +2. Ahora son las 17:10:44.

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