Ir al contenido principal

Uso de Intercom con la Política de Seguridad de Contenido

Todos los dominios de Intercom que debes permitir en tu CSP o firewall.

Escrito por Thibault Candebat

Si tu sitio web implementa una Política de Seguridad de Contenido (CSP), debes asegurarte de que permita los recursos necesarios para que Intercom funcione correctamente. CSP es una capa adicional de seguridad que ayuda a detectar y mitigar ciertos tipos de ataques, incluyendo Cross Site Scripting (XSS) y ataques de inyección de datos.

A continuación, se muestran las directivas y valores que debes incluir en tu política para garantizar la funcionalidad completa de Intercom en tu producto y sitio web.


Directivas CSP requeridas

Intercom soporta completamente la estricta CSPv3:

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

Si ya estás aplicando esta política en tu sitio web, no necesitas hacer cambios. También ten en cuenta que deberás incluir algunas fuentes nonce para ciertos scripts cargados por el Messenger. Puedes consultar este tutorial para ayuda sobre el manejo de nonces.

Lista blanca de fuentes

Si prefieres confiar en la lista blanca de fuentes (por ejemplo, si no puedes usar características de CSPv2 o v3), aquí están las directivas relevantes que debes usar:

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

Si aplicas otras directivas CSP, deberás agregar las siguientes entradas para que Intercom funcione correctamente:

Nota: Los dominios CDN regionales listados a continuación solo deben agregarse para la región de alojamiento de tu espacio de trabajo. Por ejemplo, un espacio alojado en EE. UU. requiere https://uploads.intercomcdn.com pero no https://uploads.intercomcdn.eu ni https://uploads.au.intercomcdn.com. Lo mismo aplica para otros dominios específicos de región (por ejemplo, downloads.*, messenger-apps.*, static.intercomassets.* y intercom-attachments.*). Si no estás seguro de tu región de alojamiento, revisa la configuración de tu espacio de trabajo.

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'


Además, si tu servicio solo soporta CSPv3, deberás usar dos entradas separadas para frame-src y worker-src en lugar de child-src, ya que esta palabra clave está siendo desaprobada.

Nota:

  • Las entradas anteriores son necesarias para que la funcionalidad de Intercom funcione correctamente en tu aplicación. Algunas integraciones en nuestra App Store pueden requerir que agregues otras entradas a tu CSP también. Si es así, verás un mensaje de error en la consola de desarrolladores de tu navegador que lo indicará.

  • https://*.intercom-messenger.com y wss://*.intercom-messenger.com se han agregado a la directiva connect-src para acomodar una infraestructura más amplia y escalable para la comunicación en tiempo real en Intercom Messenger. Estas entradas comodín son necesarias para soportar la actualización y asegurar que el Messenger pueda conectarse dinámicamente a múltiples puntos finales en tiempo real.

Firewalls

Muchos de los dominios mencionados también deberán permitirse en la configuración de tu firewall para permitir el correcto funcionamiento de Intercom.

Importante: Para acceder al Inbox de Intercom cuando un firewall está activo, uno de los siguientes dominios deberá estar en la lista blanca, dependiendo de la región de alojamiento de tu espacio de trabajo:

  • app.intercom.com (región US)

  • app.eu.intercom.com (región EU)

  • app.au.intercom.com (región AU)

¿Ha quedado contestada tu pregunta?