我必须收集私人信息并存储它。 我想要做的是收集信息,并将其存储在Intranet服务器上。 收集的数据是在美国的用户,并将存储在美国。
基本上我需要通过一个网站收集银行账户信息,ssn和其他高度敏感的数据,并在本地内联网上存储一个月。
这是可能的,什么是最安全的方法来做到这一点?
有可能做任何事情。
networking分离和encryption是保护重要数据的架构的两个更重要的方面。
支付卡行业数据安全标准包含一系列旨在保护信用卡信息的做法,这可以为您提供一个参考基准。
PCI DSS
如果您正在存储卡详细信息(可能还有银行帐户详细信息),则需要从PCI ASV(经过批准的安全供应商)进行安全testing。
如果您要在英国服务器上存储有关英国个人的个人详细信息(或有关此事的任何详细信息),则需要通知数据专员 – 我相信这是35英镑的一次性付款,但我不确定。 如果您在国外存储,则适用不同的规则。
任何通过“通过网站”(我认为是指公共互联网网站)收集的信息只能以下列两种方法之一存储:
要么
对于大型Web应用程序,选项1不是常态,因为您通常拥有专门用于数据收集和表示层的Web服务器,以及用于存储来自Web服务器的数据和服务请求的单独数据库服务器。 Web服务器通常位于DMZ或networking的公共可访问部分,数据库服务器位于专用networking的后面,其防火墙只允许来自Web服务器的连接。
通过这种设置,即使最敏感的用户数据通常可以存储在数据库服务器中,只要正确的安全措施到位(防火墙,encryption,数据完整性和审计日志等)。 本质上,数据库服务器没有连接到公共Internet,所以除非您的Web服务器受到威胁,否则任何人都无法访问您的数据。 这也是为什么你不应该在你的Web服务器上以明文forms存储数据库用户名和密码,而是总是使用encryption的连接string或基于身份的authentication。 基本上,你把你的networking服务器视为敌对的领土(因此DMZ = DeMilitarized Zone命名)和你的数据库作为一个安全的位置。
首先要回答的问题是:你需要存储这些信息吗? 最好的做法是尽可能less存储私人信息。 假设你有一个真正的业务需求:
我会build议一个SSL证书开始。 确保您的Web服务器设置为将端口80redirect到443,以确保所有stream量均通过HTTPS。
一收到数据就encryption数据,并保持这种状态,直到最后一刻以明文forms存在。 使用AES来encryption数据。 使用一个很好的validation实现。 不要滚动你自己的encryption。
确保你的服务器是最新的所有安全补丁(并保持这种方式)。 运行一个严密的防火墙,只打开最小端口(80和443?)。
监视您的服务器的exception活动。
请勿将数据存储在Web服务器主机上。 将所有数据传递给不可公开访问的计算机。
在服务器所在的州注意遵守法律。 您可能受到各种免责声明,披露和数据违规法律的约束。
PCI DSS准则非常有用。 但是请注意,他们只关注一件事,防止信用卡账户持有人数据的泄露。