Cuando se instala el Servidor del Firebird por defecto permite que las bases de datos se encuentren en cualquier carpeta de cualquier disco que esté conectado a esa computadora.

Aunque esto les facilita la tarea a los programadores (porque pueden crear o copiar sus bases de datos en cualquier carpeta que deseen) tiene un potencial y grave riesgo de seguridad: ese mismo Servidor podría estar siendo usado para conectarse a otras bases de datos de esa computadora.

Afortunadamente, nosotros podemos restringir a cuales carpetas o a cuales bases de datos el Servidor permitirá que los usuarios se conecten.

En el archivo FIREBIRD.CONF que se encuentra en la carpeta donde instalaste el Firebird (por ejemplo en: C:\ARCHIVOS DE PROGRAMA\FIREBIRD\FIREBIRD_2_5) hay una entrada denominada DatabaseAccess

DatabaseAccess puede ser:

  • None
  • Restrict
  • Full

Si es None entonces el Servidor solamente permitirá la conexión a las bases de datos listadas en el archivo ALIASES.CONF (que también se encuentra en la misma carpeta donde instalaste el Firebird)

Si es Restrict entonces el Servidor solamente permitirá conectarse a las bases de datos que se encuentren en la/s carpeta/s listada/s a continuación (separadas por punto y coma si hay más de una)

Si es Full entonces el Servidor permitirá conectarse a cualquier base de datos que se encuentre en cualquier carpeta de cualquier disco duro de esa computadora

Ejemplos:

DatabaseAccess = None

DatabaseAccess = Restrict C:\MisBasesDatos

DatabaseAccess = Restrict C:\MisBasesDatos;D:\MisBackups

DatabaseAccess = Full

En el primer ejemplo, como el acceso es None el Servidor solamente permitirá que los usuarios se conecten a las bases de datos listadas en el archivo ALIASES.CONF

En el segundo ejemplo, como el acceso es Restrict el Servidor solamente permitirá conectarse a las bases de datos que se encuentren en la carpeta C:\MisBasesDatos

En el tercer ejemplo, como el acceso es Restrict el Servidor solamente permitirá conectarse a las bases de datos que se encuentren en las carpetas C:\MisBasesDatos o D:\MisBackups (los nombres de las carpetas fueron separados con un punto y coma)

En el cuarto ejemplo, como el acceso es Full el Servidor permitirá conectarse a cualquier base de datos que se encuentre en cualquier carpeta de cualquier disco duro de la computadora

NOTA: Fíjate que se quitó el símbolo de numeral (#) que se encontraba delante de la palabra DatabaseAccess, eso es porque el símbolo de numeral (#) le indica al Firebird que lo que está a continuación es un comentario.

Conclusión

Para tener mayor seguridad y disminuir la probabilidad de ataques maliciosos debemos restringir el acceso a las bases de datos. Lo recomendable es que el valor de la entrada DatabaseAccess sea None lo cual nos asegurará que solamente a las bases de datos listadas en el archivo ALIASES.CONF los usuarios puedan conectarse. Si por algún motivo eso no es admisible entonces el acceso debería ser Restrict pero nunca deberíamos dejarlo en Full.

NOTA: Cualquier cambio que realices en el archivo FIREBIRD.CONF solamente tendrá efecto después que reinicies el Servidor del Firebird o reinicies la computadora donde se encuentra el Servidor del Firebird.