Firebird 3: software de 32 bits y de 64 bits

8 comentarios

Si nuestro Servidor es Firebird 3, debemos recordar lo siguiente:

  1. Si la aplicación que deseamos ejecutar fue compilada en 32 bits (nuestra propia aplicación, IBExpert, FlameRobin, etc.) entonces se requiere el archivo FBCLIENT.DLL de 32 bits, aún cuando el Servidor del Firebird 3 sea de 64 bits. Si es nuestra aplicación la que fue compilada en 32 bits entonces lo aconsejable es que el archivo FBCLIENT.DLL de 32 bits se encuentre en la misma carpeta en la cual se encuentra nuestro .EXE, así evitamos confusiones con otros archivos FBCLIENT.DLL que pudieran encontrarse en la misma computadora.
  2. Un Servidor Firebird 3 de 64 bits puede aceptar conexiones de un FBCLIENT.DLL de 32 bits o de 64 bits, indistintamente. Un Servidor Firebird 3 de 32 bits solamente puede aceptar conexiones de un FBCLIENT.DLL de 32 bits.
  3. La ODS (On Disk Structure) de una Base de Datos creada con Firebird 3 es exactamente la misma, sea que esa Base de Datos haya sido creada con la versión de 32 bits o con la versión de 64 bits.
  4. No se debe permitir la conexión a una Base de Datos con el Servidor de 32 bits y con el Servidor de 64 bits al mismo tiempo. O con el uno, o con el otro, pero no con ambos a la vez porque eso corromperá a la Base de Datos.

Artículos relacionados:

¿Qué es la versión de ODS?

Firebird 3: usando bases de datos anteriores

El índice del blog Firebird21

El foro del blog Firebird21

 

 

 

Anuncios

Teniendo los backups en la nube

2 comentarios

La gran importancia de tener backups actualizados supongo que no es necesario recalcar a los profesionales de la Informática. Todos sabemos demasiado bien que si una Base de Datos se daña o se corrompe un backup actualizado salvará la situación.

Y nuestra buena fama profesional.

Ahora la pregunta es: después de tener el backup ¿dónde lo guardamos?

Tradicionalmente se aconsejaba tener siempre dos copias del backup. Una de ellas muy cerca del Servidor y otra muy lejos de él, quizás en otra ciudad.

La copia cercana al Servidor la usábamos si se dañó el disco duro, se corrompió la Base de Datos o algo así. Necesitábamos acceder a esa copia lo más rápidamente posible y por lo tanto debíamos tenerla bien cerca. La copia alejada del Servidor la usaríamos si ocurrió una catástrofe como un incendio, un robo, un atentado terrorista, etc. Entonces, aunque la habitación donde se encontraba el Servidor fue destruida teníamos un backup guardado en lugar seguro (en el domicilio del propietario de la Empresa, por ejemplo).

Esa metodología puede seguir usándose, pero desde hace unos cuantos años tenemos otra alternativa, muy interesante: guardar los backups en la nube. De esta manera obtendríamos las dos ventajas anteriores y de una sola vez: nuestros backups estarían muy cerca (a unos clics de distancia) y en caso de catástrofe no sufrirían daño (porque se encuentran en otras computadoras y posiblemente en otro país). Claro que esto no obvia la necesidad de guardar los backups en dispositivos de almacenamiento a nuestro alcance (CD, DVD, pen-drive, otro disco duro, etc.)

En Internet podemos encontrar muchos sitios gratuitos que permiten el almacenamiento de archivos. Pero el tema no es solamente guardar nuestros archivos en esos sitios sino que también la tarea se realice lo más automáticamente posible, con un mínimo de trabajo de nuestra parte.

En este artículo nos referiremos a dos de esos sitios: DropBox y Mega.

Ambos funcionan de la misma manera:

  1. Abres una cuenta
  2. Descargas e instalas un programa
  3. Determinas cuales son las carpetas que serán sincronizadas
  4. Todos los archivos que guardes en las carpetas elegidas serán subidos a Internet
  5. Si necesitas recuperar uno de esos archivos, ingresas al sitio con tu nombre de usuario y contraseña y descargas el archivo

Como ves, todo es muy simple, muy fácil y muy sencillo.

Backup en la nube usando DropBox

Primero, ingresamos al sitio:

https://www.dropbox.com/es/

NUBE01

Captura 1. Si haces clic en la imagen la verás más grande

NUBE02

Captura 2. Si haces clic en la imagen la verás más grande

