内容安全策略 - Veracode 安全扫描问题

问题描述 投票:0回答:1

我有一个使用 Jboss EAP 服务器部署的 Spring Boot Web 应用程序。 对于安全扫描,我们使用 Veracode 安全工具对正在运行的应用程序执行动态扫描,我遇到了问题 - 缺少 Content-Security-Policy - https://cwe.mitre.org/data/definitions/829.html

所以我开始在standalone.xml中一一添加脚本,样式文件,图像文件,内容文件和数据

<response-header name="Content-Security-Policy" header-name="Content-Security-Policy" header-value="default-src ; style-src * 'unsafe-inline' data: https:; script-src * 'unsafe-inline' 'unsafe-eval' https:; img-src * data: 'unsafe-inline'; frame-src * 'unsafe-inline' data: https:; connect-src * 'unsafe-inline' data: https:;"/>

但是现在 veracode 工具抱怨使用“不安全内联”

到目前为止,我无法将 javascript 文件移动到新文件,这需要大量的开发和测试工作,因为我们有近 2500 个 html/jsp 文件引用了 javascript 文件。

所以根据 CSP 文档,我只有两个选项 - 例如:https://csper.io/blog/no-more-unsafe-inline

  1. 公告或哈希: 我将其保留为第二个选项,因为它涉及代码更改和对应用程序中 100 多个功能的测试。
  2. 切换到仅报告并使用report-uri服务 有人尝试过这个解决方案以及如何实现这一目标吗?

谢谢,
哈利

java jboss content-security-policy veracode csp
1个回答
0
投票

切换到“仅报告”和“报告 uri/报告到”服务只会让您能够在事情发生后了解情况。它不会提供任何类型的保护。它旨在作为帮助制定政策并以安全方式测试新政策的工具。

您只需在文档文件中添加CSP即可。它对 .js、.css、图像文件和数据没有作用。

您的 .js 和 .css 文件不需要“不安全内联”,如果您从同一来源加载它们,通常会允许使用“self”,如果您从其他地方加载它们,则通常会允许使用主机名。

您的文档中的内联脚本/样式或注入的脚本/样式将需要“不安全内联”,直到您重写这些或通过其他措施(例如哈希或随机数)允许它们。

还值得注意的是,如果您锁定 CSP 的其余部分,样式 XSS 的风险可以忽略不计。

希望这有助于澄清需要什么。

© www.soinside.com 2019 - 2024. All rights reserved.