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)
-   -   Sobre la seguridad en base de datos (Firebird) (https://www.clubdelphi.com/foros/showthread.php?t=74804)

look 12-07-2011 17:52:00

Sobre la seguridad en base de datos (Firebird)
 
Hola amigos, el tema de la seguridad en este tipo de base de datos es algo que ha llegado a captar mi atencion y de cierta manera me ha generado un grado de inquietud.
hasta donde se la coneccion de firebird se hace por medio del servicio que corre en cada terminal o ordenador de el cual se direccionona a un archivo fisico *.gdb o *.fdb a diferencia de otros motores como el ms sql server en el cual las terminales se conectan directamente a un servicio.
mi inquietud surge debido a que me preocupa que un usuario con algo de conocimiento pueda abrir la base de datos puesto que basta con bajarse he instalarse cualquier admistrador como el ib-expert y podra abrir la base de datos y toquetear por doquier, sinembargo es algo que no ocurre en ms sql server si este no tiene acceso al servidor.
en un entorno en el cual varios ordenadores se conecten en red a una base de datos en firebird todas los ordenadores tendrian que mapearse a la unidad del servidor y direccionarlo a la base de datos por lo que el archivo de la base de datos queda algo vulnerable o por decir expuesto.
en fin puede que me equivoque soy algo novato en el uso de bases firebird pero es algo que me decepciona un poco, bueno .... dicho esto dejo el foro abierto para que os expongais sus experiencias con respecto a este tema.
¿como manejan el tema de la seguridad en sus bases fb?

Casimiro Notevi 12-07-2011 18:18:56

Bueno, no es exactamente así, no puedes direccionar mapeando unidades de red, debe ser la unidad física del servidor donde se aloja la BD, por ejemplo, si la BD está en 192.198.0.100:c:\datos\labasedato.fdb en los terminales tienes que poner exactamente eso. No valen unidades mapeadas.
De todas formas puedes crear un "alias" en el servidor , por ejemplo: "servidor", y los clientes se conectarían a "servidor" sin saber a dónde lleva.
Lo "normal", ya que vas a usar un servidor dedicado es montar uno en linux, ofrece un rendimiento mucho mayor que windows, es más seguro, y además el usuario "firebird" puede ser el único que tenga acceso a la BD, por lo que nadie más podría traerse/copiarse la BD, además que por la red ni siquiera podrían entrar al servidor.
Desde luego, no existen soluciones perfectas, no es lo mismo un usuario "normal" con algo de idea que algún "maestro" de los que están por aquí, que les da igual toda la seguridad que pongas.
Pero lo que quiero aclarar es que en un entorno cliente/servidor hay que proteger "físicamente" al servidor. Te pongo un ejemplo de "fallo de seguridad" bastante común: encierras el servidor en una caja fuerte blindada con unos militares armados hasta los dientes en la puerta, un usuario se conecta al programa, va a la opción "utilidades" y encuentra una que dice: "hacer backup de la BD", el programa inesperadamente le pregunta "en qué ruta guardar el backup", le indicas tu disco, o una memoria usb que tengas conectada... y listo. Te llevas la BD sin que se entere nadie :)

look 12-07-2011 18:47:22

hola Casimiro, gracias por responder, siempre pense que firebird necesitaba de una unidad mapeada para conectar la base en red, pero veo que no es asi, interesante ... hoy he aprendido algo nuevo.
gracias por aclarar amigo. :)
Saludos!.

Casimiro Notevi 12-07-2011 19:12:55

Pues no, precisamente así no funciona, sólo has de tener el servidio de firebird funcionando en el servidor y el puerto 3050 abierto, nada más, nada de compartir directorios, ni unidades mapeadas, ni nada de nada, así que desde la red nadie puede acceder al servidor.
En servidores windows se puede acceder sólo a unidades locales del servidor, sin embargo si usas linux puedes "montar" cualquier unidad aunque esté externa porque linux "la ve" como interna.
Puedes tener la BD en /mnt/disco/tubasedatos.fdb y 'disco' puede ser cualquier unidad o partición de un disco interno o externo, conectado en red a otro servidor, a un NAS, a un RAID externo, etc.

