Firebird y Zebedee. Creado por Artur Anjos Trindade artur@arsoft.pt. Traducido por Santiago Russo



Documentos relacionados
COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

TRANSFERENCIA DE FICHEROS FTP

Internet Information Server

Mini Guía para usar las Keops en el ITAM

Manual de iniciación a

Hostaliawhitepapers. Las ventajas de los Servidores dedicados. Cardenal Gardoki, BILBAO (Vizcaya) Teléfono:

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

MANUAL COPIAS DE SEGURIDAD

Sitios remotos. Configurar un Sitio Remoto

Internet, conceptos básicos

Manual de Instalación. Sistema FECU S.A.

WINDOWS : TERMINAL SERVER

Introducción a las redes de computadores

Manual de usuario de IBAI BackupRemoto

SYNCTHING. Herramienta de sincronización de datos vía LAN. Laboratorio de Sistemas Operativos y Redes. Caminos Diego; Zapatero R.

Actualización del Cliente IFI

Filezilla: Qué es y para qué sirve un cliente FTP

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Como crear una red privada virtual (VPN) en Windows XP

Instala y configura un servidor SSH/SFTP. Transferir ficheros a dicho servidor con un cliente SFTP y SCP.

Diseñado y Desarrollado por Sistemas Informáticos Aplicados, SA de CV. Socio Estratégico de Negocios

Cómo capturar páginas web con el programa GNU Wget

Capítulo 5. Cliente-Servidor.

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

2. Accedemos al dominio, introducimos el nombre de usuario y la contraseña para acceder. Y damos click en Aceptar.

CONFIGURACION DE SERVIDOR SSH EN REDHAT. Redhat para todos. Breve manual de configuración de servidor FTP en redhat


Servidor FTP en Ubuntu Juan Antonio Fañas

Pasamos ahora a definir brevemente cual es el método de conexión más habitual usando un entorno gráfico.

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

CFGM. Servicios en red. Unidad 5 Servicio FTP. 2º SMR Servicios en Red

Acronis License Server. Guía del usuario

Lección 5: Bloc de notas Estudio de la aplicación Bloc de notas, utilizada para escribir sencillos documentos de texto de tamaño reducido.

7zip es un programa de carácter libre y gratuito, que permite tanto comprimir como descomprimir archivos, con una alta capacidad de comprensión.

Lectura No. 3. Contextualización. Nombre: Página web DISEÑO DIGITAL 1. Para qué te sirve saber elaborar una página web?

Instalación. Interfaz gráfico. Programación de Backups. Anexo I: Gestión de la seguridad. Manual de Usuario de Backup Online 1/21.

MANUAL DE USUARIO AVMsorguar

Para trabajar este tema vamos a situarlo un poco más en el lenguaje común:

INTERNET 4º ESO INFORMATICA / DEP. TECNOLOGIA

Instituto Tecnológico de Las Américas (ITLA)

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

CITRIX Citrix Application Streaming

Como crear un túnel entre dos PC s usando el Protocolo SSH

Unidad Didáctica 12. La publicación

Manual de Instalación y uso de FTP

INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS

INSTALACION DEL Terminal Services. Instalamos el Terminal Services. Siguiente. Nos saldrá una advertencia, seleccionamos instalar.

Firewall Firestarter. Establece perímetros confiables.

Guía de uso del Cloud Datacenter de acens

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

Guía de Instalación. Instalación rápida de la Consola Maestra de VEO y el Agente Remoto para los Usuarios

Programa de encriptación WIFI.

Guía Rápida de uso de ZBox Backup Configuración y uso del servicio de respaldo en la nube.

Infraestructura Tecnológica. Sesión 8: Configurar y administrar almacenamiento virtual

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

Almacenamiento virtual de sitios web HOSTS VIRTUALES

Preguntas y respuestas sobre el cifrado de la información personal. La guía para aprender a cifrar tu información

Utilización del sistema operativo GNU/ Linux en las netbooks

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Configuración en Red

