Subject | Re: [firebird-support] Security and FB Embedded |
---|---|
Author | Helen Borrie |
Post date | 2005-06-20T02:30:17Z |
At 10:39 PM 19/06/2005 +0000, you wrote:
Firebird or InterBase server is running. "Embedded" doesn't mean
"embedded database", it means "client with embedded server".
That's why Firebird provides 1) server-level user authentication and 2)
support for SQL privileges. Any authenticated user on the server can
*access* your database; however, the only user that has access to
everything *in* a database is SYSDBA. The owner of an object *in* a
database has full access to that object. No other user has any ability to
access an object to which it has not been specifically granted the relevant
access privilege.
Also, of course, if your network and/or physical security allows all users
to access anything on the network or to log in to any old machine, your
database files are vulnerable to theft. A stolen database file can be
copied onto another server and the SYSDBA on that server has full access to
everything.
Where the Windows (but not the Linux) embedded server differs is that, when
connecting, the server authentication step is bypassed. You can log in
with any user name and password, even one that doesn't exist in
security.fdb. That applies only to a local login, of course; if the user
is using the Win embedded as client to databases on other servers, normal
user authentication applies.
./heLen
>Hi,That's true of any Firebird database that is on any host machine where a
>
>I am trying to make sense of the security situation with FB embedded.
>
>Am I correct in believing there is no way to regulate access to the
>GDB/FDB with an embedded install?
>
>I.e. assuming someome can access the machine and has installed FB
>Superserver, they can just fire up FlameRobin or whatever and do what
>they like in the db?
Firebird or InterBase server is running. "Embedded" doesn't mean
"embedded database", it means "client with embedded server".
That's why Firebird provides 1) server-level user authentication and 2)
support for SQL privileges. Any authenticated user on the server can
*access* your database; however, the only user that has access to
everything *in* a database is SYSDBA. The owner of an object *in* a
database has full access to that object. No other user has any ability to
access an object to which it has not been specifically granted the relevant
access privilege.
Also, of course, if your network and/or physical security allows all users
to access anything on the network or to log in to any old machine, your
database files are vulnerable to theft. A stolen database file can be
copied onto another server and the SYSDBA on that server has full access to
everything.
Where the Windows (but not the Linux) embedded server differs is that, when
connecting, the server authentication step is bypassed. You can log in
with any user name and password, even one that doesn't exist in
security.fdb. That applies only to a local login, of course; if the user
is using the Win embedded as client to databases on other servers, normal
user authentication applies.
./heLen