防止/检测通过HTTP无意中发送的客户端机密泄漏?

时间:2013-09-19 16:46:48

标签: apache security https monitoring

假设我有一个网站,称之为www.yoyodyne.com,它既有“不安全”又有“安全”内容:

  • 不安全的内容不包含任何机密,任何网站用户都可以通过HTTP进行访问。
  • 安全内容包含客户机密,只有经过身份验证的授权用户才能通过HTTPS访问。访问安全内容时,Web客户端既可以从网站接收秘密,也可以向网站发送秘密。

让我们进一步说明,www.yoyodyne.com由Apache提供,并且我尝试通过声明包含安全内容的位置的SSLRequireSSL指令来确保访问安全性(在两个方向上)。

现在,最后,假设一个Web客户端通过HTTP而不是HTTPS发送包含客户机密的请求,因为以某种方式(见下文)它获得了一个路径名组件引用安全的URL内容,但其方案(协议)组件被错误地设置为http而不是https

问题1 :鉴于Apache服务器侦听www.yoyodyne.com的IP地址的端口80和443(为了能够同时提供不安全服务) ,安全内容),客户的秘密甚至不会被泄露 虽然SSLRequireSSL指令最终导致请求被拒绝?

问题2 :如果我们假设客户端可能会收到一些机会 并使用上述类型的错误URL,如果我被限制使用单个域名/ IP,有什么方法可以防止这种泄漏 该网站的地址? (显然,如果我只提供安全服务,我可以避免这个问题 来自secure.yoyodyne.com的内容,其解析为与www.yoyodyne.com不同的IP地址,并且没有人在端口80上侦听。但如果www.yoyodyne.com的所有者便宜并且不想支付第二个IP地址,和/或基于美学原因的对象,我坚持约束。)

-

现在,在www.yoyodyne.com的情况下,至少有两种方式 Web客户端可能会获得上述类型的错误URL:

  • 网站代码中的错误导致其嵌入链接 在它所服务的页面中;
  • 许多“合作伙伴”网站中的任何一个,每个网站都进行身份验证 代表www.yoyodyne.com的用户通过iframe提供链接。

这显然是开发人员和维护人员的责任 所有这些网站,以确保他们写没有这样的坏链接。但就像 显然,没有任何保证。 (虽然我可以通过执行良好的编码标准和质量保证实践对www.yoyodyne.com的行为有一定程度的保证,但我无法有效控制合作伙伴网站的开发人员如何经营他们的商店。)

所以:

问题3 :假设(如上所述)我没有单独的secure.yoyodyne.com 站点(完全阻止任何此类错误请求的传输 HTTP),我可以部署什么是最简单,最有效的机制来通知 在这样糟糕的请求之后,www.yoyodyne.com管理员会尽快 是吗? (在我的脑海中,我想象着像Nagios这样的东西 监视服务器日志并在看到如此糟糕的访问时发送警报,但很可能有一种我没想过的更简单的方法。)

0 个答案:

没有答案