Como nos dice el mensaje, después de finalizada la descarga debemos instalar al Dropbox en nuestra computadora.

Una vez que esté instalado deberemos iniciar sesión.

NUBE03

Captura 3. Si haces clic en la imagen la verás más grande

(A veces iniciar sesión se demora algunos minutos, no desesperes, ya se iniciará).

NUBE05

Captura 4. Si haces clic en la imagen la verás más grande

Si ves el cuadro de diálogo de la Captura 4. eso significa que en tu disco C: (que es en donde por defecto sincroniza las carpetas el Dropbox) tienes muy poco espacio. La cuenta gratuita te provee de 2.5 Gb así que en tu disco C: debes tener al menos ese espacio libre.

NUBE06

Captura 5. Si haces clic en la imagen la verás más grande

Si todo está ok, verás la Captura 5.

Para crear la carpeta que por defecto usará el Dropbox debes hacer clic en el botón “Abrir mi carpeta de Dropbox”, si prefieres que la carpeta a sincronizar sea otra entonces debes hacer clic en “Configuración avanzada” y verás la Captura 6.

NUBE07

Captura 6. Si haces clic en la imagen la verás más grande

El paso (1) es elegir la carpeta que queremos sincronizar. El paso (2) es abrir esa carpeta para que sea creada.

A partir de este momento, todos los archivos que guardemos en la carpeta elegida, se subirán a Internet. Tendremos así un resguardo seguro para todos nuestros archivos.

Si más adelante queremos cambiar esa carpeta o alguna de las demás opciones del Dropbox entonces hacemos clic en el icono que se encuentra en la barra de tareas del Windows, luego en la ruedita dentada y luego en “Preferencias…”

NUBE09

Captura 7. Si haces clic en la imagen la verás más grande

NUBE10

Captura 8. Si haces clic en la imagen la verás más grande

Como habrás notado, un icono del Dropbox se encuentra en la barra de tareas del Windows, haciendo clic en ese icono verás un cuadro de diálogo similar al que te muestra la Captura 9.

NUBE11

Captura 9. Si haces clic en la imagen la verás más grande

  • Si haces clic en (1) verás todas las opciones que tienes disponibles
  • Si haces clic en (2) podrás ver la carpeta de Dropbox de tu computadora
  • Si haces clic en (3) ingresarás al sitio https://www.dropbox.com/home

Recuperando los archivos:

Cuando necesites recuperar los archivos que tienes guardados en la nube, tienes dos alternativas:

  1. Hacer clic en (3) de la Captura 9.
  2. Ingresar al sitio: https://www.dropbox.com/ Luego haces clic en “Inicia sesión”, escribes tu e-mail, tu contraseña, y listo.

En ambos casos el Dropbox te mostrará todos los archivos que tienes en la nube, haces clic con el botón derecho sobre el archivo que te interesa descargar y ya está, eso es todo.

NOTA: El Dropbox tiene muchísimas más opciones que si te interesa puedes investigar por tu cuenta. La finalidad de este artículo no es enseñarte a usarlas sino a mostrarte como usando Dropbox puedes tener los backups de tus bases de datos en la nube, de una manera fácil y sencilla y sin ningún trabajo posterior de tu parte (salvo, por supuesto, el de copiar tus archivos de backup en la carpeta sincronizada).

Backup en la nube usando Mega

El sitio https://mega.nz/ ofrece 50 Gb de almacenamiento gratuito (Dropbox solamente 2.5 Gb gratis).

Una vez que ingresamos a ese sitio hacemos clic en el botón “Crear cuenta” que se encuentra en la parte superior de la pantalla, completamos los datos del registro y hacemos clic en el botón “Crear cuenta >” que se encuentra abajo.

Recibirás un e-mail que te pedirá hacer clic en el botón “Activar cuenta”.

Después de hacerlo te llevará a una página web donde deberás confirmar tu cuenta.

Una vez confirmada, deberás elegir el tipo de cuenta que te interesa, gratuita o de pago.

Ahora ya puedes subir archivos a esa carpeta, pero de forma manual. O sea que tú deberás elegir cuales archivos deseas subir. Sin embargo, lo mejor es que esa tarea se realice de manera automática. Para ello debemos descargar e instalar el Cliente de Sincronización de Mega.

NUBE12

Captura 10. Si haces clic en la imagen la verás más grande

