CentralCSP
Reporting APITypes de rapports

Connection-Allowlist

Le report connection-allowlist signale une page qui a tenté une connexion vers une destination non autorisée par sa Connection-Allowlist.

Dernière mise à jour:

Un report connection-allowlist vous indique qu'une page a tenté d'ouvrir une connexion vers une destination que sa Connection-Allowlist n'autorisait pas. En mode report-only, c'est le moyen sûr de voir ce qu'une politique bloquerait avant de l'appliquer ; sous application, c'est le relevé de ce qui a été bloqué.

Expérimental, essai d'origine

Ce type de report provient de la proposition WICG Connection Allowlists, livré sous un essai d'origine Chromium et disponible uniquement dans les navigateurs basés sur Chromium. Les noms de champs sérialisés peuvent encore changer, alors traitez le payload ci-dessous comme provisoire.

Quand le navigateur l'envoie

Quand un document ou un worker sous un header Connection-Allowlist (ou Connection-Allowlist-Report-Only) ouvre une connexion dont la destination ne correspond pas à l'allowlist. Cela couvre chaque type de connexion que l'allowlist régit : fetch, WebSocket, WebRTC, navigation, redirections, et chargements de sous-ressources comme les polices et les images.

Exemple de payload

Le report arrive dans l'enveloppe standard application/reports+json, avec les données propres à l'allowlist dans body. La spec ne fournit pas d'exemple verbatim, donc celui-ci est illustratif :

{
  "type": "connection-allowlist",
  "age": 12,
  "url": "https://api-next.centralcsp.com/",
  "user_agent": "Mozilla/5.0 ...",
  "body": {
    "url": "https://api-next.centralcsp.com/",
    "connection": "https://evil.example/collect",
    "allowlist": ["https://*.example.com", "https://cdn.example"],
    "disposition": "enforce"
  }
}

Référence des champs

ChampSignification
urlLe document d'où provient le report (dépouillé des identifiants et du fragment).
connectionL'URL de destination qui a été bloquée.
allowlistLes motifs d'URL de l'allowlist active.
dispositionenforce quand la connexion a été bloquée, report en mode report-only.

Comment le recevoir

Déclarez un endpoint avec un header Reporting-Endpoints, puis pointez la politique vers lui avec le paramètre report-to=.

Reporting-Endpoints: connection-endpoint="https://<Endpoint-ID>.report.centralcsp.com"
Connection-Allowlist-Report-Only: (response-origin "https://*.example.com"); report-to=connection-endpoint

Ce qu'il vous apprend sur la sécurité

Un report connection-allowlist nomme une destination que votre page a tenté de joindre et que vous n'avez jamais autorisée. C'est le signal d'une tentative d'exfiltration ou d'un tiers qui atteint un endroit inattendu, le même risque de supply-chain que le script inventory et le reporting CSP font remonter, désormais à la couche d'egress réseau.

Pièges

Connection Allowlists est une fonctionnalité en essai d'origine, donc la forme du report n'est pas stable. Les noms de champs sérialisés, et le dépouillement exact des URL appliqué à url et connection, peuvent différer de l'exemple ci-dessus et changer à mesure que l'essai évolue. La spec ne fournit pas d'exemple de payload verbatim, alors vérifiez les champs sur un report réel issu de votre propre trafic avant de construire du parsing autour d'eux.

Prise en charge par les navigateurs

Navigateurs basés sur Chromium uniquement, et seulement tant que l'essai d'origine est activé. Firefox et Safari ne l'implémentent pas.

Voir aussi

Sources

On this page