是否将Content-Security-Policy HTTP标头用于后端API?

Jim*_*Aho 5 asp.net security ssl http hsts

我们正在后端API上实现HSTS,而偶然发现了Content Security Policy(CSP)标头。此标头告诉浏览器可以从何处下载图像,视频,样式表,脚本等资源。

由于后端API不会真正在浏览器中显示内容,因此设置此标头的价值是什么?

DaS*_*rer 21

CSP是一种旨在削弱攻击的技术。也就是说,它与依赖加载的其他资源的超媒体服务相结合是最有用的。这不是我期望的 API 场景。这并不是说你不能使用它。如果您的回复中确实没有交互式内容,则没有什么可以阻止您提供此标题:

Content-Security-Policy: default-src 'none';
Run Code Online (Sandbox Code Playgroud)

更进一步,您可以将 CSP 用作某种临时入侵检测系统,通过设置report-uri以获取传入的违规报告。这完全符合预期用途,但仍然有点便宜。

总而言之,它理论上可以通过很少的努力提高您的 API 的安全性。实际上,优势可能微乎其微。如果您愿意,发送该标头应该没有害处。不过,您可以通过例如抑制 MIME 类型的嗅探来获得更多收益。

另请参阅:OWASP 安全标头项目

  • 是的,因此我还会将 `frame-ancestors 'none';` 添加到我的后端 csp 标头中。 (2认同)