Una vez finalizada la descarga y la instalación del Cliente de Sincronización de Mega, veremos un cuadro de diálogo como el que nos muestra la Captura 11.

NUBE13

Captura 11. Si haces clic en la imagen la verás más grande

Como ya habíamos creado una cuenta de Mega entonces hacemos clic en el botón “Siguiente”, en la siguiente pantalla escribimos nuestro e-mail y contraseña, en la siguiente pantalla elegimos “Sincronización selectiva” (porque si nuestro disco duro es de gran capacidad tardará una eternidad en subirlo a la nube)

NUBE14

Captura 12. Si haces clic en la imagen la verás más grande

NUBE15

Captura 13. Si haces clic en la imagen la verás más grande

 En la barra de tareas del Windows verás el icono de Mega. Haciendo clic en él se muestra un cuadro de diálogo similar al de la Captura 13. Eligiendo la opción “Ajustes” se tienen las opciones disponibles. La más interesante es “Sincronizando” porque nos permite agregar todas las carpetas que queremos sincronizar.

NUBE16

Captura 14. Si haces clic en la imagen la verás más grande

 A partir de este momento, todos los archivos que coloquemos en las carpetas locales que se muestran en la Captura 14. se subirán a Internet, automáticamente.

Podemos tener muchas carpetas y muchos archivos en cada una de esas carpetas. Los archivos pueden ser de cualquier tipo. El único requisito es que su tamaño total no debe superar la capacidad de nuestra cuenta (que en el caso de ser gratuita es de 50 Gb.)

Recuperando los archivos

Ok, ya hemos instalado el Cliente de Sincronización de Mega, ya hemos elegido las carpetas que deseamos sincronizar y ahora queremos recuperar alguno de esos archivos. ¿Cómo lo hacemos?

  1. Ingresamos al sitio: https://mega.nz/ (escribiendo esa dirección en el navegador o haciendo clic en el icono de la barra de tareas del Windows)
  2. Hacemos clic en el botón “Iniciar sesión”
  3. Escribimos nuestro e-mail y nuestra contraseña
  4. Veremos los nombres de las carpetas que hemos creado. Haciendo clic sobre ellas veremos los archivos que contienen
  5. Haciendo clic con el botón derecho sobre el nombre de un archivo veremos un menú contextual que nos permitirá descargar a ese archivo.

NUBE17

Captura 15. Si haces clic en la imagen la verás más grande

Como ves, simple, fácil, sencillo, sin complicaciones.

Conclusión:

Tener backups actualizados es de suma importancia porque es la forma más rápida y más segura de recuperar datos si ocurre algún problema.

Desde hace unos años tenemos la opción de guardar esos archivos de backup en la nube. Hay muchos sitios que nos permiten eso, dos de los más conocidos son Dropbox y Mega.

Dropbox ofrece 2.5 Gb gratuitos, pero tiene la ventaja de que los archivos pueden ser accedidos desde cualquier dispositivo que pueda conectarse a Internet, no solamente computadoras. Una de sus desventajas es que solamente permite sincronizar a una carpeta, cualquier carpeta que deseemos, pero una sola carpeta.

Mega ofrece 50 Gb gratuitos y tiene la ventaja de que podemos sincronizar muchas carpetas.

MUY IMPORTANTE: Tanto si usamos Dropbox o Mega o cualquier otro sitio de almacenamiento de archivos lo que debemos recordar es que en las carpetas sincronizadas debemos guardar los backups, jamás, pero jamás, debemos guardar en ellas las bases de datos o las corromperemos. NO LO OLVIDES: Si pones una Base de Datos en una carpeta sincronizada, corromperás la Base de Datos.

Artículos relacionados:

¿Se puede usar Dropbox con bases de datos?

Usando MEGA para guardar archivos en la nube

El índice del blog Firebird21

El foro del blog Firebird21

Averiguando cual es la arquitectura que tienes instalada

2 comentarios

¿Cómo saber si el Servidor del Firebird es SuperServer, Classic, o SuperClassic?

Realmente sería interesante que mediante un SELECT pudiéramos tener esa información, lamentablemente no es así pero de todas maneras podemos averiguarlo fácilmente. Hay dos métodos que podemos usar:

Método 1.

  1. Abrir como Administrador la ventana “Símbolo del sistema
  2. Ubicarse en la subcarpeta \BIN de la carpeta donde está instalado el Firebird
  3. Escribir el comando INSTSVC Q

