1

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

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

所以我想防止数据库被其他软件打开我该怎么做?

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

4

1 回答 1

1

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

说了这么多,给点建议:

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

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

我知道这不是您期望的答案,对此深表歉意。也许其他人会提供替代和更好的解决方案。:-)

高温高压

于 2011-05-13T19:47:14.740 回答