如何保护数据库服务器上的敏感数据?

如何保护数据库服务器上的敏感数据?

我目前正在从事一个将收集大量客户敏感数据的项目。出生日期、社会保障号、信用记录和其他个人数据。

这些数据全部由一个网站使用,该网站会生成包含个人数据的 PDF 格式的文档。显然,如果客户的用户名和密码被泄露,他们的个人信息就会面临风险,但我该怎么做才能保护数据库不被泄露呢?

我是否应该加密数据库中的 PDF 文档和其他信息?随着用户数量的增加,这是否会导致严重的性能问题?

将数据库服务器放在公共 Web 服务器访问的专用网络上是否足够?

我正在使用 MySQL

答案1

以下是“PCI 最佳实践”的链接

http://www.appsecinc.com/solutions/pci/index.shtml

PCI 是接受信用卡的公司必须遵守的标准,并且通常是值得遵循的良好做法。

其中一些关键点如下:

  • 服务器周围的物理安全性需要非常好
  • 所有进出服务器的数据都应加密
  • 服务器应位于防火墙后面,并且只能从有限数量的机器访问
  • 使用加密文件系统,对于非常敏感的数据,加密数据库中的各个数据块
  • 将远程访问限制为仅需要最少数量的系统管理员

如果您阅读该网站上的某些文档,它会为您提供更多信息。

答案2

您当然应该将数据库置于防火墙后面,仅供 Web 服务器访问。为什么要将其暴露在不必要的地方呢?

至于加密……只要您的访问要求不会使其变得毫无用处,那就很好了。理想情况下,您可以将 SQL 数据存储为您知道的密钥加密,并且任何生成的文档都将加密到客户端的密钥。

相关内容