Firebird puede ser instalado muchas veces en una computadora, para diferenciar a cada una de esas instalaciones de las demás a cada una hay que darle un nombre. El nombre por defecto, o sea el que le asigna el instalador es “DefaultInstance”.

Si tenemos más de una instalación del Firebird en una computadora, las demás instalaciones deberán tener otros nombres.

ARQUITECTURA1Captura 1. Si haces clic en la imagen la verás más grande

(1). La ventanita se abrió como Administrador. Para abrir un programa como Administrador debes colocar el mouse sobre su nombre, presionar el botón derecho y en el menú contextual que aparece elegir la opción: “Ejecutar como Administrador”

(2). El nombre de esta instalación es “DefaultInstance”, que es el nombre por defecto. Si hay más de una instalación del Firebird entonces podría aparecer otro nombre aquí.

(3). Los nombres de los archivos ejecutables pueden ser:

fbserver.exe —> significa que se está ejecutando SuperServer

fb_inet_server.exe —> significa que se está ejecutando Classic o SuperClassic. Para saber cual de ellos hay que mirar cual es el parámetro que viene a continuación: -c o ningún parámetro, es Classic. -s o -m es SuperClassic.

Método 2

  1.  Iniciar el Administrador de Tareas del Windows
  2. Hacer clic en la pestaña Procesos
  3. Hacer clic en el botón Mostrar procesos de todos los usuarios
  4. Si aparece una ventanita de diálogo preguntando: ¿Desea permitir que este programa realice cambios en el equipo? responderle que sí
  5. En la lista de procesos verás a fbserver.exe o a fb_inet_server.exe.

Por defecto Firebird se instala en SYSTEM.

Conclusión:

Aunque lamentablemente no disponemos de un SELECT que nos pueda decir la arquitectura del Servidor, es muy fácil obtener esa información y tenemos dos métodos para obtenerla.

Mediante el método 1 abrimos como Administrador una ventanita de comandos, nos ubicamos en la subcarpeta \BIN de nuestra instalación del Firebird y escribimos el comando INSTSVC Q

Mediante el método 2 iniciamos el Administrador de tareas del Windows, le pedimos que nos muestre todos los procesos y listo.

En ambos casos, fbserver.exe significa SuperServer y fb_inet_server.exe significa Classic o SuperClassic, para saber cual de ellos hay que fijarse en el parámetro que aparece a continuación: -c o nada, Classic, -s o -m, SuperClassic.

Artículos relacionados:

El índice del blog Firebird21

El foro del blog Firebird21

 

Error 126

1 comentario

El error Nº 126 ocurre cuando falta un archivo .DLL que se necesita. No es un error específico del Firebird sino que le puede ocurrir a cualquier programa Windows que usa DLLs.

En el caso de Firebird suele ocurrir cuando la instalación del Cliente resultó defectuosa y no se copió el archivo FBCLIENT.DLL, así que la solución es muy sencilla:

  • Copiar un archivo FBCLIENT.DLL que por supuesto corresponda a la misma versión del Servidor Firebird, en la carpeta donde se encuentra tu aplicación (Contabilidad, Facturación, Ventas, Sueldos, etc.)
  • Si lo anterior no funciona, probar copiándolo en otras carpetas (C:\Archivos de Programa\Firebird\Firebird_2_5\Bin\ o en C:\Windows\System32\)

Artículos relacionados:

El índice del blog Firebird21

Ejemplos del uso de Zebedee con Firebird

21 comentarios

Aquí hay algunos ejemplos del uso de Zebedee con Firebird.

En estos dos artículos, habíamos visto para que sirve Zebedee y como usarlo. Ahora, para aclarar mejor el tema, algunos ejemplos:

Usando Zebedee con Firebird

Usando Zebedee con Firebird. Parte 2

Servidor

Línea de comandos

START ZEBEDEE -s localhost:3050

Usando un archivo de configuración

START ZEBEDEE -f SERVIDOR1.ZBD

Cliente

Línea de comandos

START ZEBEDEE 3051:99.999.999.99:3050

Usando un archivo de configuración

START ZEBEDEE -f CLIENTE.ZBD

Conexión con una Base de Datos Firebird

CONNECT localhost/3051:E:\BASESDATOS\MiBase.FDB USER SYSDBA PASSWORD masterkey;

