Content Security Policy-Nonce-Unterstützung für Inline-Skripte in AEM Sites

Eine strikte Content Security Policy (CSP) mindert Sicherheitsrisiken wie Cross-Site-Scripting (XSS). In Adobe Experience Manager (AEM) Sites ermöglicht die Verwendung von script-src 'unsafe-inline' und 'unsafe-eval' Inline-Skripte, führt jedoch zu Sicherheitslücken. In diesem Handbuch wird erläutert, ob AEM Sites CSP-Nonces unterstützt oder sichere Alternativen für das Laden von Inline-Skripten ohne unsichere Anweisungen bereitstellt.

Um dies zu beheben, müssen Sie Inline-Skripte refaktorieren und die benutzerdefinierte Nonce-Verarbeitung implementieren.

Beschreibung description

Umgebung

Produkt: AEM as a Cloud Service - Sites

Problem/Symptome

  • Inline-Skripte werden nicht geladen, wenn CSP 'unsafe-inline' und 'unsafe-eval' ausschließt.
  • Das Entfernen dieser Flags wird als Sicherheitsrisiko gekennzeichnet, beeinträchtigt jedoch die Funktionalität.
  • Eine sichere Methode wie CSP-Nonces ist erforderlich, um die Ausführung von Inline-Skripten zu ermöglichen, ohne die Sicherheit zu beeinträchtigen.

Lösung resolution

Wichtige Aspekte:

  • AEM Sites bietet keine vordefinierte Unterstützung für CSP-Nonces.
  • AEM dekoriert seine Inline-Skripte nicht automatisch mit Nonces.
  1. Um strengere CSP-Richtlinien ohne unsichere Anweisungen durchzusetzen (d. h. ohne unsafe-inline/unsafe-eval:

    • Refaktorieren von Inline-Skripten in externen JavaScript-Dateien. Weitere Informationen finden ​ in der Dokumentation ​ Experience Platform unter „Konfigurieren eines CSP“.
    • Erstellen Sie eine benutzerdefinierte Lösung, um bei Bedarf Nonces zu generieren und einzufügen.
  2. Testen Sie alle Änderungen, um sicherzustellen, dass die Seitenfunktion nicht unterbrochen wird.

Hinweise:

  • Das Fehlen von CSP stellt keine inhärente Schwachstelle in AEM dar, sondern dient als zusätzliche Verteidigungsschicht. Siehe Übersicht über die Content Security in der Dokumentation zu Commerce.
  • Eine benutzerdefinierte Implementierung ist für eine strengere CSP-Durchsetzung erforderlich, die über das hinausgeht, was derzeit standardmäßig unterstützt wird.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f