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

Proteger a las Bases de Datos visibles en Internet

9 comentarios

En ocasiones necesitas que tu Base de Datos pueda ser accedida desde Internet, generalmente a los usuarios les gusta tener esa opción: poder conectarse usando su notebook, su tableta, su teléfono celular o estando en un cybercafé es muy atractivo a simple vista.

Sin embargo como profesional informático debes saber que cualquier Base de Datos que no esté lo suficientemente protegida está en grave riesgo y puede ser atacada por los hackers. Una IP pública sin protección es una invitación para que cualquier malhechor intente el acceso.

cyberattack

Dos computadoras que se encuentran en Internet generalmente no tienen un comunicación directa entre ellas sino que la comunicación va pasando de servidor a servidor hasta llegar a su destino. A esas computadoras intermedias se las llama “nodos” y en algunos casos podría haber decenas de nodos entre ambas. Como se ve en el gráfico superior, para ir desde “A” hasta “B” se requiere pasar por varios nodos. ¿Y cuál es el problema? que cualquiera de esos nodos puede interceptar los datos que pasan por él y enterarse de todo.

Los hackers utilizan programas que les permiten revisar en cuestión de minutos todas las IP que se encuentran en un rango. Por ejemplo, podrían buscar todas las IP públicas que se encuentren activas entre 200.120.60.0 y 200.120.90.255 y eso solamente les tomará unos cuantos minutos. Anotan los números de las que están activas e intentan realizar la conexión. Para eso también tienen programas que les facilitan la tarea.

Y si la IP donde se encuentra tu Base de Datos está dentro del rango en el cual algún hacker está buscando, estás corriendo un riesgo gravísimo. Y no te olvides que en el mundo hay cientos de miles de hackers y muchísimos de ellos están “trabajando” en este mismo momento.

Para que tu conexión sea segura y sin riesgos (o con un riesgo pequeñisimo) lo que necesitas es un túnel privado de conexión.

¿Qué es un túnel privado?

Es una comunicación que se realiza entre dos computadoras. La computadora que envía los datos los encripta y los comprime, la computadora que recibe los datos los descomprime y los desencripta.

VPN

Esto se realiza a través de una VPN (Virtual Private Network) o red privada virtual. Se le dice virtual porque usa la misma conexión de Internet, no una conexión propia con cables propios sino un programa que se encarga de realizar la tarea. Y se le dice privada porque solamente quienes conozcan las contraseñas podrán conectarse a esta red y la información siempre viajará encriptada, por lo cual aunque sea interceptada no hay riesgo de que sea fácilmente leída.

Dos programas que se usan mucho para crear y usar los túneles son ZebeDee y OpenVPN, cuyos enlaces son:

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

http://openvpn.net/

Como los datos viajan encriptados:

  • el riesgo de ser leídos por personas no autorizadas disminuye muchísimo
  • el viaje es más rápido porque la cantidad de datos que viajan es menor

Conclusión:

Si tu Base de Datos será accedida desde Internet debes protegerla con una VPN (red privada virtual) o de lo contrario estará muy expuesta a ser atacada por los hackers. Y aunque tú creas que no hay en ella nada importante los hackers podrían destruirla y corromperla o llenarla de basura con todos los perjuicios que dichas acciones causarían (podrían hacer eso sólo por maldad, porque quieren y pueden hacerlo). Usando una VPN obtendrás dos beneficios: que el riesgo de ser atacada disminuya muchísimo y que las velocidades de las operaciones aumenten mucho.

La gran mayoría de los hackers desiste de atacar las computadoras o bases de datos que están muy protegidas, salvo que crean que obtener éxito les resultará de mucho provecho. Por lo tanto, cuanto más protejas a tus bases de datos, mucho mejor.

Artículos relacionados:

Usando Zebedee con Firebird

Usando Zebedee con Firebird. Parte 2

El índice del blog Firebird21