NOTAS:

  1. En la computadora donde se encuentra el Servidor de Zebedee debe estar abierto el puerto 11965
  2. Las demás computadoras no necesitan (y no deberían) tener puertos abiertos
  3. Cualquier usuario puede conectarse, no solamente SYSDBA, por supuesto que con sus nombres y passwords correctos
  4. No es obligatorio escribir el comando START, pero si no se lo escribe entonces la ventana “Símbolo del sistema” se queda congelada. Zebedee funciona igual, pero esas ventanas congeladas no les gustan a los usuarios
  5. Las computadoras Cliente deben poder acceder a la computadora Servidor. Eso significa que la IP del Servidor debe ser pública, de una VPN como Hamachi o encontrarse en una red local
  6. No suele justificarse usar Zebedee en una red local, porque el tiempo que se gana al enviar los datos comprimidos se pierde al comprimir y descomprimir esos datos. Se justificaría su uso si aún tratándose de una red local hay computadoras que no son confiables
  7. Si se usa un archivo de configuración, ese archivo no debe encontrarse en una carpeta compartida o cualquiera podría modificarlo a su antojo
  8. Si la conexión con el Servidor de Firebird se realiza a través de Internet entonces usar Zebedee (o algún programa similar) es un requisito ineludible

Artículos relacionados:

Proteger a las bases de datos visibles en Internet

Usando Zebedee con Firebird

Usando Zebedee con Firebird. Parte 2

El índice del blog Firebird21

Usando Zebedee con Firebird. Parte 2

4 comentarios

Zebedee es un programa que nos permite enviar datos de una computadora a otra computadora de forma fácil, rápida y segura. Su principal utilidad es cuando la conexión entre ambas computadoras se hace vía Internet; puede usarse también en una red local pero usarlo en una red local se justifica muy poco.

No necesariamente debe usarse con Firebird, puede usarse siempre que se requiera enviar de forma fácil, rápida y segura datos entre dos computadoras conectadas por Internet pero en el blog solamente mostraremos su uso con Firebird, para los demás casos puedes leer su documentación.

En este artículo habíamos visto lo necesario para hacerlo funcionar correctamente:

https://firebird21.wordpress.com/2013/09/12/usando-zebedee-con-firebird/

y ahora veremos las demás opciones que pueden interesarnos cuando lo usamos con Firebird. En la Captura 1 vemos todas las opciones posibles:

ZEBEDEE1

Captura 1. Si haces clic en la imagen la verás más grande

pero como dijimos anteriormente, solamente algunas de ellas utilizaremos con Firebird.

Instalarlo como Servicio del Windows

Los Servicios del Windows son programas que están siempre ejecutándose: al encender la computadora empiezan a ejecutarse y continúan hasta el momento en que se apaga la computadora. Instalarías a Zebedee como un Servicio si constantemente se están conectando a una Base de Datos mediante Internet; si es algo esporádico entonces no necesitas instalarlo como un Servicio, simplemente lo ejecutas cada vez que lo requieres y ya.

Para que Zebedee se instale como un Servicio:

  1. Debes abrir la ventana “Símbolo del sistema” como Administrador
  2. Debes escribir: Zebedee -S install

ZEBEDEE2

Captura 2. Si haces clic en la imagen la verás más grande

Usando archivos de configuración

Además de escribir las opciones de Zebedee en la línea de comandos también tienes la posibilidad de escribirlas en un archivo de configuración, de esa manera te resultará más fácil personalizarlo. Hay dos archivos de configuración:

  • El que usará el Servidor de Zebedee
  • El que usará el Cliente de Zebedee

En ambos casos los nombres pueden ser cualesquiera pero la extensión debe ser .ZBD si queremos que al hacer doble clic sobre ellos sean utilizados por Zebedee.

Para especificar un archivo de configuración debemos escribir su nombre a continuación de la opción -f

Para impedir que el Zebedee parezca haberse quedado “colgado” debes ejecutarlo con el comando START

ZEBEDEE3

Captura 3. Si haces clic en la imagen la verás más grande

 Todas las líneas son de la forma:

PalabraClave Valor     # Todo lo que viene después del símbolo de numeral es un comentario

Donde PalabraClave es una palabra y Valor es un número, un valor boolean o un string. Si es un string debe estar rodeado por comillas o por apóstrofos. Si es boolean debe ser true o false. Todo lo que escribas a continuación del símbolo # será tratado como un comentario.

Caso 1. El Servidor de Zebedee y el Servidor de Firebird en la MISMA computadora

Si ambos Servidores se encuentran en la misma computadora entonces puedes usar este archivo de configuración, guárdalo por ejemplo con el nombre SERVIDOR1.ZBD:


# Usar este archivo de configuración cuando el Servidor de Zebedee y el Servidor de Firebird están en la MISMA computadora

VERBOSITY 2    # Muestra mensajes detallados

SERVER TRUE    # Se está configurando al Servidor de Zebedee

DETACHED TRUE  # Zebedee se ejecuta en el background. Para que no parezca haberse "colgado" se debe escribir: START ZEBEDEE -f SERVIDOR1.ZBD

UDPMODE FALSE  # No se necesita UDP con Firebird

LOGFILE "./SERVIDOR1.LOG" # Envía los mensajes de LOG a este archivo

REDIRECT NONE  # Cierra todos los puertos de redirección

REDIRECT 3050  # Redirige al puerto 3050, usado por el Servidor de Firebird

TARGETHOST localhost # El Servidor de Firebird está en esta misma computadora

COMPRESSION zlib:9 # Máximo nivel de compresión

KEYLENGTH 256 # Claves de 256 bits, son muy seguras

KEYLIFETIME 36000 # Las claves duran 36.000 segundos (10 horas)

MAXBUFSIZE 16383 # Tamaño máximo del buffer

Caso 2. El Servidor de Zebedee y el Servidor de Firebird en DISTINTAS computadoras

Si ambos Servidores se encuentran en computadoras distintas entonces puedes usar este archivo de configuración, guárdalo por ejemplo con el nombre SERVIDOR2.ZBD:

# Usar este archivo de configuración cuando el Servidor de Zebedee y el Servidor de Firebird están en DISTINTAS computadoras

VERBOSITY 2 # Muestra mensajes detallados

SERVER TRUE # Se está configurando al Servidor de Zebedee

DETACHED TRUE # Zebedee se ejecuta en el background. Para que no parezca haberse "colgado" se debe escribir: START ZEBEDEE -f SERVIDOR2.ZBD

UDPMODE FALSE # No se necesita UDP con Firebird

LOGFILE "./SERVIDOR2.LOG" # Envía los mensajes de LOG a este archivo

REDIRECT NONE # Cierra todos los puertos de redirección

REDIRECT 3050:IP_del_Servidor_Firebird:3050 # Redirige al puerto 3050, usado por el Servidor de Firebird

TARGETHOST IP_del_Servidor_Firebird # El Servidor de Firebird está en OTRA computadora

COMPRESSION zlib:9 # Máximo nivel de compresión

KEYLENGTH 256 # Claves de 256 bits, son muy seguras

KEYLIFETIME 36000 # Las claves duran 36.000 segundos (10 horas)

MAXBUFSIZE 16383 # Tamaño máximo del buffer

Configurando al Cliente

Puedes usar este archivo para configurar al Cliente, guárdalo por ejemplo con el nombre CLIENTE.ZBD:

# Este archivo de configuración debe encontrarse en cada computadora Cliente del Zebedee

VERBOSITY 1 # Mensajes básicos solamente

SERVER FALSE # No es un Servidor de Zebedee (por lo tanto es un Cliente)

DETACHED TRUE # Cierra la ventana "Símbolo del sistema"

TUNNEL 3051:99.999.999.99:3050 # Puedes elegir otro puerto local, no necesariamente debe ser 3051
 # Debes reemplazar 99.999.999.99 por el IP del Servidor de Firebird
 # Debes reemplazar 3050 por el puerto que usa el Servidor de Firebird
# Para conectarte a una Base de Datos:
# ------------------------------------
#
# CONNECT localhost/3051:IP_Servidor_Firebird:Ruta_a_la_Base_deDatos
#
# CONNECT localhost/3051:192.168.0.1:E:\basesdatos\Mibase.fdb USER SYSDBA PASSWORD masterkey;

Artículos relacionados

Usando Zebedee con Firebird

El índice del blog Firebird21

Usando Zebedee con Firebird

18 comentarios

Como hemos visto en este artículo:

Proteger a las Bases de Datos visibles en Internet

Internet es muy inseguro y siempre existe la posibilidad de que algún hacker esté metiendo sus narices donde no debe y es nuestra responsabilidad evitar que curiosee en la Base de Datos o peor aún, que la corrompa.

Si un hacker irrumpió en la Base de Datos la culpa es toda tuya por no haberla protegido debidamente.

Un programa que nos puede ayudar con la tarea de protección es Zebedee.