Puesta en Marcha versión Monousuario

Máquinas virtuales (VMWare, Virtual PC, Sandbox. Qué son y para qué sirven. (DV00402A)

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Tabla de contenido. 1. Objetivo Asignación de responsabilidades Alcance Procedimientos relacionados...4

Enviar archivos mediante FTP

Mini-guía: Gestión Backup

Archivo de correo con Microsoft Outlook contra Exchange Server

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Central telefónica IP* By MilNet Internet Server. Tecnología inteligente

Manual de Instalación. Sistema FECU S.A.

Guía de instalación de la carpeta Datos de IslaWin

CONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD

Tutorial: Primeros Pasos con Subversion

Instalación del sistema VSControl Total2012

Las redes y su seguridad

Guia rápida EPlus Cliente-Servidor

CONFIGURACIÓN TERMINAL SERVER EN WINDOWS 2003

Eurowin 8.0 SQL. Manual de la FIRMA DIGITALIZADA

Protocolo Traslado_envío datos personales

TciSatSingleW32 Versión 3.1

Gestió n de Certificadó Digital

En caso de que el cliente nunca haya obtenido una concesión de licencia de un servidor DHCP:

MANUAL INSTALACIÓN ABOGADOS MF

IPSec con Windows 2003 y Windows XP

Software Criptográfico FNMT-RCM

Tecnología IP para videovigilancia... Los últimos avances han hecho posible conectar cámaras directamente a una red de ordenadores basada en el

Transcripción:

Firebird y Zebedee Creado por Artur Anjos Trindade artur@arsoft.pt Traducido por Santiago Russo

Uso de Zebedee con Firebird para cifrar y comprimir el tráfico de red Tabla de contenidos 1. Introducción 2. Qué es Zebedee? 3. Zebedee, configuración para que funcione con Firebird 1. Archivo de configuración - Servidor Zebedee y servidor Firebird en la misma máquina 2. Archivo de configuración - Servidor Zebedee y servidor Firebird en máquinas diferentes 3. Archivo de configuración - Cliente Zebedee 4. Uso de claves privadas 5. Transparencia en el uso en una aplicación Delphi 6. Notas finales 7. Información adicional 1. Introducción Usar Firebird con una conexión directa a Internet lleva siempre a dos cuestiones: Rendimiento y seguridad. Firebird no tiene soporte interno para comprimir los paquetes IP, ni la posibilidad de cifrar los datos que se transmiten a través del cable. Abrir el puerto 3050 directamente a Internet es una idea que no gustará a nadie. Una solución a este problema será siempre un producto de otro fabricante - podría ser una solución de software, una solución de hardware o ambas. Personalmente, yo estaba buscando una solución que podría utilizar como estándar en todas mis instalaciones de Firebird, así que empecé a buscar una solución de software capaz cifrar y comprimir los datos TCP/IP. De código abierto y que sea soportada por Linux y Windows sería la solución perfecta: algo con el "alma" de Firebird. Encontré Zebedee. 2. Qué es Zebedee? Zebedee es una herramienta de software para establecer un túnel TCP/IP o UDP para la transferencia de datos comprimidos y codificados entre dos sistemas. Zebedee funciona tanto en Linux y Windows, es completamente gratuito para uso comercial y no comercial, y se distribuye bajo los términos de la GNU General Public License. La instalación de Zebedee es fácil y rápida: en pocos minutos nos podemos conectar a un servidor Firebird a través Internet usando encriptación y compresión de datos. Como Neil Winton dice, desarrollador de Zebedee, en la página de Zebedee hay otros productos de software que hacen lo mismo, pero me gusta Zebedee porque es fácil de configurar, sencillo, de tamaño reducido, y poderoso (características a las que nosotros, los desarrolladores de Firebird, estamos muy acostumbrados).

Zebedee es fácil de entender para un usuario Firebird: un servidor Zebedee escucha conexiones de clientes Zebedee. Zebedee Server cifra y comprime los datos que se envían al puerto para ser remitidos al cliente. El cliente Zebedee recogerá los datos, los descomprimirá y descifrará para luego enviarlos a su destino final. 3. Configuración para trabajar con Firebird Zebedee es una herramienta genérica: simplemente ejecuta el tráfico entre dos puertos. Puede ser utilizado en una variedad de situaciones, pero este documento se centrará sólo el uso con Firebird. Un servidor Zebedee, no tiene por qué estar en el mismo equipo del servidor Firebird. Un cliente Zebedee no tiene que estar en el mismo equipo de la aplicación cliente de Firebird. Hay muchas combinaciones posibles, escogeré dos de ellas: el uso del servidor Zebedee en la misma máquina que ejecuta el servidor Firebird (opción A), y el uso de Zebedee en otra máquina (opción B). Supongo también que habrá un montón de clientes remotos, y el cliente Zebedee estará en todos ellos. Ese es el ambiente más común para un servidor Firebird conectado a Internet. Hay otras situaciones en las que Zebedee podría ser muy útil: conectar oficinas remotas a una oficina principal usando enlaces de bajo ancho de banda. En estos casos podrían beneficiarse si utilizan una máquina que ejecuta un cliente Zebedee para todas las estaciones de trabajo remotas. Personalmente, yo nunca uso la opción A, principalmente por dos razones: para evitar una conexión directa entre mi servidor Firebird e Internet, y tener mi servidor Firebird en una máquina dedicada. Si alguien quiere usar esta opción debe bloquear el puerto 3050 para Internet. Si no, el puerto estará disponible para conexiones directas a Firebird. El único puerto que debe estar a disposición de Internet es el utilizado por Zebedee (11965 por defecto).

Yo siempre uso la opción B: Zebedee está trabajando en una máquina que está conectada a Internet, e independiente del servidor Firebird. En el servidor Zebedee el único puerto que tiene que estar disponible para el mundo exterior es el puerto de Zebedee (11965 por defecto). Recuerde que hay más opciones; estas son sólo las situaciones más comunes. Empiece instalando Zebedee, haciendo la descarga de los archivos de instalación específica para su plataforma. Usted puede tener una combinación de estos, como el uso de Zebedee en un servidor Linux y los clientes Zebedee en Windows. Sólo tiene que ejecutar la instalación para su sistema operativo mediante la copia de los archivos necesarios al disco duro y hacer algunas configuraciones de menor importancia (como el registro de los archivos zbd como una aplicación Zebedee en entornos Windows). Zebedee no está configurado Out-of-the-box tienes que configurarlo para tus necesidades personales. Zebedee puede cargarse utilizando parámetros de línea de comandos o un archivo de configuración. Este último se recomienda, pero voy a empezar a mostrar estos dos ejemplos utilizando una simple línea de comando. He probado todos los ejemplos con un Mandrake Linux Box y un W2K como servidores Zebedee. Las aplicaciones cliente siempre son máquinas Windows (Win98/W2K). Creo que se ejecutarán sin problemas en cualquier otro Linux o Windows. Asumo que para todos los ejemplos el servidor Zebedee tiene una dirección pública (IP pública). Si lo quiere poner a prueba en una red local es bastante simple: sólo tiene que utilizar la dirección IP del servidor Zebedee. Opción A) En el Servidor Zebedee, ejecute: Zebedee -s localhost:3050 En el cliente ejecute: Zebedee 3051:fbzebedee.com:3050 (Cambie fbzebedee.com con el nombre de tu servidor) Zebedee ya está configurado y listo para usar! Para conectarte a tu servidor Firebird debes utilizar la cadena de conexión: localhost/3051:camino hacia tu Base de Datos Firebird (PathToYourDataBase)

