我希望加强我的一个客户站点的安全性。没有设置支付提供商,因此敏感的直接借记信息需要在 mySql 服务器上。此直接借记信息需要会计部门的用户可读。
测试服务器设置如下:
- 目前,主站点位于 wordpress 博客上。
- 客户使用 EV SSL 证书填写 HTTPS 加密表格。
- 数据存储在与 wordpress 数据库不同的数据库中。
- 直接借记详细信息当前存储为纯文本
现在第 4 部分让我感到困扰……但目前还可以,因为仅在测试服务器上!
我希望加强我的一个客户站点的安全性。没有设置支付提供商,因此敏感的直接借记信息需要在 mySql 服务器上。此直接借记信息需要会计部门的用户可读。
测试服务器设置如下:
现在第 4 部分让我感到困扰……但目前还可以,因为仅在测试服务器上!
这真的很难回答,因为这取决于您需要保护这些数据的程度。
第一步显然是加密存储在 mysql 中的所有详细信息,以防有人得到你的数据库的转储。
这个解决方案很好,但它引入了漏洞,就好像有人从您的应用程序服务器获取解密密钥一样,他们无论如何都能够解密数据库的转储。
从这里有很多解决方案需要考虑,我相信通过一些研究你应该能够找到一些不错的解决方案,但我想到的一种方法是:
您可以使用公钥/私钥加密算法加密应用程序服务器上的数据。公钥只能用于加密存储在您的应用服务器上的信息。如果这被黑了,他们唯一能做的就是向您的数据库添加更多数据 =/。在这种情况下,私钥将是每次人们需要查看此信息时都需要输入的密码。
这有一个明显的缺点,即您无法对您的数据进行任何机器处理,因为它的传输一直是完全加密的,直到它显示出来。
(并且您仍然存在有人访问您的应用程序服务器并简单地将会话文件/memcache 转储到必须临时存储密钥的位置的漏洞)
老实说,我要做的第一件事是以一种或另一种方式加密整个数据库。仅此一项就增加了一层不错的保护。在大多数情况下,转储数据库比访问服务器的文件系统更容易。
您是在谈论银行帐户详细信息/信用卡详细信息还是两者兼而有之?
请注意,存储信用卡详细信息会附带满足 PCI 要求。
此外,如果您打算存储机密详细信息,切勿以未加密的方式存储它们。
有任何问题,请告诉我。
法比奥@fcerullo