¿Qué hace Zebedee?

  • Crea un túnel entre dos computadoras
  • Envía y recibe datos comprimidos y encriptados a través de ese túnel

Al comprimir los datos, el tamaño de éstos disminuye, al encriptarlos evita (o disminuye muchísimo) la posibilidad de que alguien pueda ver lo que se está enviando.

Por lo tanto se consiguen dos cosas:

  1. que los datos viajen más seguros
  2. que la transferencia se realice más rápido.

¿Cómo funciona Zebedee?

En forma muy similar a como funciona Firebird, o sea a través de un Servidor y de uno o varios Clientes.

  • En una computadora se instala el Servidor del Zebedee. Su tarea es “escuchar” las conexiones de los Clientes. En otras palabras, está atento para responder las peticiones de los Clientes. Cuando un Cliente le hace una petición el Servidor comprime y encripta los datos pedidos y luego se los envía al Cliente
  • En las demás computadoras se instala el Cliente del Zebedee. Su tarea es pedirle al Servidor del Zebedee que le envíe datos. Cuando recibe esos datos los descomprime, los desencripta, y los envía  a quien se los había pedido (el Cliente de Firebird).

El Cliente de Firebird —> a través del Cliente de Zebedee —> a través del Servidor de Zebedee —> le solicita algo al Servidor de Firebird

El Servidor de Firebird —> a través del Servidor de Zebedee —> a través del Cliente de Zebedee —> le responde al Cliente de Firebird

¿Dónde se instala el Servidor de Zebedee?

En cualquier computadora, no necesariamente en la misma donde está instalado el Servidor del Firebird

¿Dónde se instala el Cliente del Zebedee?

En cualquier computadora, no necesariamente en una que tenga instalado un Cliente del Firebird

¿Cómo se realiza la conexión?

A través de un puerto, el cual normalmente es el 11.965 y es el único puerto que debería estar libre para conectarse a Internet. Todos los demás puertos, incluyendo lógicamente el 3.050 (o el que use el Servidor del Firebird), deben estar bloqueados.

¿Cómo se abre un puerto?

El firewall del Windows (o cualquier otro firewall que estés usando) normalmente tiene bloqueados a los puertos. Desde luego que es obligatorio que uses un firewall, esa es una elemental medida de seguridad en cualquier computadora que esté conectada a Internet.

Para abrir el puerto 11.965 con el firewall de Windows:

Inicio | Panel de Control | Firewall de Windows | Configuración avanzada | Reglas de entrada | Nueva regla… | Puerto | TCP | Puertos locales específicos | 11965 | Permitir la conexión | (Dominio, Privado, Público) | Zebedee11965

Zebedee5

Captura 1. Si haces clic en la imagen la verás más grande

Zebedee6

Captura 2. Si haces clic en la imagen la verás más grande

Zebedee7

Captura 3. Si haces clic en la imagen la verás más grande

Conexión no segura

En el Gráfico 1 puedes ver lo que sucede si el Servidor del Firebird está conectado a Internet sin usar a Zebedee (o algún programa similar)

Zebedee2

Gráfico 1. Si haces clic en la imagen la verás más grande

Conexiones seguras

En el Gráfico 2 puedes ver algunas de las configuraciones de protección posibles:

Zebedee1

Gráfico 2. Si haces clic en la imagen la verás más grande

El problema con la Opción 1 es que ambos Servidores están en la misma computadora. Y para que Firebird (o cualquier otro SGBDR) funcione al 100% lo recomendable es que se encuentre en una computadora dedicada, en una computadora donde está el Servidor del Firebird y ningún otro programa de uso autónomo, ni siquiera antivirus. Desde luego que la Opción 1 funcionará bien, pero de ser posible deberías elegir la Opción 3. Si usas la Opción 1 una medida elemental de precaución es que bloquees con tu firewall el puerto 3.050 (o el que sea que esté usando el Firebird) para evitar conexiones directas. Si no bloqueas el puerto 3.050 es como si no hubieras instalado el Zebedee, al menos en cuanto a seguridad se refiere.

La Opción 2 es la única que se puede usar si el usuario se conecta a través de su notebook (también llamada laptop) por ejemplo mientras está viajando.