Opción B) En esta opción, lo único que cambiará será la ubicación del servidor Firebird. En el servidor Zebedee ejecuta el comando: Zebedee -s 3050:IP de tu servidor Firebird:3050 El comando para el cliente es el mismo, así como la cadena de conexión. Esta es la forma más sencilla de usar Zebedee para trabajar con Firebird. Pero recomiendo que utilices un archivo de configuración, ya que tendrá más control sobre los otros parámetros de Zebedee. Los archivos de configuración de Zebedee son archivos de texto, por defecto con la extensión zbd. Zebedee puede utilizar un fichero de configuración en el modo cliente o en el modo de servidor. Sólo tiene que utilizar: Zebedee -f Nombre del archivo de configuración (NameOfConfigFile) Los ejemplos anteriores están listos para trabajar. Sólo tienes que cortarlos y pegarlos en un archivo de texto y cambiar la dirección de los servidores para lograrlo. Archivo de configuración - Servidor Zebedee y servidor Firebird en la misma máquina #------------------------------------------------- -------------------------------------------------- # Archivo de configuración para utilizar en un servidor con Firebird y Zebedee # verbosity 2 #Tipo de Mensaje Server true # Modo del servidor Detached true # Ejecutar desde consola (Free from console) udpmode false # No necesitamos UDP logfile./zebedee.log keygenlevel 2 #Archivo de registro # Nivel de clave # Para validar las claves privadas, como mencionamos en el capítulo siguiente # Comenta la línea siguiente y utiliza el nombre de archivo que deseas # Checkidfile./Clients.ids Redirect none # Permite conexiones Firebird Redirect 3050 targethost localhost # Cerrar todos las redirecciones a puertos # Puerto Firebird por defecto # El objetivo está en la misma máquina # Algunos otros parámetros Compression zlib:9 # Máxima compresión zlib

