【问题标题】:Prevent firebird .GDB database to be opened防止打开firebird .GDB数据库
【发布时间】:2011-05-06 00:02:44
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: database firebird interbase


    【解决方案1】:

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

    说了这么多,一些建议:

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

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

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

    HTH

    【讨论】:

    • 这可能对 Firebird 是正确的(毕竟,他的问题是关于),但对于 InterBase,它不是正确,与您的答案相反. IB 提供嵌入式用户身份验证和整个数据库加密,这两者都是针对此问题的不同方面的解决方案。
    • tbh,当我写答案时,我确实更关注火鸟方面,因为它是我所知道的。很高兴知道 IB 提供了这些可能性,但是,从哪个版本开始?谢谢你的信息。 :)
    • 我认为 IB 7 中引入了嵌入式用户身份验证,而 IB 2009 中引入了整个数据库加密,但我必须查一下才能确定。
    猜你喜欢
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 2019-10-27
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    相关资源
    最近更新 更多