Konfigurationskonflikte bei Inhaltssicherheitsrichtlinien in AEM
Strenge CSP-Regeln (Content Security Policy) beschädigen häufig die AEM Author-Benutzeroberfläche, Trigger-Scanner-Warnungen zu fehlenden CSP-Kopfzeilen oder verursachen Bereitstellungsprobleme, wenn CSP in Authoring- und Publishing-Umgebungen angewendet wird. Konfigurieren Sie CSP auf der Dispatcher- oder CDN-Ebene, nehmen Sie Autorenumgebungen von strengen Richtlinien aus und wenden Sie CSP nur an, wenn erforderlich.
Beschreibung description
Umgebung
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- AEM Managed Services
- Adobe Developer App-Builder
Problem/Symptome
- Symbolleisten, Komponenten oder iFrames der Authoring-Benutzeroberfläche können nicht geladen werden.
- Sicherheitsscanner melden fehlende CSP-Header auf Anmeldeseiten.
- Sites funktionieren nach der Anwendung restriktiver CSP-Anweisungen wie default-src „self“ nicht mehr.
- CSP-Anweisungen, die unsafe-inline oder unsafe-eval einschränken, verursachen Benutzeroberflächenfehler.
- Es ist kein integrierter CSP-Reporting-Endpunkt verfügbar.
Ursache
AEM bietet standardmäßig keine umfassende CSP-Unterstützung. Viele zentrale Client-Bibliotheken sind auf Inline-JavaScript und Verhaltensweisen angewiesen, die mit strikten CSP-Richtlinien nicht kompatibel sind. Eine globale Anwendung von CSP kann sich unbeabsichtigt auf die Autorenumgebung auswirken. CSP-Nonces werden nicht standardmäßig generiert und erfordern eine benutzerdefinierte Implementierung. Anmeldeseiten enthalten standardmäßig auch keine CSP-Kopfzeilen.
Lösung resolution
Gehen Sie wie folgt vor, um dieses Problem zu beheben:
- Identifizieren Sie, wo der CSP-Header konfiguriert ist, z. B. die CDN-, Dispatcher- oder Reverse-Proxy-Ebene.
- Verwenden Sie separate Hostnamen für die Autoren- und Veröffentlichungsumgebung.
- Entfernen Sie CSP-Header aus Autorenumgebungen oder nehmen Sie sie aus ihnen heraus, um Fehler bei der Authoring-Oberfläche zu vermeiden.
- Wenden Sie CSP nur auf Veröffentlichungsumgebungen an.
- Wenn strengere Richtlinien erforderlich sind, verwenden Sie die Domain-Zulassungsliste oder implementieren Sie eine benutzerdefinierte Nonce-Lösung.
- Hosten von CSP-Reporting-Endpunkten außerhalb der Plattform, wenn Reporting erforderlich ist.
- Wenden Sie CSP auf der äußersten Ebene an, z. B. auf das CDN oder den Reverse-Proxy, um eine konsistente Durchsetzung zu gewährleisten.
- Fügen Sie CSP-Header nur dann zu Anmeldeseiten hinzu, wenn dies zur Erfüllung der Anforderungen für die Sicherheitsüberprüfung erforderlich ist.
- Überprüfen Sie die Konfiguration, indem Sie bestätigen, dass die erforderlichen Ressourcen erfolgreich geladen wurden und keine kritischen CSP-Verstöße auftreten.