KeyLength 256 keylifetime 36000 maxbufsize 16383 # clave de 256 bits # Compartir las claves hasta 10 horas # Máxima longitud del buffer #------------------------------------------------- -------------------------------------------------- Archivos de configuración Servidor Zebedee en un equipo diferente que el servidor Firebird Sólo tienes que hacer un cambio en el archivo de configuración anterior. La línea: Redirect 3050 # Puerto Firebird por defecto debe ser: redirect 3050: Dirección IP al servidor Firebird:3050 # Puerto Firebird También, se necesita otra línea para permitir a Zebedee comunicarse con el servidor Firebird: targethost Dirección IP del servidor Firebird # Ubicación del servidor Firebird Cliente del archivo de configuración #------------------------------------------------- -------------------------------------------------- # Archivo de configuración - Cliente # verbosity 1 # Mensajes básicos solamente server false # Es el Cliente detached true # Cerramos las consolas # Debes cambiar la siguiente línea en tu entorno # Con este ejemplo, la cadena de conexión quedaría localhost/3051 # Se puede cambiar el puerto 3051 por otro tunnel 3051:fbzebedee.com:3050 # Si utiliza una clave privada, descomente la siguiente línea, y personalice # el nombre del archivo, si es necesario # Include./Myclient.key #------------------------------------------------- --------------------------------------------------

4. Uso de claves privadas En los ejemplos, no utilizamos una clave privada. Zebedee encripta los datos usando una clave creada al momento de la conexión, pero no hay manera de autenticarla en el servidor Zebedee. Si no se especifica el uso de claves privadas, Zebedee sólo establece un túnel encriptado entre los dos puntos. El servidor Zebedee aceptará conexiones desde cualquier cliente Zebedee. Incluso sin claves privadas Zebedee elimina el problema de usar un sniffer en tus paquetes - el usuario/contraseña y la ruta de la base de datos están encriptadas, haciendo que el trabajo de un posible atacante sea más difícil. Pero si quieres puedes usar claves fijas privadas. Esto creará un proceso de autenticación en el servidor Zebedee, permitiendo sólo las conexiones de los clientes que tienen una llave especial. Para crear una clave usando línea de comandos: Zebedee -p Obtendrá algo como: PrivateKey 410dea0cbd9c10da057848c43a610f6bb859b769 Este resultado cambia cada vez que se ejecuta el comando, por lo que debe redirigir los resultados a un archivo: Zebedee -p > myclient.key Esta clave debe ser mantenido en secreto: mantener su seguridad. Con esta clave se puede crear el correspondiente Huella digital : Zebedee P -f myclient.key > myclient.id El archivo myclient.id será algo como: 135f04050961d37553731250d5c6f7495f088b32 myclient El texto myclient es un comentario, sólo permite mantener una referencia a la clave. Se puede cambiar esto a algo más útil, como por ejemplo: 135f04050961d37553731250d5c6f7495f088b32 Lydia Informática Ahora, debe cambiar el archivo de configuración en el cliente y agregue la línea: include camino-al-directorio/myclient.key donde camino-al-directorio es el directorio donde el archivo de clave está (myclient.key).