look 12-07-2011 19:17:33

Cita:

Empezado por Casimiro Notevi (Mensaje 406133)
sin embargo si usas linux puedes "montar" cualquier unidad aunque esté externa porque linux "la ve" como interna.
Puedes tener la BD en /mnt/disco/tubasedatos.fdb y 'disco' puede ser cualquier unidad o partición de un disco interno o externo, conectado en red a otro servidor, a un NAS, a un RAID externo, etc.

siempre he querido montar un servidor linux, ¿que version me recomiendas y donde puedo descargarla?

Casimiro Notevi 12-07-2011 20:55:30

Puedes usar la que más te guste, ten en cuenta que básicamente son lo mismo, el kernel y luego los programas que cada uno haya decidido usar.
Puedes usar centos, debian, redhat, suse, ubuntu, etc.
Todos nuestros clientes tienen servidores linux y todos funcionan perfectamente, sea la distribución que sea.
Las puedes descargar y probar antes, para ver cual te gusta más, ¿de dónde? pues de www.debian.org, de www.opensuse.org.es, de www.ubuntu.com, etc.

look 12-07-2011 21:21:51

Cita:

Empezado por Casimiro Notevi (Mensaje 406155)
Puedes usar la que más te guste, ten en cuenta que básicamente son lo mismo, el kernel y luego los programas que cada uno haya decidido usar.
Puedes usar centos, debian, redhat, suse, ubuntu, etc.
Todos nuestros clientes tienen servidores linux y todos funcionan perfectamente, sea la distribución que sea.
Las puedes descargar y probar antes, para ver cual te gusta más, ¿de dónde? pues de www.debian.org, de www.opensuse.org.es, de www.ubuntu.com, etc.

Gracias amigo, ya estoy descargando ubuntu, se ve muy interesante. :)

Casimiro Notevi 12-07-2011 21:35:45

Yo instalé en mi equipo ubuntu desktop y luego actualicé el kernel a la server, así que ahora tengo la server con el entorno gráfico de la desktop.

Para empezar puedes usar la versión desktop que te facilitará las cosas y luego cuando tengas práctica puedes instalar la versión server en los servidores.

Wikipedia usa ubuntu server en sus servidores.

Por cierto, ahora están regalando los servidores (las máquinas) porque van a cambiarlas.

Paoti 12-07-2011 22:02:04

aunado a todo lo que comentan.. tambien peude hacer la llamada a labase de deatos dels ervidor de la siguiente manera


servidor:basededatos

en vez de


servidor:C:\algutaruta\basedatos.fdb


usando aliases.conf agregando la siguiente linea.

basededatos = C:\algutaruta\basedatos.fdb

y es todo.

http://www.ibexpert.info/ibe/index.p...guringFirebird

Casimiro Notevi 12-07-2011 22:19:18

Sí, también le he explicado lo de los alias :)

Saludos, amigo Paoti.

look 12-07-2011 23:08:07

Cita:

Empezado por Casimiro Notevi (Mensaje 406167)
Yo instalé en mi equipo ubuntu desktop y luego actualicé el kernel a la server, así que ahora tengo la server con el entorno gráfico de la desktop.

Para empezar puedes usar la versión desktop que te facilitará las cosas y luego cuando tengas práctica puedes instalar la versión server en los servidores.

Wikipedia usa ubuntu server en sus servidores.

Por cierto, ahora están regalando los servidores (las máquinas) porque van a cambiarlas.

ohh buena idea, voy a empezar de este modo... asi se me va a hacer mas facil.
Saludos!.

ContraVeneno 14-07-2011 00:20:55

Cualquier usuario con algo de conocimiento sobre MS SQL Server, también se puede conectar a la base de datos instalando cualquier.... ahem, no cualquier programa... SQL Server y conectarse a la base de datos (o al servicio) y moverle aquí y allá y sacar respaldos sin que nadie se entere (a tiempo).

igual que con firebird...

No hay soluciones perfectas, ni aquí, ni allá.


La franja horaria es GMT +2. Ahora son las 03:23:23.

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