AEM Sitesでのコンテンツセキュリティポリシー nonce のインラインスクリプトのサポート

厳密なコンテンツセキュリティポリシー(CSP)は、クロスサイトスクリプティング(XSS)などのセキュリティリスクを軽減します。 Adobe Experience Manager(AEM)サイトで script-src 'unsafe-inline''unsafe-eval' を使用すると、インラインスクリプトが有効になりますが、脆弱性が発生します。 このガイドでは、AEM Sitesで、安全でないディレクティブを使用せずにインラインスクリプトを読み込むために、CSP Nonce または安全な代替手段をサポートするかどうかを説明します。

これを修正するには、インラインスクリプトをリファクタリングし、カスタムナンス処理を実装する必要があります。

説明 description

環境

製品:AEM as a Cloud Service - Sites

問題/症状

  • CSP が 'unsafe-inline' および 'unsafe-eval' を除外すると、インラインスクリプトの読み込みに失敗する。
  • これらのフラグを削除すると、セキュリティ上のリスクとしてフラグが付けられますが、機能が中断されます。
  • セキュリティを妥協することなくインラインスクリプトを実行するには、CSP Nonces などの安全なメソッドが必要です。

解決策 resolution

主な考慮事項:

  • AEM Sitesでは、CSP Nonce の標準サポートは提供されていません。
  • AEMは、インラインスクリプトを nonce で自動的に修飾しません。
  1. 安全でないディレクティブを使用せずに、より厳格な CSP ポリシーを適用するには(例:unsafe-inline/unsafe-eval を除外する):

    • インラインスクリプトを外部JavaScript ファイルにリファクタリングします。 詳しくは、Experience Platform ドキュメントの CSP の設定 ​ を参照してください。
    • 必要に応じて Nonce を生成および挿入するためのカスタムソリューションを構築します。
  2. すべての変更をテストし、ページ機能が中断されないようにします。

:

  • CSP がないからといって、AEM固有の脆弱性にはなりません。CSP は、別の防御レイヤーとして機能します。 Commerce ドキュメントの ​ コンテンツセキュリティポリシーの概要 ​ を参照してください。
  • カスタム実装は、現在サポートされている標準よりも厳しい CSP 適用のために必要です。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f