Por otro lado, los datos de myclient.id podrían ser utilizados en cualquier servidor Zebedee que desee que el cliente adjunte. Este no es un archivo secreto, y debería ser copiado en el servidor Zebedee. Un archivo típico que contiene todas las identidades es algo así: ba077f6a42bea502f517cab5685e476a713d9621 Lydia s Computer 3ad38cb1f16957d5c535272ce27557bdaa4389c6 John s Computer 135f04050961d37553731250d5c6f7495f088b32 Rachel s Computer En el servidor Zebedee se deberá cambiar el fichero de configuración agregando la línea: checkidfile camino-al-directorio/clients.ids ( Clients.ids es el archivo que contiene todas las identificaciones) Desde ese momento, el servidor Zebedee sólo aceptará conexiones desde clientes que utilicen las claves privadas correspondientes. Si elimina una línea, el cliente correspondiente no podrá conectarse. 5. Uso transparente con Delphi Es muy sencillo llamar al cliente Zebedee desde tu aplicación Delphi. Sólo tienes que instalar Zebedee en la máquina, y poner en tu aplicación algo como lo que sigue: WinExec ( Zebedee 3051:Dirección-servidor-Zebedee:3050, 0); Y cambiar tu componente de conexión para utilizar localhost/3051 como la dirección del servidor Firebird. (Funciona muy bien con IBObjects.) 6. Notas finales La seguridad en las comunicaciones sobre la red da para escribir libros, libros y libros... no voy a escribir una línea en ellos - Soy un desarrollador que usa Firebird, no un especialista en seguridad. Un de los usos mas fantásticos de Zebedee en una solución Firebird para Internet es, sin lugar a dudas, la capacidad de compresión de paquetes. En aplicaciones cliente/servidor los datos transferidos deberían ser pequeños, pero en la mayoría de las aplicaciones que tenemos la necesidad de transferir grandes cantidades de datos (los informes son buenos ejemplos). Debe probar Zebedee con la aplicación Firebird y medir los resultados. Si trabaja con datos que ya están comprimidos no notará ninguna diferencia. Pero si está trabajando con grandes transferencias de datos, utilizando campos VARCHAR, estoy seguro que Zebedee le dará una nueva vida a su aplicación sobre Internet. Usar Zebedee en una red local es útil, incluso en las redes de 10Mbits. No notará ninguna mejora de rendimiento en el 99% de los casos. El tiempo usado para comprimir/descomprimir los datos mata cualquier beneficio de la compresión. Se

puede utilizar para la encriptación, pero habrá sólo unas pocas instalaciones que necesiten ser protegidas para las comunicaciones en casa. Escribo este documento sólo para mostrar cómo podría ser útil Zebedee con Firebird. Recomiendo que leas el manual de Zebedee, y aprender sobre otros parámetros de configuración. 7. Información adicional Firebird es un gran RDBMS. Puede obtener más información en: http://www.firebirdsql.org http://www.ibphoenix.com Zebedee está en: http://www.winton.org.uk/zebedee Documento creado por: Artur Anjos Trindade artur@arsoft.pt Julio 2002 Traducido por: Santiago Russo Abril 2010