En Firebird 3 hay dos archivos de configuración:

  • FIREBIRD.CONF
  • DATABASES.CONF

El archivo FIREBIRD.CONF ya existía en las versiones anteriores del Firebird, ahora solamente se le han agregado nuevas entradas. Aquí determinamos los parámetros de configuración que usarán todas las bases de datos (salvo que se los modifique en DATABASES.CONF).

El archivo DATABASES.CONF es nuevo en Firebird 3, aunque en realidad es el antiguo ALIASES.CONF con un nuevo nombre y más funcionalidades. Aquí determinamos los parámetros de configuración que usará cada una de las Bases de Datos.

Los nuevos parámetros de FIREBIRD.CONF

SecurityDatabase. En las versiones anteriores de Firebird los nombres y las contraseñas de los usuarios se guardaban en los archivos SECURITY.FDB (para 1.x) o en SECURITY2.FDB (para 2.x). El gran problema era que muy fácilmente se podía quebrar la seguridad: el intruso simplemente copiaba la Base de Datos en otra computadora donde conociera la contraseña del usuario SYSDBA y listo. Ahora, tal cosa ya no le será posible. Con esta versión el archivo se llama SECURITY3.FDB por defecto, pero puede usarse otro archivo y además también puede tenerse un archivo de seguridad específico para cada Base de Datos (en este caso, se lo especifica en DATABASES.CONF)

AuthServer y AuthClient. Estos parámetros determinan cuales son los métodos de autenticación que serán usados por el Servidor y el Cliente.

WireCrypt. Establece si la conexión será encriptada o no. Si la conexión está encriptada entonces aunque un intruso capture los datos transmitidos no podrá saber el significado de ellos.

UserManager. Establece el plug-in que operará en la Base de Datos de seguridad (por defecto: SECURITY3.FDB), este valor puede cambiarse para cada Base de Datos en el archivo DATABASES.CONF

TracePlugin. Especifica el plug-in que usará el programa Trace para enviar datos de rastreo a la aplicación cliente o para auditar datos en el archivo de log.

WireCryptPlugin. Especifica el plug-in usado para encriptar y desencriptar los datos que son transferidos en la red.

KeyHolderPlugin. Este parámetro representaría alguna forma de almacenamiento temporario para las claves de encriptación de las bases de datos. Actualmente, no tiene un valor por defecto.

Providers. Son los métodos usados para conectar a un Cliente con un Servidor. Mediante ellos se puede: a) conectarse remotamente o localmente a bases de datos creadas con Firebird 3, b) conectarse a base de datos creadas con versiones anteriores de Firebird, c) conectarse a bases de datos creadas por otros motores (Oracle, Postgre, MySQL, etc.)

SharedCache. Junto con SharedDatabase determinan el modo de ejecución del Servidor (Classic, SuperClassic, SuperServer, Embedded).

SharedDatabase. Junto con SharedCache determinan el modo de ejecución del Servidor (Classic, SuperClassic, SuperServer, Embedded).

RemoteAccess. Provee un eficiente y configurable método para limitar el acceso al archivo de seguridad SECURITY3.FDB, a sus reemplazantes y a cualquier otra Base de Datos.

IPv6V6Only. Determina si la conexión puede establecerse solamente mediante IPv6 o si podrá usarse tanto IPv4 como IPv6.

Los parámetros cambiados de FIREBIRD.CONF

ExternalFileAccess. Si a una entrada en la lista de Restrict le falta una carpeta, se crea la carpeta faltante.

Los parámetros eliminados de FIREBIRD.CONF

RootDirectory.

LegacyHash.

OldSetClauseSemantics.

OldColumnNaming.

LockGrantOrder.

UsePriorityScheduler.

PrioritySwitchDelay.

PriorityBoost.

Los nuevos parámetros de DATABASES.CONF

El archivo DATABASES.CONF en realidad es el antiguo archivo ALIASES.CONF pero bastante mejorado. Con ALIASES.CONF podíamos tener alias o sobrenombres para nuestras bases de datos. Ahora además de eso también podemos establecer parámetros que son específicos a cada una de las bases de datos.

SecurityDatabase. Define el nombre y la ubicación del archivo que guarda los nombres y las contraseñas de los usuarios. Por defecto es el archivo SECURITY3.FDB que se encuentra en la carpeta raíz del Firebird 3, pero puede usarse cualquier otro archivo que se encuentre en cualquier otra ubicación.

AuthServer y AuthClient. Determinan los métodos de autenticación que serán usados por el Servidor y el Cliente, respectivamente.

WireCrypt. Establece si la conexión será encriptada.

UserManager. Establece el plug-in que será usado en la Base de Datos de seguridad.

TracePlugin. Establece el plug-in que será usado por el programa Trace que envía datos de rastreo a la aplicación cliente o que audita los datos en un archivo de log.

WireCryptPlugin. Es un plug-in usado para encriptar y desencriptar los datos transferidos en la red.

KeyHolderPlugin. Este parámetro representaría alguna forma de almacenamiento temporario para las claves de encriptación de las bases de datos. Actualmente, no tiene un valor por defecto.

Providers. Son los métodos usados para conectar a un Cliente con un Servidor. Mediante ellos se puede: a) conectarse remotamente o localmente a bases de datos creadas con Firebird 3, b) conectarse a base de datos creadas con versiones anteriores de Firebird, c) conectarse a bases de datos creadas por otros motores (Oracle, Postgre, MySQL, etc.)

SharedCache. Junto con SharedDatabase determinan el modo de ejecución del Servidor (Classic, SuperClassic, SuperServer, Embedded).

SharedDatabase. Junto con SharedCache determinan el modo de ejecución del Servidor (Classic, SuperClassic, SuperServer, Embedded).

RemoteAccess. Provee un eficiente y configurable método para limitar el acceso al archivo de seguridad SECURITY3.FDB, a sus reemplazantes y a cualquier otra Base de Datos.

IPv6V6Only. Determina si la conexión puede establecerse solamente mediante IPv6 o si podrá usarse tanto IPv4 como IPv6.

Conclusión:

Ahora, con Firebird 3 tenemos un archivo FIREBIRD.CONF cambiado, al cual se le han agregado varias entradas, principalmente en el área de seguridad.

También disponemos de un archivo llamado DATABASES.CONF que es el antiguo ALIASES.CONF con el nombre cambiado y con muchas más opciones, las cuales nos permiten establecer exactamente los parámetros que afectarán a cada Base de Datos.

Las mejoras en la seguridad son muy significativas, ahora a un posible atacante le será mucho más difícil interceptar o entender los datos que son transferidos por la red.

En sucesivos artículos de este blog iremos viendo con mayor detenimiento cada uno de los parámetros de los archivos FIREBIRD.CONF y DATABASES.CONF, para entenderlos mejor y así poder obtener el máximo provecho de ellos.

Artículos relacionados:

Alias, archivos y rutas

Configurando al Firebird

Programa para configurar el Firebird

Aumentando la seguridad con ALIASES.CONF

El índice del blog Firebird21

El foro del blog Firebird21

Anuncios