为托管浏览器禁用 HSTS

Tim*_*ham 8 security firewall deep-packet-inspection

我有哪些选项可以为新站点和浏览器中的那些站点禁用 HSTS?

HTTPS 检查的使用本质上通过充当中间人来改变站点的指纹;访问以前访问过的站点而未进行 HTTPS 检查或预加载站点之一将导致站点无法访问。什么选项 - 如果有的话 - 除了禁用检查之外我还有其他选择吗?

这是一个示例,Chrome 中的 Gmail 带有 HTTPS 检查:

主要的 细节

背景

我正在设置一个新的防火墙,我正在尝试清理我的 HTTPS 检查规则。我真的想避免将可能有用户贡献内容的网站添加到列表中,例如 mail.google.com/gmail.com。

自从我上次这样做以来,HSTS / HTTP Strict Transport Security变得更加普遍。

注意 - 我试图保持这种通用性,因为这可能是许多不同设置的问题。我希望有一种适用于任何防火墙产品的跨操作系统/跨浏览器方法,但这要求有点高。专注于(IE、Chrome、Firefox)使用 Windows (7+) 将是一个很好的开始。以组策略为中心的方法也非常有用。

wom*_*ble 6

你在这里混淆了一些不同的东西,我怀疑它会导致你得出一些错误的结论。

  • HSTS(“HTTP 严格传输安全”)是(仅!)关于强制使用 HTTPS 连接到指定站点。它不强制任何关于使用哪些密钥、证书等来验证连接。
  • 公钥固定指定,如果 HTTPS 连接建立到给定名称,则证书链必须包含给定的公钥白名单之一,否则该连接将被视为无效。

由于 HTTPS 检查(不幸的是)是一种广泛部署的做法,浏览器中的一般做法是,以本地安装的根 CA 证书结尾的证书链免于公钥固定检查。我找到了Chrome 的 Adam Langley关于 Chrome 行为的声明(“MITM 代理、Fiddler 等怎么样?”部分),但我的经验与其他浏览器类似。

我相当有信心,您的屏幕截图中指出的问题不是浏览器挂在 pin 上,而是它根本无法将证书识别为链接到受信任的 CA 证书。这将触发 HSTS 失败,因为“使用 HTTPS”更正确地指定为“使用适当保护的 HTTPS,包括安全密码和用于身份验证的可信证书”。我建议仔细检查 MitM 代理的根 CA 证书是否已正确安装并被正在使用的浏览器识别为有效。