La Opción 3 es posible (y preferible) dentro de la red local de la empresa. Se usa una computadora para tener en ella el Servidor del Firebird, cualquier otra computadora para el Servidor del Zebedee, cualquier otra computadora para el Cliente del Zebedee y todos los Clientes del Firebird se conectan al Servidor del Firebird a través primero del Cliente de Zebedee y luego del Servidor de Zebedee. La gran ventaja de la Opción 3 es que el Cliente del Zebedee se instala en una sola computadora y entonces no será necesario que cada vez que la empresa adquiera una nueva computadora se tenga que instalar en ella el Cliente del Zebedee. Las empresas medianas y grandes constantemente están aquiriendo nuevas computadoras y si se debe instalar en cada nueva computadora adquirida el Cliente del Zebedee eso causará un trastorno innecesario ya que puede ser evitado.

¿De dónde se puede descargar Zebedee?

http://www.winton.org.uk/zebedee/download.html

http://www.mediafire.com/download/3o4p0fs6eaxbqtb/Zebedee253setup.exe

Configurando a Zebedee

Zebedee debe ser configurado, sí o sí. No es un programa que se instala y ya funciona. Se lo puede configurar a través de la línea de comandos o a través de un archivo de configuración. Yo prefiero usar un archivo de configuración porque me da mucho más poder, pero en este artículo mostraré solamente como se usa con la línea de comandos. Puedes leer la documentación de Zebedee para saber como usar un archivo de configuración.

Opción 1. El Servidor del Firebird y el Servidor de Zebedee están en la misma computadora

En la computadora que quieres que actúe como Servidor de Zebedee debes escribir:

Zebedee8

Captura 4. Si haces clic en la imagen la verás más grande

En el comando ZEBEDEE -s localhost:3050 la opción -s significa que Zebedee se está ejecutando como Servidor, localhost:3050 significa que estará escuchando al puerto 3.050. En otras palabras, que todo lo que envíe a través de ese puerto lo hará en forma comprimida y encriptada.

En las computadoras Cliente de Zebedee debes escribir:

Zebedee9

Captura 5. Si haces clic en la imagen la verás más grande

El comando de arriba significa: “Zebedee, todo lo que leas a través del puerto 3.051 debes enviarlo al puerto 3.050 de la computadora que tiene el IP 99.999.999.99” (por supuesto que debes reemplazar los números 99.999.999.99 por los que correspondan a la IP de la computadora donde se encuentra el Servidor del Zebedee).

Para conectarte a una Base de Datos de Firebird debes escribir:

Zebedee10

Captura 6. Si haces clic en la imagen la verás más grande

Con lo cual estás diciendo que quieres conectarte a través del puerto local 3051 a esa Base de Datos. Pero como ya habíamos visto todo lo que se envía al puerto local 3.051 se reenvía al puerto remoto 3.050, usando para ello al puerto remoto 11.965.

Local 3.051 —> remoto 11.965 —> remoto 3.050

Opción 2 y Opción 3. El Servidor del Firebird y el Servidor de Zebedee están computadoras distintas

Zebedee11

Captura 7. Si haces clic en la imagen la verás más grande

Aquí lo que se le dice es: “Zebedee, utiliza el puerto local 3.050 para comunicarte con la computadora cuya IP es 192.168.0.2 a través del puerto 3.050 de esa computadora”. Desde luego que la computadora remota podría estar usando otro puerto, no necesariamente el 3.050.

El comando en el Cliente de Zebedee es el mismo que vimos en la Captura 5.

La conexión a una Base de Datos es igual a como vimos en la Captura 6.

Conclusión:

Si necesitas que tu Base de Datos pueda ser accedida desde Internet entonces es obligatorio que uses Zebedee (o algún programa similar) para protegerla de intrusos. Internet es muy insegura y los hackers siempre están a la pesca de computadoras o bases de datos desprotegidas y aunque creas que no tienes algo valioso que les pueda interesar podrían destruir tu Base de Datos sólo por maldad y porque quieren y pueden hacerlo. Y de paso, para enseñarte una lección relacionada con la seguridad.

Si usas Zebedee entonces el único puerto abierto, el único puerto que puede ser usado para conectarse a Internet debe ser el 11.965 y todos los demás puertos (incluyendo por supuesto el 3.050 ó el que use el Servidor del Firebird), deben estar bloqueados.

Artículos relacionados:

Usando Zebedee con Firebird. Parte 2

Ejemplos del uso de Zebedee con Firebird

Proteger a las bases de datos visibles en Internet

Conexión a través de Internet

El índice del blog Firebird21

El foro del blog Firebird21

Enlaces:

http://www.winton.org.uk/zebedee/

http://www.intitec.com/varios/firebird_zebedee_esp.pdf