CSP Builder
Transformez les hotes que cside observe sur votre site en un en-tete Content-Security-Policy pret a deployer, sous Protection > CSP Builder.
CSP Builder transforme les hotes que cside observe sur votre site en un en-tete Content-Security-Policy pret a deployer. Il se trouve sous Protection > CSP Builder dans la barre laterale, a cote de CSP Violations.
Ecrire une Content Security Policy a la main suppose de connaitre chaque hote depuis lequel vos pages chargent des ressources, y compris ceux que vos fournisseurs chargent en votre nom. cside observe deja ces chargements, donc le builder part de ce qui s’est reellement passe sur votre site plutot que d’un fichier vide.
CSP Builder est deploye progressivement. Si vous ne le voyez pas encore dans votre barre laterale, contactez support@cside.dev pour l’activer pour votre equipe.
Le builder genere l’en-tete. Il ne l’envoie jamais a votre place et ne bloque jamais rien sur votre site. Vous copiez l’en-tete dans la configuration de votre propre serveur, CDN ou framework, et c’est votre serveur qui l’applique.
Choisir un domaine
En ouvrant CSP Builder depuis le niveau equipe, vos domaines s’affichent avec une colonne Script data. Les domaines marques Needs setup n’ont pas encore de donnees de scripts, et ils restent selectionnables : cette page vous montre comment installer le script de surveillance. Selectionnez n’importe quelle ligne pour ouvrir le builder de ce domaine.
Dans le builder, le menu deroulant de domaines en haut permet de changer de domaine sans quitter la page.
La politique suggeree
Le bloc en haut de la page est la reponse que vous etes venu chercher : l’en-tete complet, reconstruit en direct au fur et a mesure de vos modifications. Il contient deux lignes, et vous avez besoin des deux :
Content-Security-Policy(ouContent-Security-Policy-Report-Only), votre politiqueReporting-Endpoints, qui permet aux violations d’arriver dans votre tableau de bord
Copiez-les avec le bouton a cote du bloc. Copier seulement la premiere ligne donne une politique fonctionnelle qui ne remonte rien a cside.
L’adresse de rapport est construite pour le domaine precis sur lequel vous etes, et elle change selon que cside sert de proxy a ce domaine ou non. Copiez-la toujours depuis la page plutot que de la composer vous-meme, sinon les rapports sont rejetes au lieu d’etre mal classes.
Les politiques longues sont tronquees aux premieres lignes sous un degrade. Selectionnez Show pour tout lire. La copie et le changement de mode fonctionnent meme lorsqu’elle est tronquee.
D’abord report-only, puis enforce
Le selecteur Report-only / Enforce au-dessus du bloc choisit le nom d’en-tete que vous copiez. Le corps de la politique est identique dans les deux cas.
Deployez d’abord l’en-tete report-only. Les navigateurs signaleront ce que la politique aurait bloque sans rien bloquer, et ces rapports arrivent dans CSP Violations pour que vous voyiez ce qui vous a echappe. Une fois cette vue propre, revenez, passez sur Enforce et deployez l’en-tete applique.
Passer les directives en revue
cside remplit sept directives a partir de ce qu’il observe : script-src, connect-src, img-src, style-src, frame-src, font-src et media-src. Chacune a son onglet, et vous les passez en revue une par une. Le total sous la politique compte toujours l’en-tete entier, pas seulement l’onglet ouvert.
Chaque onglet porte une marque :
| Marque | Signification |
|---|---|
| Un point | Pas encore revue. Chaque hote que cside observera plus tard sur ce domaine est automatiquement autorise dans cette directive |
| Une coche | Revue et enregistree. La directive est figee sur les hotes que vous avez approuves |
| Grisee, “no data” | cside n’a vu aucun trafic de ce type sur ce domaine, il n’y a donc rien a passer en revue |
Passer une directive en revue est ce qui l’empeche d’autoriser automatiquement de nouveaux hotes. C’est tout l’interet de parcourir les onglets : une directive non revue se reconstruit a partir du trafic actuel, donc un hote qui apparait sur votre site le mois prochain entre dans l’en-tete sans que personne ne l’ait approuve. Ouvrir l’onglet et enregistrer suffit. Vous n’avez rien a modifier.
Selectionnez Save quand vous avez fini avec un onglet. L’enregistrement ne vous deplace pas et conserve votre filtre.
Groupes d’hotes
Au sein d’une directive, les hotes sont regroupes selon la maniere dont cside les classe, et chaque groupe dispose d’un interrupteur global dans son en-tete, sauf mention contraire.
| Groupe | Signification | Active par defaut |
|---|---|---|
| First party | Votre propre domaine | Oui |
| Known vendors | Un fournisseur que cside reconnait comme une grande marque reputee | Oui |
| Approved by you | Un nom d’hote que votre equipe a approuve dans Resources Inventory | Oui |
| Unvetted | Tout ce que cside n’a pas pu attribuer. C’est le groupe pour lequel la revue existe | Oui |
| Blocked by you | Votre equipe a bloque cet hote | Non |
| Flagged malicious | cside a bloque cet hote pour tous ses clients | Non |
Unvetted, Blocked by you et Flagged malicious n’ont pas d’interrupteur global. La plupart des hotes de la plupart des domaines atterrissent dans Unvetted, donc un seul interrupteur reecrirait presque toute votre politique sans que personne ne l’examine, et reactiver un hote bloque ou malveillant doit rester une decision prise hote par hote, l’avertissement sous les yeux.
Replier un groupe masque uniquement ses lignes. Les hotes conservent l’etat dans lequel vous les avez laisses, comptent toujours dans le total et entrent toujours dans la politique enregistree. Une recherche deplie tous les groupes, donc un hote que vous cherchez n’est jamais cache derriere un en-tete replie.
Les compteurs d’alertes affiches a cote d’un hote sont informatifs. Une alerte ne change jamais l’etat d’un hote.
*.csidetm.com et *.csidefd.com sont toujours dans la politique et ne peuvent pas etre desactives. Une politique qui bloquerait le script de cside arreterait la surveillance a partir de laquelle elle a ete construite.
Policy options
Au-dessus de la liste des hotes, Policy options active les mots-cles de source qu’une directive peut porter. Ceux qui apparaissent dependent de la directive que vous modifiez :
| Mot-cle | Effet |
|---|---|
'self' | Autorise les ressources servies depuis votre propre origine. Active par defaut et disponible sur toutes les directives |
'unsafe-inline' | Autorise les blocs inline. Propose uniquement sur style-src, ou les styles inline sont courants. Il n’est pas propose sur script-src, car autoriser du script inline est precisement ce qu’une CSP sert a empecher |
'report-sample' | Inclut un extrait du code bloque dans chaque rapport de violation. Propose sur script-src et style-src, ou il aide a identifier ce qui a ete bloque |
Ajouter un hote que cside n’a pas vu
Selectionnez Add a host dans la barre d’outils au-dessus de la liste pour ajouter un nom d’hote a la main. Utilisez-le pour un hote dont vous savez que votre site a besoin mais qui n’est pas encore apparu dans le trafic, par exemple un fournisseur que vous allez lancer ou une ressource qui ne charge que sur une page que cside ne surveille pas.
Les entrees sont validees par rapport a la directive que vous modifiez. Les noms d’hote sont acceptes partout, avec un joker *. en tete si necessaire. data: et blob: ne sont acceptes que sous img-src, font-src et media-src. Les ports, chemins, schemas et mots-cles entre guillemets sont refuses.
Si vous envoyez deja une CSP
Lorsque cside a observe un en-tete Content-Security-Policy sur le domaine, un encadre apparait au-dessus de la politique et montre celui vu le plus souvent au cours des 30 derniers jours.
Fusionnez notre politique avec la votre plutot que de remplacer votre en-tete. Le builder ne remplit que les directives qu’il peut appuyer sur du trafic observe, donc une politique generee ici n’a rien a dire sur frame-ancestors, form-action, base-uri ou object-src. Remplacer tout votre en-tete par celui-ci supprime chaque directive que vous appliquiez deja et pour laquelle nous ne faisons aucune suggestion.
La politique affichee dans l’encadre est ce que cside a observe, pas votre configuration serveur. Les nonces et les chaines de requete sont normalises en jokers, et elle peut differer de l’en-tete reel d’une page donnee : comparez-la a votre configuration plutot que de la copier.
Avant de deployer
- Deployez d’abord l’en-tete report-only et surveillez CSP Violations avant d’appliquer
- Parcourez tous les onglets de directives. L’avertissement sous la liste des hotes indique combien restent a revoir et combien d’hotes voyagent dans l’en-tete pour cette raison
- Copiez les deux lignes, la politique et
Reporting-Endpoints - Fusionnez-la avec votre en-tete existant plutot que de le remplacer
Pages associees
- Ajuster votre CSP : rapports de violations CSP, limites de retention et export des rapports
- Ajouter cside a votre CSP : ce qu’il faut changer dans une politique que vous maintenez deja pour que le script cside continue de fonctionner
- Inventaire des ressources : passez en revue et approuvez des noms d’hote. Les noms d’hote approuves arrivent ici dans le groupe Approved by you
Thanks for your feedback!