我的情况有点复杂。我会尝试解释这个问题,解释我正在做的事情,看看是否有人认为这是可行的。
首先,我们符合 PCI 标准。因此,我实施的任何解决方案都必须考虑合规性。以下是场景。
我们的服务器是服务器 A。服务器 A 是安全的(https)、符合 PCI 标准,并且托管 Web 应用程序。(Windows Server 2003、IIS 6)
服务器 B 是外部实体的 Web 服务器。他们有一个以任意风格编写的网站。此服务器是安全的 (https),但不符合 PCI 标准。
客户端从服务器 B 下载一个页面。有一个 jQuery 插件劫持了服务器 B 提供的页面上的表单。这会导致表单提交一个 jsonphttp 获取请求直接到服务器 A。 我的假设(无论正确与否)是,即使表单是由服务器 B 提供给客户端的,服务器 B 也永远不会收到来自表单的帖子。 此请求在查询字符串中包含敏感(信用卡)信息。 再次假设,由于连接是 https,因此这些数据作为加密有效负载的一部分是安全的
因此,服务器 A 接收请求,并将响应发送回客户端(接受、拒绝、错误等)。
我的问题是:我如何才能绝对确定服务器 A(我的服务器)没有保存任何这些数据。我已经从日志中删除了查询字符串,但是否还有其他需要关闭的内容?查询字符串是否曾记录在 Windows 事件中?在客户端计算机上呢?这些数据(查询字符串)是否会记录在那里?此外,我如何向任何人(我的老板)证明(证明)查询字符串是加密负载的一部分?
编辑:
澄清:服务器 A 和服务器 B 不在同一个域中。我必须通过 ajax 调用使此 http 请求跨域工作。我无法在服务器 B 上使用代理。
答案1
数据包跟踪将显示查询字符串未以纯文本形式提交(并且使用 wireshark 的SSL 解密功能,你可以证明它是以加密方式提交的)
至于日志记录,在客户端,答案肯定是“可能”。例如,有人可能使用公司代理来替换自己的 SSL 证书(由公司所有计算机都信任的 CA 颁发)并记录所有查询,并可能将此查询发送给人力资源部,以便他们记录此人浪费公司时间的情况。
不知道服务器端是否还有其他日志会显示该查询。根据您的应用程序(是 JSP 吗?),它甚至可能有自己的日志,与 IIS 完全分开。