Agregando el usuario SYSDBA en Firebird 3

8 comentarios

En las versiones anteriores de Firebird, ya por defecto en el archivo de seguridad (SECURITY.FDB en 1.x y SECURITY2.FDB en 2.x) existía un usuario llamado SYSDBA y con la contraseña masterkey.

Bien, ese ya no es el caso con Firebird 3, ahora ningún usuario predeterminado existe, ni siquiera SYSDBA. Por lo tanto, nosotros debemos crearlos.

Siempre el usuario SYSDBA tendrá acceso al 100% de las bases de datos, pero como no existe un usuario SYSDBA nosotros lo crearemos. ¿Cuál es la ventaja de esto? Que SYSDBA ya no tendrá por defecto la contraseña masterkey sino la contraseña que a nosotros se nos ocurra asignarle.

Con las versiones 1.x y 2.x si un intruso quería conocer el contenido de una Base de Datos lo tenía muy fácil:

  1. Copiaba o hacía un backup de la Base de Datos
  2. Copiaba o restauraba esa Base de Datos en otra computadora, en una donde conociera la contraseña del usuario SYSDBA.
  3. Listo

Ahora, con Firebird 3 algo así ya no le será posible. ¿Por qué no? Porque si copia o restaura la Base de Datos en otra computadora tendrá un gran problema ¿cuál es la contraseña del usuario SYSDBA que se necesita para conectarse a la Base de Datos? Desde luego que no será masterkey (salvo que el Administrador sea un verdadero bobo) y si no conoce esa contraseña no conseguirá el acceso. Claro, puede copiar también el archivo de seguridad (SECURITY3.FDB por defecto) pero estará en la misma: si no conoce la contraseña no conseguirá la conexión. Y además, en un entorno donde la seguridad sea muy importante el archivo de seguridad no será SECURITY3.FDB sino otro archivo con totalmente otra estructura y ubicado donde se haya especificado en DATABASES.CONF (quizás en otra carpeta de otro disco duro de otra computadora).

En síntesis, la tarea del intruso ahora será mucho más dificultosa. No imposible, porque en Informática la seguridad al 100% es imposible de conseguir, pero sí muchísimo más dificultosa que en las versiones anteriores del Firebird.

¿Cómo agrego al usuario SYSDBA?

Recuerda que al instalar Firebird 3 ningún usuario existe, ni siquiera SYSDBA, entonces ¿cómo hacemos para agregar al usuario SYSDBA y con la contraseña que se nos ocurra asignarle?

Mediante el siguiente comando:


GSEC -add SYSDBA -pw Secreto -user SYSDBA

El programa GSEC.EXE lo encontrarás en la misma carpeta donde instalaste el Firebird 3.

Y la contraseña que elijas no será Secreto, ese es solamente un ejemplo.

Conclusión:

Para hacerle la vida muchísimo más difícil a los intrusos ahora en Firebird 3 el usuario SYSDBA no existe por defecto sino que debemos crearlo nosotros. Así mismo tampoco tiene una contraseña por defecto, su contraseña inicial será la que le asignemos al crearlo, la muy famosa masterkey ya no existe (salvo que alguien sea muy bobo como para asignársela al usuario SYSDBA).

Para agregar al usuario SYSDBA y asignarle su contraseña inicial (la cual no debería ser masterkey) usamos el programa GSEC.EXE que se encuentra en la misma carpeta donde instalamos al Firebird 3.

Artículos relacionados:

¿Por qué Firebird 3?

Los archivos de configuración del Firebird 3

Entendiendo a los plug-in del Firebird 3

Parametrizando el archivo DATABASES.CONF

El índice del blog Firebird21

El foro del blog Firebird21

Anuncios

Cannot attach to password database

3 comentarios

El Firebird guarda los nombres de los usuarios y sus respectivas contraseñas en un archivo llamado SECURITY2.FDB (a partir de la versión 2.0, antes se llamaba SECURITY.FDB)

Si al intentar conectarte a una Base de Datos obtienes el mensaje de error: “cannot attach to password database” eso significa que el Firebird no puede acceder a ese archivo. Las causas posibles son:

  1. No existe el archivo SECURITY2.FDB en la carpeta donde instalaste el Firebird (por ejemplo, en: C:\Archivos de Programa\Firebird\Firebird_2_5\”
  2. Hay instaladas dos o más versiones de Firebird. Y por algún motivo la versión que quieres usar se confundió (este es un caso rarísimo, pero a veces ocurre)
  3. No tienes permiso para leer archivos que se encuentran en esa carpeta. Puedes verificarlo fácilmente tratando de crear en la carpeta donde instalaste el Firebird (por ejemplo, en: C:\Archivos de Programa\Firebird\Firebird_2_5) un archivo de texto llamado PRUEBA.TXT, escribe alguna palabra, graba el archivo y trata de abrirlo con el Bloc de Notas u otro programa. Si no consigues crearlo o leerlo entonces el problema es que te faltan permisos en esa carpeta.

Artículo relacionado:

El índice del blog Firebird21