如何保护数据库?

时间:2009-11-07 18:06:44

标签: database security database-design

有一个带有服务器数据库的网站。我正在构建一个桌面应用程序,它使用其中一个表中的数据。黑客可以从汇编中获取密码。

如何保护数据库?

4 个答案:

答案 0 :(得分:14)

我根本不会将数据库信息存储在应用程序中。相反,我会在网站上为数据库创建一个API,可能实现一个RESTful接口,或者具有以适当格式返回数据的查询,例如JSON,XML甚至纯文本。然后,应用程序可以调用这些Web服务并处理结果。所有数据库信息都保留在服务器上(希望是安全的)。

答案 1 :(得分:1)

API添加了有时不必要的应用程序层。并非我所涉及的所有应用程序都可以轻松地从使用数据库调用转换为webservice调用。如果申请还没有写好,我想这不会那么重要。

我的替代实施是:

  1. 使用某种安全隧道连接到服务器。
  2. 保存在磁盘上加密的密码。
  3. 这将节省我创建API的工作量,这在我的大多数项目中都会浪费时间。

    如果假设您要将应用程序分发给客户,则此备选方案不可行。

答案 2 :(得分:1)

你的可以

A)创建三层系统。您的客户端可以与服务器连接,服务器又与数据库连接。服务器存储访问凭证。

B)为您的用户在数据库上创建个人帐户。如果需要对数据进行细粒度访问控制,则此两层模型适用。例如。在具有不同用户角色的内部应用程序中。

答案 3 :(得分:0)

不要让数据库用户登录应用程序,而是对应用程序数据以外的任何操作执行任何写操作或读取操作。

或者,正如Thomas上面提到的那样,选择一个理智的架构。数据库用于存储和检索数据,它们不是通用的应用程序服务器。