Content Security Policy AEM Sitesでのインラインスクリプトのnonce サポート
厳格なコンテンツセキュリティポリシー(CSP)は、クロスサイトスクリプティング(XSS)などのセキュリティリスクを軽減します。 Adobe Experience Manager (AEM) Sitesでは、script-src 'unsafe-inline'と'unsafe-eval'を使用すると、インラインスクリプトが有効になりますが、脆弱性が発生します。 このガイドでは、AEM SitesがCSPのコネクタをサポートしているか、安全な代替手段をサポートしているかを説明します。これにより、安全でないディレクティブを使用せずにインラインスクリプトを読み込むことができます。
この問題を解決するには、インラインスクリプトをリファクタリングし、カスタムのnonce処理を実装する必要があります。
説明 description
環境
製品:AEM as a Cloud Service - Sites
問題/症状
- CSPが
'unsafe-inline'と'unsafe-eval'を除外すると、インラインスクリプトの読み込みに失敗します。 - これらのフラグを削除すると、セキュリティリスクとしてフラグが立てられますが、機能が中断されます。
- セキュリティを損なうことなくインラインスクリプトの実行を可能にするには、CSP接続のような安全な方法が必要です。
解決策 resolution
重要な考慮事項:
- AEM Sitesでは、CSP接続に対してすぐに使用できるサポートは提供されていません。
- AEMでは、インラインスクリプトをノンスで自動的に装飾することはありません。
-
安全でないディレクティブを使用せずに、より厳格なCSP ポリシーを適用するには(例:
unsafe-inline/unsafe-evalを除く):- インラインスクリプトを外部JavaScript ファイルにリファクタリングします。 詳しくは、Experience Platform ドキュメントのCSPの設定を参照してください。
- 必要に応じて、カスタムソリューションを構築してノンスを生成し、注入します。
-
あらゆる変更をテストして、ページの機能が損なわれないようにします。
メモ :
- CSPの欠如は、AEMに固有の脆弱性を構成するものではなく、さらなる防御レイヤーとして機能します。 Commerce ドキュメントの コンテンツセキュリティポリシーの概要を参照してください。
- カスタム実装は、現在サポートされている標準のCSP機能に加えて、より厳格なCSP実装のために必要です。
recommendation-more-help
experience-cloud-kcs-help-kbarticles