如何操作 ADFS 3 的 x-frame-options HTTP 标头?

wka*_*ann 7 active-directory http-headers adfs x-frame-options

默认情况下,ADFS 3 响应包含“X-Frame-Options: DENY”HTTP 标头。这可以防止 ADFS 在 iframe 中运行,因为这为点击劫持攻击提供了机会。

然而,目前我的公司正在实施一个集成,其中应该对此安全规则进行例外处理:某个域上的页面应该能够在 iframe 中嵌入 ADFS。

然而,似乎 ADFS 不允许开箱即用地更改此设置。那么修改这个 HTTP 头的最好方法是什么?

例如 RFC ( https://tools.ietf.org/html/rfc7034#section-2.3.2.3 )中的建议?

  1. 想要在框架中呈现所请求内容的页面将其自己的来源信息提供给通过查询字符串参数提供要框架化的内容的服务器。

  2. 服务器验证主机名是否符合其标准,以便允许目标资源对页面进行框架化。例如,这可能通过查找允许构建页面的受信任域名白名单来实现。例如,对于 Facebook 的“Like”按钮,服务器可以检查提供的主机名是否与该“Like”按钮预期的主机名匹配。

  3. 如果在步骤 #2 中满足正确的条件,服务器会在“X-Frame-Options: ALLOW-FROM”中返回主机名。

  4. 浏览器强制执行“X-Frame-Options: ALLOW-FROM”标头。

小智 1

使用 Web 服务器作为 ADFS 3 前面的反向代理并修改 HTTP 标头。这可以通过ApacheNginx来完成。在交付之前进行彻底测试,因为 ADFS 3 可能不喜欢代理。我没有办法提供概念证明

这是又一个需要管理的服务器和服务,但我知道这是您必须满足的要求

  • (ADFS 3 使用 HTTPS。这使得在不解密/重新加密 HTTPS 流量的情况下无法更改标头。) (3认同)