CSP内容安全策略 - 为什么我们没有使用它?

3
我现在正在为我所工作的网站引入CSP和其他与安全相关的http头。它们都感觉很容易引入,所以没有问题...
我快速调查了一下哪些网站使用了什么http头。惊讶的是极少数网站使用了CSP。我查看了一些银行登录页面、一些大型网站和一些技术驱动的网站(如stackoverflow)。Facebook是我唯一能找到使用CSP的网站。Gmail只在报告模式下运行。
对我来说,这就像是采摘低垂的果实,只需添加这些头文件即可获得所有的安全好处。我感到困惑。我错过了什么吗?为什么没有人使用它?难道有我不知道的缺点吗?
来自Google和Mozilla的人是W3C规范的编辑。那么为什么他们甚至没有使用它呢?

"来自 Google 和 Mozilla 的人是 W3C 规范的编辑。那么,为什么他们甚至没有使用它呢?有几个观点。首先,我相信 WhiteHat Security 的 Robert Hansen 是 CSP 的创造者。其次,我相信 Brandon Sterne 是第一个在 FireFox 中实现它的人。第三,CSP 正在进行微调。 CSP Level 2 是一个 LC 草案。" - jww
  1. 是的,但 Brandon Sterne(Mozilla)和 Adam Barth(Google)是这个项目的编辑。因此,他们在其中投入了时间。
  2. 我说的是使用它的网站,而不是支持它的浏览器。
  3. 是的,但我仍然认为第一级很棒,所以即使有更好的级别即将推出,我的问题仍然很有效。
- He Nrik
1个回答

1

我不想提供仅链接的答案,但我不知道有什么更好的回答方式,比为什么CSP失败?CSP采用趋势和挑战。或许引用3.4节“结论”部分可以增加一些实质内容:

虽然一些网站使用CSP作为额外的保护层来防止内容注入,但CSP尚未被广泛采用。此外,现实中观察到的规则并没有充分利用CSP的全部优点。大多数启用CSP的网站都是phpMyAdmin安装,它带有弱默认策略。其他最近的安全头文件比CSP获得了更多的关注,这可能是因为它们相对易于部署。我们测量期间在Alexa前10K个网站中只有一个网站从报告模式切换到执行模式,这表明CSP规则不能轻易地从收集到的报告中推导出来。如果能自动化或半自动化生成策略,则可能有助于促进采用。


非官方地(或许是官方的,因为Neil Matatal与CSP工作组在一起),来自管理内容安全策略:

  • CSP 1级
    • 2年的学习
    • 无法删除内联脚本
    • 失败
  • CSP 2级
    • 两周
    • 通过脚本nonce管理风险
    • 成功

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接