假设我有一个网站,称之为www.yoyodyne.com
,它既有“不安全”又有“安全”内容:
让我们进一步说明,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这样的东西
监视服务器日志并在看到如此糟糕的访问时发送警报,但很可能有一种我没想过的更简单的方法。)