我在一个应用程序上工作,用户可以通过将其加载到iframe中,将其网站嵌入到周围的内容中。这显然依赖于未在用户网站上设置的X-Frame-Options工作。客户要求我创建一个反向代理,因为出于安全考虑,他们不想从他们的站点中删除X-Frame-Options标头。
我设置代理并且一切正常但是X-Frame-Options标题的重点是创建代理以避开它?
我知道标题存在是为了防止点击劫持,但是如果有人可以只使用代理来解决它...它真的能提高安全性吗?
我不是来自企业开发者世界,你能否帮助我理解为什么IT部门会拒绝删除标题的原因?
我注意到google.com和facebook.com也设置了标题,所以它不能完全没有意义吗?
由于
答案 0 :(得分:2)
通过http服务的任何网站都可以使用代理更改其内容。所以是的,这在http网站上毫无意义,因为它很容易被击败。
通过https服务网站可以防止这种情况,除非您有代理服务器也拦截https流量。这只能通过代理充当中间人(MITM)来实现,因此它会解密代理上的流量,然后重新加密流量以便发送到服务器并返回。为此,代理服务器要么需要知道服务器私钥,要么更有可能用自己的副本替换提供给客户端的证书。
虽然MITM通常与攻击有关,但有一些合法的情况(尽管许多人认为这些都不合法,而https应该是安全的!):
防病毒软件可以执行此操作来扫描保护计算机的请求。例如,如果您运行Avast并启用了SSL扫描(默认情况下认为它已启用)并转到https://www.google.com并查看证书,您会注意到它是由Avast而不是像往常一样由Google发布的。要做到这一点,需要防病毒软件在您的PC上安装颁发者证书,从中可以颁发这些替换证书,您的浏览器仍将接受这些证书作为真实证书。安装此颁发者证书需要在安装防病毒软件时临时提供的管理员访问权限。
企业代理执行类似的过程,以允许他们监控来自其员工的https流量。同样,它需要使用管理员权限在PC上安装发行者。
所以基本上只有你可以使用像你建议的https流量代理,如果你已经拥有,或者过去曾经拥有PC中的管理员权限 - 在这种情况下,所有的赌注都是关闭的。
执行此操作的唯一方法是使用代理保持http流量。例如,如果您请求www.google.com,那么这通常会重定向到https://www.google.com,但您的代理可以拦截该重定向请求,而是将客户端 - >代理连接保留在https上,允许代理修改请求以删除出头。这取决于没有键入https的用户,没有注意到没有绿色挂锁,并且可以使用HSTS等技术(在某些浏览器中自动预加载某些网站,如google.com)。所以不是真正可靠的拦截交通方式。
答案 1 :(得分:2)
许多安全网站使用X-Frame-Options来防止点击劫持
这可以防止攻击者通过透明层欺骗用户执行他们在他们甚至不知道已加载的网站上不知道的操作。此外,此攻击仅适用于在用户浏览器中直接从受攻击/受害者站点的域提供的帧。
您可能认为您可以反向代理网站并删除框架破坏标头。但是您的代理没有收到或发送最终用户cookie到受害者站点。这些安全站点依赖于活动会话,因此将来自代理的请求解释为来自未经身份验证的用户完全击败点击劫持点。