阻止 firebird .GDB 数据库被打开

发布于 2024-11-05 06:05:32 字数 203 浏览 6 评论 0原文

我有一个 .GDB 格式的 firebird 数据库。

如果我设置一个 interbase 服务器并使用默认密码(例如 IB Expert)打开 .GDB,我可以打开数据库。

那么我想阻止数据库被其他软件打开,我该怎么做呢?

使用“gsec.exe”我可以添加和修改用户,但这并没有给我提供一个工具来阻止新的 firebird 实例打开数据库。

I have a firebird database in format .GDB.

If I setup a interbase server and I open the .GDB with (for ex. IB Expert) with the default password I can open the Database.

So I'd like to prevent the database to be opened by other softwares how could I do it?

with "gsec.exe" I can add and modify users, but this doesn't give me a tool to prevent a database to be opened by a new firebird instance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

御弟哥哥 2024-11-12 06:05:32

据我所知,您无法避免 Interbase 或 Firebird 实例打开 .GDB 或 .FDB 数据库。它是一个具有此类实例已知结构的文件(或文件组),并且只要(恶意)用户知道 SYSDBA 密码,就可以访问它。

说到这里,有一些建议:

  • 如果您不需要它,请确保您的安装中不存在嵌入式版本的 Firebird,以避免为用户提供可以直接访问数据库的工具。
  • 尽可能限制对数据库所在目录的任何访问。防火墙、目录用户权限等。
  • 如您所说,使用gsec.exe来添加/修改用户访问权限。虽然这不会阻止 SYSDBA 访问数据库,但至少会阻止普通用户这样做。
  • 加密数据库所在的文件系统。您可以在如何保护 Firebird 数据库中的数据找到更多信息。
  • 如果要通过不安全的网络(例如 Internet)访问数据库,您可以考虑使用 SSL。查看如何保护不安全网络上的连接
  • 查看 Firebird 安全常见问题解答了解更多信息。

还有另一种解决方案可能会部分帮助您:在存储数据之前加密并在读取数据时解密,但是它可能会在搜索数据时导致一些问题,因为您将无法使用某些索引(实际上只有 PK 和 FK 索引会)工作完美)。

我知道这不是您期望的答案,对此感到抱歉。也许其他人会提出替代的更好的解决方案。 :-)

HTH

As far as I know you can not avoid a .GDB or .FDB database to be opened by a Interbase or Firebird instance. It is a file (or group of files) with a known structure for such an instance and, provided the (malicious) user knows the SYSDBA password, it can be accessed.

Said this, some suggestions:

  • If you do not need it make sure the Embedded version of Firebird is not present in your installation to avoid giving the user a tool with which the database could be accessed directly.
  • As far as possible restrict any access to the directory where the database will be. Firewalls, directory user rights, etc.
  • Use gsec.exe as you said to add/modify users access rights. While this will not prevent the SYSDBA to access the database at least it will prevent a normal user to do so.
  • Encrypt the filesystem where the database will be. You can find more info on this at How to protect data in Firebird database.
  • If the database is to be accessed through insecure networks like Internet you could consider using SSL. Check How to protect the connection over insecure networks.
  • Check Firebird Security FAQ for more information.

There is another solution that might help you partially: encrypting before storing data and decrypting when reading data, but it can cause some problems on searching through the data, since you will not be able to use some indexes (actually only PK and FK indexes will work flawlessly).

I know this is not the answer which you expected, so sorry about that. Maybe someone else will come with an alternative and better solution. :-)

HTH

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文