数据库中数据的安全性

时间:2013-11-04 09:37:05

标签: php mysql database security

我正在创建一个Web应用程序,我希望它是安全的,所以我将使用SSL,并将哈希密码。但我的服务器由另一家公司管理,它是一个共享托管服务器,他们可以直接访问数据库。我想防止任何可能的敏感信息丢失,所以我正在考虑加密数据库中的所有数据。

这是保持数据安全的好方法吗? 有没有其他方法来保护数据库中的数据?

我正在使用PHP,MYSQL,Apache和Linux

请提供详细信息。如果我在错误的方向思考,请告诉我们。

提前致谢

1 个答案:

答案 0 :(得分:2)

这不是一个很大的隐私问题

互联网由一些网站/网络应用程序组成,这些网站/网络应用程序使用自托管解决方案和完全个人化的服务器(在他们自己的NOC中拥有和运营)。

其他人正在使用共享,虚拟化,半私有,半专用,并置主机的某种形式。在任何情况下,托管公司都可以完全访问所有内容,他们可以物理访问服务器 - 没有多少保护可以帮助您。

从托管公司的角度来看,共享托管可能是最容易访问的。但这是不相关的,他们的政策应该阻止他们恶意操作,因为如果他们不这样做,那么最简单或最难访问它是否真的无关紧要只要你拥有的数据有多么有趣(或他们的随机员工)。

找到上述非问题的解决方案

有些方法可能会使用:

  • 将加密文件系统挂载为文件夹并设置MySQL以使用该文件夹存储其数据;
  • MySQL加密函数用于加密特定单元格或列中的数据;
  • 在SQLite之上的一个库,它具有加密功能,可以加密整个数据库文件;

另一方面,如果您的PHP文件位于同一台服务器上,并且数据库解密密码将存储在您的PHP文件中,那么任何“入侵者”都可以找到它并在需要时使用它。

您必须将密码存储在其他服务器上,或者从用户处获取密码,以使其不存在于本地PHP文件中。这显然仍然可以在运行时使用;如果“入侵者”是程序员,他将能够相当容易地检索它。