我有一个使用 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,
谢谢,
哈利
切换到“仅报告”和“报告 uri/报告到”服务只会让您能够在事情发生后了解情况。它不会提供任何类型的保护。它旨在作为帮助制定政策并以安全方式测试新政策的工具。
您只需在文档文件中添加CSP即可。它对 .js、.css、图像文件和数据没有作用。
您的 .js 和 .css 文件不需要“不安全内联”,如果您从同一来源加载它们,通常会允许使用“self”,如果您从其他地方加载它们,则通常会允许使用主机名。
您的文档中的内联脚本/样式或注入的脚本/样式将需要“不安全内联”,直到您重写这些或通过其他措施(例如哈希或随机数)允许它们。
还值得注意的是,如果您锁定 CSP 的其余部分,样式 XSS 的风险可以忽略不计。
希望这有助于澄清需要什么。