Konfigurieren einer CSP

A Inhaltssicherheitsrichtlinie (CSP) wird verwendet, um die Ressourcen zu beschränken, die ein Browser verwenden darf. Die CSP kann auch die Funktionalität von Skript- und Stilressourcen einschränken. Das Adobe Experience Platform Web SDK benötigt keine CSP. Durch Hinzufügen einer kann die Angriffsfläche jedoch reduziert werden, um schädliche Angriffe zu verhindern.

Das CSP muss reflektieren, wie Platform Web SDK bereitgestellt und konfiguriert wurde. Die folgende CSP zeigt, welche Änderungen erforderlich sein können, damit das SDK ordnungsgemäß funktioniert. Abhängig von Ihrer spezifischen Umgebung sind wahrscheinlich zusätzliche CSP-Einstellungen erforderlich.

Beispiel für eine Content-Sicherheitsrichtlinie

Die folgenden Beispiele zeigen, wie Sie eine CSP konfigurieren.

Zugriff auf die Edge-Domäne zulassen

default-src 'self';
connect-src 'self' EDGE-DOMAIN

Im obigen Beispiel EDGE-DOMAIN durch die Erstanbieterdomäne ersetzt werden. Die Erstanbieterdomäne ist für die edgeDomain -Einstellung. Wenn keine Erstanbieterdomäne konfiguriert wurde, wird EDGE-DOMAIN sollte ersetzt werden durch *.adobedc.net. Wenn die Besuchermigration mit idMigrationEnabled, die connect-src -Richtlinie auch *.demdex.net.

Verwenden Sie NONCE, um Inline-Skript- und Stilelemente zuzulassen

Platform Web SDK kann den Seiteninhalt ändern und muss genehmigt werden, um Inline-Skript- und Stil-Tags zu erstellen. Um dies zu erreichen, empfiehlt Adobe die Verwendung einer Nonce für die default-src CSP-Richtlinie. Eine Nonce ist ein Server-generiertes kryptografisch starkes zufälliges Token, das einmal pro eindeutigem Seitenaufruf generiert wird.

default-src 'nonce-SERVER-GENERATED-NONCE'

Darüber hinaus muss die CSP-Nonce als Attribut zum Platform Web SDK Basis-Code Skript-Tag. Platform Web SDK verwendet diese Nonce dann, wenn Inline-Skript- oder Stil-Tags zur Seite hinzugefügt werden:

<script nonce="SERVER-GENERATED-NONCE">
  !function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
  []).push(o),n[o]=function(){var u=arguments;return new Promise(
  function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
  (window,["alloy"]);
</script>

Wenn keine Nonce verwendet wird, besteht die andere Option darin, unsafe-inline der script-src und style-src CSP-Anweisungen:

script-src 'unsafe-inline'
style-src 'unsafe-inline'
NOTE
Adobe tut not empfehlen unsafe-inline weil es ermöglicht, dass jedes Skript auf der Seite ausgeführt wird, wodurch die Vorteile des CSP eingeschränkt werden.

CSP für In-App-Nachrichten konfigurieren in-app-messaging

Bei der Konfiguration Web-In-App-Nachrichtenmüssen Sie die folgende Anweisung in Ihre CSP aufnehmen:

default-src  blob:;
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636