FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Seguridad de la base de datos de Firebird 2.5.2
Buenos dias,
Como soy nuevo en este foro, pues me presento. Mi nombre es Kiranov (Alberto) y soy del estado mexicano de Chihuahua. Empeze en el año de 1996 con Turbo Pascal y Foxpro, aunque me incline mas por el lado de Visual Foxpro durante muchos años. Fue hasta el año pasado cuando decidi retomar el lenguaje pascal de nuevo. Eh estado experimentando con Delphi y con Lazarus, probando la base de datos de firebird. Conoci este sitio pero nunca me habia decidido a publicar o a preguntar nada ya que hago uso de la busqueda primero para ver si alguien no ha preguntando mis dudas primero y habia fungido como usuario pasivo. Bien, ya despues de esta breve presentacion hablare hacerca de lo que propuse en el titulo. Como es bien sabido, la seguridad de la base de datos de firebird no es muy buena que digamos al igual que la base de datos de foxpro. En muchos desarrollos que hice en foxpro usaba un procedimiento para darle un poco de seguridad a la base de datos y hacer un poco mas dificil (no puedo decir que impedir) el acceso de un usuario a las tablas. Mi duda es si existe alguna forma de en un evento de la base de datos, hacer que este reciba los parametros de autenticacion y los compare con informacion de alguna tabla y dependiendo el caso permita o no acceso a la base de datos. Este segmento de codigo es un procedimiento en el Archivo DBC de foxpro, donde hacia la validacion. Lo intento llevar y mejorar en FB. PROCEDURE dbc_OpenData(cDatabaseName, lExclusive, lNoupdate, lValidate) *Immediately after DBC is opened. LOCAL lcPass lcPass = "PASSword" && Esta es la contraseña IF VARTYPE(gc_P_A_S_S) # "C" OR gc_P_A_S_S # lcPass PUBLIC gc_P_A_S_S gc_P_A_S_S = INPUTBOX("Ingrese contraseña para la base de datos: " ; + UPPER(JUSTFNAME(cDatabaseName)), "Aviso", "") ENDIF RETURN gc_P_A_S_S == lcPass ENDPROCGracias y por mi cuenta seguire investigando, cualquier cosa les comentare por aqui. Atte, Kiranov
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
#2
|
||||
|
||||
Cita:
Te invito a leer el paper Firebird File and Metadata Security que puedes encontrar en el sitio de documentación de Firebird y después vienes ¿OK? Saludos, |
#3
|
||||
|
||||
Hola Kiranov, bienvenido a Club Delphi.
Creo que hay varios puntos que desconoces sobre la seguridad de Firebird, te recomiendo la lectura de este artículo: Firebird Administración y seguridad. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
||||
|
||||
Hola Alberto, tocayo y paisano. Que gusto ver por aquí a otros programadores de mi tierra.
Primero que nada, siéntete bienvenido de participar cada vez que gustes. Recuerda que la fortaleza de un foro está en la participación constante de sus integrantes, y que cada buena pregunta hecha vale tanto como cada buena respuesta. Te recomiendo sobremanera consultar el documento que te enlazó el compañero ecfisa. En tu caso es recomendable revisar los temas de permisos, roles y la instrucción Grant de Firebird. Encontrarás lo bien que puede manejarse la seguridad con este estupendo motor de bases de datos. Un saludo y, ya sabes, ante cualquier duda el foro está para ayudar. |
#5
|
||||
|
||||
Cita:
Saludos. |
#6
|
||||
|
||||
Gracias por sus rapidisimas respuestas y creanme que en verdad lamento haber lastimado algunos sentimientos dado a falta de alguna coma o acento, por este detalle pido mil disculpas. Yo mismo soy fan de Firebird porque conozco las capacidades de esa base de datos. Si embargo, según tengo entendido la seguridad de firebird se basa principalmente en la seguridad del entorno, por ejemplo:
Todo esto es una maravilla, sin embargo, que impediria que un usuario que tiene acceso físico al servidor saque una copia de la base de datos, la copie a otro equipo que tenga firebird y realice una conexion a la base de datos teniendo acceso a la estructura de la base de datos y peor aun, a los datos de los mismo clientes? yo he realizado esta prueba. Gracias a todos y espero sus comentarios. @Delphius: Gracias por el consejo de investigar, creeme que el ultimo recurso que utilizo es postear, primero es investigar. segui tu consejo de primero leer y luego volver. Gracias. @Ecfisa: Gracias por el articulo de Tejero y Espinoza, muy entendible y va al grano. Saludos. @Al Gonzalez: Gracias por la calurosa bienvenida paisano. Vamos a echarle ganas! Gracias a todos! P.D."No me coman todavía, recuerden que soy nuevecito aun!" - Frase celebre de Sid, el peresozo de la era de hielo...
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
#7
|
||||
|
||||
Cita:
Estoy de acuerdo con lo que comentas arriba. Pero, eso no es una falla de seguridad de la base de datos, sino del diseño de la seguridad del sistema:
Y si encima de esto cualquiera puede obtener los privilegios del S.O. para realizar una copia de la base de datos, está claro donde está la falla de seguridad. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 24-01-2013 a las 04:58:05. |
#8
|
||||
|
||||
Cita:
Como ha dicho ecfisa, si alguien puede meter mano al server algo anda mal y no tiene la culpa de eso ni Firebird ni el SO del servidor... la culpa ya es de quien lo administra y controla. Para la versión 3.0 se espera que se incorpore, además, la seguridad a nivel de base de datos. Saludos, |
#9
|
||||
|
||||
considero, es mi parecer, que el poder acceder fisicamente a un FDB ó GDB en un momento dado puede tener más ventajas que inconvenientes si por algun motivo el sysdba desaparece o boicotea el sistema; lo digo por experiencia.
resulta más fácil proteger la maquina que el fichero, o eso creo
__________________
online |
#10
|
|||
|
|||
Cita:
Pero centrándonos en el tema de la seguridad a nivel de base de datos. ¿ Esta confirmado el tema de que en la versión 3.0 se va a incluir este nivel de seguridad? por que pienso que seria el paso enorme para eliminar el miedo que nos hace a muchos el cuestionarnos usar Firebird. ¿Tenéis alguna información al respecto? por que he estado buscando información de este tema y no he encontrado nada que me diga que así va a ser. Aprovecho la ocasión para preguntar ( si no es mucho pedir ) si alguien sabe de algún administrador de base de datos tipo IBexpert que me permita trabajar con firebird 3.0. Gracias de antemano a todos y un cordial saludo. |
#11
|
||||
|
||||
Cita:
Repito: si alguien, cualquiera no autorizado, puede meter sus manos al servidor es que sus políticas y medidas de seguridad no están bien planteadas. Y no interesa si hay medidas en lo lógico. Se me hace que falta un poco de cátedra de auditoría por algunos lares. En los estándares justamente se define y se centran muchísimo más en la seguridad física; después de todo en lo lógico queda abierto a que se defina de forma secundaria y en base las posibilidades y las políticas de la empresa/organización y son medidas complementarias a las primeras. Cada país tiene su propia ley de protección de datos. Por otro lado, cuando se trata de datos sensibles justamente hay mecanismos que pueden aportar al tema, y estos son excluyentes a lo que son base de datos. Ese no es el trabajo de un motor. Es decir, que implementar esas medidas de seguridad son ya responsabilidad de quien elabora y lleva a cabo el proyecto. Repito: un motor de base de datos no tiene porqué hacerlo ni implementar otras medidas de seguridad a nivel de datos dentro de sus bases de datos por defecto. Si tu deseas resguardar los datos de forma lógica, emplea y complementa con otras herramientas y tecnologías que están pensadas para eso. Por ejemplo, si necesitas almacenar información cifrada entonces hazlo vía sistema, no le des más trabajo al motor. Al motor no le interesa que sea cifrada o no el contenido, el regresa lo que le mandes. Tu aplicación es la responsable de coordinar y garantizar de llevar a cabo las medidas de seguridad complementarias. Ya el motor tiene su cuota de medida de seguridad para garantizar que los datos se mantengan de forma íntegra y puedan recuperarse ante ciertos niveles, y tolerable, de fallos. Cita:
No por leer la metadata de la estructura de la base de datos y los procedimientos implementados se está en una violación de la propiedad del desarrollador/empresa desarrolladora. Es más hasta cierto punto esta información debiera ser pública puesto que al ser los datos de la empresa tiene parte de los derechos de saber cómo es que están estructurados y como procesarlos si en el futuro necesita migrar a otros entornos y/o infraestructura. Negarles esta posibilidad es atar a una empresa a un modelo muy cerrado y totalmente dependiente de quien desarrolla el sistema. Nuevamente invito a leer el paper Cita:
Cita:
También está FlameRobin, que es la contraparte Open Source de IBExpert... y que incluso es multiplataforma. Seguramente también se ha de esperar que salgan nuevas liberaciones de FlameRobin para la versión 3 de Firebird. Saludos, |
#12
|
|||
|
|||
Gracias por la informacion Delphius. Respecto a lo de la seguridad simplemente discrepamos y tenemos diferentes puntos de vista eso es todo. Pero lo bueno Y enriquecedor es que haya diferentes opiniones y formas de ver la vida. Sigo pensando que un control de usuarios a nivel de base de datos es mucho mas util y necesario. Este nivel de seguridad no implica que el cliente tenga o no acceso a sus datos pero le da un nivel extra de seguridad. Insisto, es mi forma de pensar y entiendo perfectamente la tuya, incluso la comparto, yo tambien considero que la seguridad a nivel de hardware en primera instancia y de S.O. En segunda instancia son imprescindibles, pero considero tambien necesario un tercer nivel de seguridad a nivel de Base de datos. De todos mosdos, si como parece, con la version 3 de firebird esto va incluido todos quedamos contentos y me imagino que sera porque lo han visto como una buena mejora
Lo de el administrador de la base de datos reconozco que ha sido una ida de olla perdon a todos por mi ida de olla. Agradezco tu tiempo empleado en responderme y la prontitud con la que lo has hecho, tal y como ocurre siempre desde este magnifico portal, que se ha convertido en una herramienta casi imprescindible para los que andamos en el mundo de Delphi. Un abrazo a todos. Última edición por belpab fecha: 12-02-2013 a las 19:58:56. |
#13
|
||||
|
||||
Cita:
En pasadas ocaciones que he mencionado mejoras que quería ver en Firebird con respecto a la seguridad fuí criticado. Acá en este Club hay grandiosas personas. Pero también aveces te encuentras con opiniones molestas y ruidosas. Gente que se cierra en sus ideas, que por haberse aprendido todo el manual deja de ver las posibilidades fuera de ese manual. @Kiranov muchas de tus incetidumbres de seguridad también las padecen otros motores de DB. Para solventarlas, a cómo te han dicho, lo importante es la seguridad fisica y virtual del servidor en dónde esté la DB. Firebird tiene otras fallas o faltas de seguridad aún no mencionadas: * En autenticación nativa de Firebird, el servidor solo utiliza los primeros 8 carácteres de la contraseña. Inclusive la contraseña predeterminada masterkey no es evaluada complemente. Esto no es una característica, es un bug que viene desde Interbase (eso creo). El equipo de Firebird no lo ha reparado por temor a romper la retro compatibilidad. * Firebird no ofrece un protocolo de transmisión de datos por TLS. Los datos viajan en texto plano y la autenticación se hace por medio de una encriptación básica que deja mucho que desear si la comparas con TLS. Muchos dicen: "Esperen a FB 3.0 y verán!" pero hasta donde recuerdo esa versión está planeada desde hace 5 años más o menos. No lo digo en mal plan. El equipo de desarrollo de Firebird es pequeño y seguramente tendrán muchas cosas por hacer. Lo que quiero decir es que no te creas el cuento de que Firebird 3.0 está por salir y esa versión resolverá tus incertidumbres de seguridad. Saludos! |
#14
|
||||
|
||||
Cita:
Ahora mismo la 3 es la siguiente que toca, no hay otra que se intercale, por lo que puede que este mismo año esté. Incluso ahora mismo puedes descargar la versión de prueba para testearla. Una duda: ¿qué base de datos usa TLS sin "ayuda externa?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 13-02-2013 a las 20:13:43. |
#15
|
||||
|
||||
Cita:
No pienses que me refiero a ti, Delphius, aunque harías bien en ser más amable con los compañeros. Creo que debemos seguirle apostando a la madurez y al crecimiento ético de cada integrante del foro. Sólo así mejora cualquier grupo social. Un cordial saludo. Al. |
#16
|
||||
|
||||
Talvez me equivoqué en esa. Me parece que fue por el 2008 cuando se anunció por primera vez el roadmap para FB 3.0.
Un ejemplo de DBs que usan TLS/SSL sin intermediarios son PostgreSQL y MySQL Saludos! |
#17
|
||||
|
||||
Está bien, aunque supongo que tampoco es un problema para quien quiera más seguridad, puede usar zebedee, por ejemplo.
Personalmente me gusta que la BD esté lo más libre de carga posible, y el cifrar/descifrar información para enviarla por red no me parece que sea algo que deba hacer la BD, pero bueno, que tampoco lo veo mal, aunque no creo que lo usara aunque dispusiera de esa opción. El caso es que firebird no lo usa para transmisión de datos, aunque para "autenticarse" sí que usa ssl/tls, al menos eso es lo que entiendo de esto: Cita:
|
#19
|
||||
|
||||
El acceso a la base de datos física es un gran problema para Firebird pero también para otras muchas. A mi me han llegado solicitudes de traspasos de datos desde SQLServer y MySQL por ejemplo y fueron llevados a cabo. Y no hace falta saber la contraseña de administración, basta una copia de la carpeta de datos. Claro que era con el consentimiento expreso del cliente. El primer paso básico es administrar ese acceso físico al archivo/s de datos. He visto aplicaciones que ubicaban la base de datos en carpetas compartidas del servidor.
__________________
http://www.gestionportable.com |
#20
|
|||||
|
|||||
A mi me late que desde cierta discusión en que te la pensaste que con tus puntos finales se acabaría el hilo y te daríamos la razón aún cuando los demás teníamos sobradas evidencias de que por tu propuesta no estaba la solución te la tienes conmigo... va... de hecho, desde que me aparecí por el club tu te la tienes conmigo.
Asi que si hay odiosos aquí, los hay y hubo, antes de que yo llegara. Cita:
Cita:
Cita:
Pero lo chistoso es que previamente se autodenomina alguien no debidamente preparado para aventar tales palabras ya que recientemente apenas la ha estado probando: Cita:
Una de las primeras cosas que se hace, o mejor dicho, debiera hacerse es leer la documentación. Yo mismo admito que no me las se todas, pero al menos tomé la decisión de agarrar esa cosa que descartamos la mayoría: el manual. Y hago un intento para aprender alguito más. Tal es así que como dije antes, hasta incluso me he tomado la "molestia" de traducir buena parte del material, aunque para la versión 1.5 y un tanto quedada en el tiempo, y me he contactado con Ernesto Cullen, una de las personas encargadas del equipo de traducción al español. Hemos hecho el intento de darle movilidad al tema pero por falta de tiempos y cierta desprolijidad mía en la presentación del documento no se ha avanzado. Me ha sugerido que me anime a a subirme a la lista, y trabajar en la forma en como trabajan ellos para llevar el registro de versiones y documentación; tales herramientas me han resultado un obstáculo, me cuesta entenderlas. Ya veré nuevamente más adelante, ya con 2.5/3 desde tecnología Open Source. Cita:
Yo puedo ser muy paciente, y bastante lo he sido. Por otro lado si encuentro incongruencias en los dichos, he de señalarlos. De otro modo se seguirá propagando ciertas cosas, al punto en que el rumor, los mitos y las malas prensas que se le hacen a Firebird, y hasta convengamos que con el mismísimo Delphi. Si no busquen en el foro, ¿cuántas veces se ha terminando debatiendo el mito de que Firebird no es seguro y que es un juguete? Ya es cansador seguirle con las vueltas ¿no creen? Me lo digo a mi, y los digos a todos: RTFMS... o para decirlo más fino: Read The Fucking Manual. Saludos para algunos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sobre la seguridad en base de datos (Firebird) | look | Firebird e Interbase | 11 | 14-07-2011 00:20:55 |
¿base de datos seguridad con los campos ? | JXJ | Internet | 4 | 13-05-2011 09:17:52 |
Realizar copia de seguridad de una base de datos | alt126 | C++ Builder | 0 | 17-11-2005 09:27:39 |
copia de seguridad de base de datos | davidfp | Conexión con bases de datos | 9 | 26-05-2005 15:09:54 |
Copia de seguridad base de datos | melanthea | C++ Builder | 3 | 14-06-2004 21:53:07 |
|