2011-05-06 81 views
1

我有一个格式为.GDB的firebird数据库。防止firebird.GDB数据库被打开

如果我安装了一个interbase服务器,并且打开带有默认密码的(例如IB Expert)的.GDB,我可以打开数据库。

所以我想阻止其他软件打开数据库我怎么能做到这一点?

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

回答

1

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

说这话时,一些建议:

  • 如果你不需要它确保火鸟的嵌入式版本没有出现在您的安装,以避免给用户与该数据库可以直接访问的工具。
  • 尽可能限制对数据库所在目录的访问。防火墙,目录用户权限等
  • 正如您所说的使用gsec.exe来添加/修改用户访问权限。虽然这不会阻止SYSDBA访问数据库,但至少会阻止普通用户这样做。
  • 加密数据库所在的文件系统。你可以在How to protect data in Firebird database找到更多的信息。
  • 如果要通过像互联网这样的不安全网络访问数据库,可以考虑使用SSL。检查How to protect the connection over insecure networks
  • 检查Firebird Security FAQ欲知更多信息。

还有另一种解决方案,可能会部分地帮助您:存储数据和读取数据时进行解密之前加密,但它可能会导致通过该数据寻找一些问题,因为你将无法使用一些指标(实际只有PK和FK指数才能完美地工作)。

我知道这不是您所期望的答案,所以对此深表歉意。也许别人会带来另一种更好的解决方案。 :-)

HTH

+0

这可能是火鸟真(这是,毕竟,他有什么问题是关于),但它是不是** **的InterBase的真实,相反的是在你的答案。 IB提供嵌入式用户身份验证和整个数据库加密,这两种解决方案都是针对此问题的不同方面的解决方案。 – 2011-06-09 17:45:01

+0

tbh,当我写下答案时,我更专注于Firebird方面,因为它是我所知道的。很高兴知道IB提供这些可能性,但是,从哪个版本开始? Thx的信息。 :) – 2011-06-12 05:39:05

+0

我认为在IB 7中引入了嵌入式用户身份验证,并在IB 2009中引入了整个数据库加密,但我必须仔细查看它。 – 2011-06-12 23:02:02