Zum Hauptinhalt springen

Verwendung von Intercom mit Content Security Policy

Alle Intercom-Domains, die Sie in Ihrer CSP oder Firewall zulassen müssen.

Verfasst von Thibault Candebat

Wenn Ihre Website eine Content Security Policy (CSP) implementiert, müssen Sie sicherstellen, dass sie die für Intercom erforderlichen Ressourcen zum ordnungsgemäßen Laden zulässt. CSP ist eine zusätzliche Sicherheitsebene, die hilft, bestimmte Angriffsarten wie Cross Site Scripting (XSS) und Dateninjektionsangriffe zu erkennen und zu verhindern.

Nachfolgend finden Sie die Direktiven und Werte, die Sie in Ihre Richtlinie aufnehmen sollten, um die volle Funktionalität von Intercom in Ihrem Produkt und Ihrer Website zu gewährleisten.


Erforderliche CSP-Direktiven

Intercom unterstützt vollständig strikte CSPv3:

Content-Security-Policy:
  object-src 'none';
  script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:;
  base-uri 'self';

Wenn Sie diese Richtlinie bereits auf Ihrer Website verwenden, müssen Sie keine Änderungen vornehmen. Bitte beachten Sie auch, dass Sie für einige vom Messenger geladene Skripte einige nonce-Quellen einfügen müssen. Hilfe zum Umgang mit Nonces finden Sie in diesem Tutorial.

Quellen-Whitelist

Wenn Sie lieber auf Quellen-Whitelist setzen (zum Beispiel, wenn Sie CSPv2- oder v3-Funktionen nicht verwenden können), sind hier die relevanten Direktiven, die Sie verwenden müssen:

script-src:
https://app.intercom.io
https://widget.intercom.io
https://js.intercomcdn.com

Wenn Sie andere CSP-Direktiven anwenden, müssen Sie die folgenden Einträge hinzufügen, damit Intercom korrekt funktioniert:

Hinweis: Die unten aufgeführten regionalen CDN-Domains müssen nur für die Hosting-Region Ihres Workspaces hinzugefügt werden. Beispielsweise benötigt ein in den USA gehosteter Workspace https://uploads.intercomcdn.com, aber nicht https://uploads.intercomcdn.eu oder https://uploads.au.intercomcdn.com. Gleiches gilt für andere regionsspezifische Domains (z. B. downloads.*, messenger-apps.*, static.intercomassets.* und intercom-attachments.*). Wenn Sie sich über Ihre Hosting-Region nicht sicher sind, überprüfen Sie die Einstellungen Ihres Workspaces.

connect-src:
https://via.intercom.io
https://api.intercom.io
https://api.au.intercom.io
https://api.eu.intercom.io
https://api-iam.intercom.io
https://api-iam.eu.intercom.io
https://api-iam.au.intercom.io
https://api-ping.intercom.io
https://*.intercom-messenger.com
wss://*.intercom-messenger.com
https://nexus-websocket-a.intercom.io
wss://nexus-websocket-a.intercom.io
https://nexus-websocket-b.intercom.io
wss://nexus-websocket-b.intercom.io
https://nexus-europe-websocket.intercom.io
wss://nexus-europe-websocket.intercom.io
https://nexus-australia-websocket.intercom.io
wss://nexus-australia-websocket.intercom.io
https://uploads.intercomcdn.com
https://uploads.intercomcdn.eu
https://uploads.au.intercomcdn.com
https://uploads.eu.intercomcdn.com
https://uploads.intercomusercontent.com

child-src:
https://intercom-sheets.com
https://www.intercom-reporting.com
https://www.youtube.com
https://player.vimeo.com
https://fast.wistia.net

font-src:
https://js.intercomcdn.com
https://fonts.intercomcdn.com

form-action:
https://intercom.help
https://api-iam.intercom.io
https://api-iam.eu.intercom.io
https://api-iam.au.intercom.io

media-src:
https://js.intercomcdn.com
https://downloads.intercomcdn.com
https://downloads.intercomcdn.eu
https://downloads.au.intercomcdn.com

img-src:
blob:
data:
https://js.intercomcdn.com
https://static.intercomassets.com
https://downloads.intercomcdn.com
https://downloads.intercomcdn.eu
https://downloads.au.intercomcdn.com
https://uploads.intercomusercontent.com
https://gifs.intercomcdn.com
https://video-messages.intercomcdn.com
https://messenger-apps.intercom.io
https://messenger-apps.eu.intercom.io
https://messenger-apps.au.intercom.io
https://*.intercom-attachments-1.com
https://*.intercom-attachments.eu
https://*.au.intercom-attachments.com
https://*.intercom-attachments-2.com
https://*.intercom-attachments-3.com
https://*.intercom-attachments-4.com
https://*.intercom-attachments-5.com
https://*.intercom-attachments-6.com
https://*.intercom-attachments-7.com
https://*.intercom-attachments-8.com
https://*.intercom-attachments-9.com
https://static.intercomassets.eu
https://static.au.intercomassets.com

style-src:
'unsafe-inline'


Wenn Ihr Service nur CSPv3 unterstützt, müssen Sie zwei separate Einträge für frame-src und worker-src anstelle von child-src verwenden, da dieses Schlüsselwort veraltet ist.

Hinweis:

  • Die oben genannten Einträge sind erforderlich, damit die Funktionalität von Intercom in Ihrer App ordnungsgemäß funktioniert. Einige Integrationen in unserem App Store können erfordern, dass Sie weitere Einträge in Ihre CSP aufnehmen. In diesem Fall sollten Sie eine Fehlermeldung in der Entwicklerkonsole Ihres Browsers sehen.

  • https://*.intercom-messenger.com und wss://*.intercom-messenger.com wurden der connect-src-Direktive hinzugefügt, um eine breitere und skalierbarere Infrastruktur für die Echtzeitkommunikation im Intercom Messenger zu ermöglichen. Diese Wildcard-Einträge sind notwendig, um das Upgrade zu unterstützen und sicherzustellen, dass der Messenger dynamisch eine Verbindung zu mehreren Echtzeit-Endpunkten herstellen kann.

Firewalls

Viele der oben genannten Domains müssen auch in Ihren Firewall-Einstellungen zugelassen werden, um die korrekte Funktion von Intercom zu gewährleisten.

Wichtig: Um auf den Intercom Inbox zuzugreifen, wenn eine Firewall aktiv ist, muss je nach Hosting-Region Ihres Workspaces eine der folgenden Domains auf die Whitelist gesetzt werden:

  • app.intercom.com (US-Region)

  • app.eu.intercom.com (EU-Region)

  • app.au.intercom.com (AU-Region)

Hat dies deine Frage beantwortet?