AEM Sites中对内联脚本的内容安全策略nonce支持
严格的内容安全策略(CSP)可降低安全风险,如跨站点脚本(XSS)。 在Adobe Experience Manager (AEM) Sites中,使用script-src 'unsafe-inline'和'unsafe-eval'会启用内联脚本,但会引入漏洞。 本指南介绍AEM Sites是否支持CSP nonce或安全替代方法,以便加载没有不安全指令的内联脚本。
要解决此问题,您需要重构内联脚本并实施自定义nonce处理。
描述 description
环境
产品: AEM as a Cloud Service — 站点
问题/症状
- CSP排除
'unsafe-inline'和'unsafe-eval'时,无法加载内联脚本。 - 删除这些标记将标记为安全风险,但会中断功能。
- 需要诸如CSP nonce之类的安全方法来允许内联脚本执行而不会影响安全性。
解决方法 resolution
关键注意事项:
- AEM Sites不对CSP随机数提供开箱即用支持。
- AEM不会自动使用nonce修饰其内联脚本。
-
要在不安全指令的情况下实施更严格的CSP策略(即,不包括
unsafe-inline/unsafe-eval:- 将内联脚本重构到外部JavaScript文件中。 有关更多详细信息,请参阅Experience Platform中的配置CSP。
- 如果需要,构建自定义解决方案以生成和插入nonce。
-
测试所有更改以确保页面功能不被中断。
备注:
- CSP的缺失并不构成AEM的固有脆弱性;而是额外的防御层。 请参阅Commerce文档中的内容安全策略概述。
- 在当前现成的受支持之外,需要自定义实施更严格的CSP实施。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f