Scanverra

Comment corriger les en-têtes de sécurité manquants

Les en-têtes de sécurité sont des en-têtes de réponse HTTP qui indiquent au navigateur d'appliquer une politique en votre nom - refuser de charger votre site dans une iframe, refuser le HTTP simple après la première visite HTTPS, refuser les scripts provenant d'ailleurs que votre propre domaine. Leur absence ou leur faiblesse expose un code applicatif par ailleurs sécurisé à des classes entières d'attaques au niveau du navigateur.

Pourquoi les en-têtes manquent ou restent faibles

  • Les configurations d'hébergement par défaut n'en incluent aucun. La plupart des serveurs web et plateformes n'ajoutent pas d'en-têtes de sécurité à moins que vous ne les configuriez explicitement.
  • Une CSP est ajoutée une fois, puis jamais revue. À mesure qu'une application ajoute de nouveaux scripts tiers, embeds ou polices, une CSP statique écrite il y a un an les bloque silencieusement - ou pire, quelqu'un l'élargit avec un joker pour faire cesser les erreurs, annulant la politique.
  • HSTS est ajouté sans les directives qui le rendent réellement efficace. Un en-tête Strict-Transport-Security nu avec un max-age court et sans includeSubDomains ni preload offre une protection bien plus faible qu'il n'y paraît.
  • Des en-têtes obsolètes copiés d'un vieux tutoriel persistent, comme X-XSS-Protection, que les navigateurs modernes ignorent ou qui peut lui-même introduire un risque.

Comment identifier le problème

C'est la capacité de sécurité la plus poussée de Scanverra. Le scanner de sécurité effectue une véritable analyse des directives CSP - vérifiant spécifiquement base-uri, form-action, object-src et frame-ancestors, ainsi que la détection de sources joker trop larges - et un contrôle de profondeur HSTS complet couvrant max-age, includeSubDomains et preload. Pour la directive preload spécifiquement, il effectue un appel en direct à l'API hstspreload.org pour confirmer que votre domaine est réellement dans la liste de préchargement de Chrome, pas seulement prétendre l'être. Il signale également les en-têtes obsolètes comme X-XSS-Protection, et associe chaque constat à une référence CWE et OWASP Top 10 - par exemple, un en-tête HSTS manquant correspond à CWE-319 et OWASP A05:2021 - afin que les constats se traduisent directement en documentation de conformité.

Comment le corriger

1. Ajoutez HSTS avec l'ensemble complet des directives

Imposer HTTPS pendant une année complète, sur tous les sous-domaines, et s'inscrire pour le preloadtypescript
1Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Après avoir ajouté preload, soumettez votre domaine sur hstspreload.org - la directive seule ne vous y inscrit pas, et le contrôle en direct de Scanverra continuera de signaler la lacune jusqu'à ce que la soumission soit réellement acceptée.

2. Rédigez une Content-Security-Policy adaptée à ce que votre site charge réellement

Une CSP de départ avec les directives que Scanverra vérifie explicitementtypescript
1Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; base-uri 'self'; form-action 'self'; object-src 'none'; frame-ancestors 'self'

N'ajoutez des origines de confiance spécifiques à script-src/style-src qu'en cas de besoin réel - ne vous rabattez jamais sur un joker (*) ou une source uniquement de schéma (https:) simplement pour faire taire les erreurs de console, car cela annule entièrement l'objectif de la politique.

3. Ajoutez les en-têtes standards restants

Clickjacking, reniflage MIME et protection du referrertypescript
1X-Content-Type-Options: nosniff
2X-Frame-Options: DENY
3Referrer-Policy: strict-origin-when-cross-origin

frame-ancestors dans votre CSP est le remplacement moderne de X-Frame-Options et est plus flexible - déployez les deux, car les navigateurs plus anciens ne respectent que l'en-tête historique.

4. Supprimez les en-têtes obsolètes plutôt que de les laisser en place

X-XSS-Protection est obsolète et OWASP recommande explicitement de le supprimer entièrement plutôt que de lui attribuer une valeur quelconque - une véritable CSP en est le remplacement moderne, pas un complément.

Comment Scanverra détecte cela

Le scanner de sécurité de Scanverra lit vos en-têtes de réponse en direct et effectue une véritable analyse au niveau des directives, pas un simple contrôle de présence - couverture des directives CSP et détection de jokers, profondeur des valeurs HSTS incluant une recherche en direct sur hstspreload.org, et détection d'en-têtes obsolètes, chaque constat étant associé à des références CWE, OWASP et PCI le cas échéant.

FAQ

Frequently asked questions

Quel est l'en-tête le plus impactant à ajouter en premier ?

Strict-Transport-Security (HSTS), si vous ne l'avez pas - c'est la différence entre « HTTPS est disponible » et « HTTPS est imposé », et il correspond à CWE-319 et OWASP A05:2021, tous deux couramment exigés pour la conformité PCI. Une Content-Security-Policy est l'ajout à plus fort levier suivant, mais nécessite davantage d'ajustements pour bien fonctionner.

Comment Scanverra sait-il si mon domaine est réellement préchargé HSTS, pas seulement prétendre l'être ?

Il effectue un appel en direct à l'API hstspreload.org pour votre nom d'hôte, plutôt que de se fier uniquement à votre en-tête - ainsi, si votre en-tête HSTS inclut la directive preload mais que votre domaine n'a jamais été réellement soumis et accepté dans la liste de préchargement de Chrome, Scanverra signale spécifiquement cette lacune.

Pourquoi Scanverra signale-t-il X-XSS-Protection comme un problème plutôt qu'un bon signe ?

Il est obsolète, et dans certains navigateurs plus anciens, il pouvait activement introduire des vulnérabilités XSS plutôt que les prévenir - OWASP recommande explicitement de le supprimer au profit d'une véritable Content-Security-Policy. Le voir présent n'est pas un point en votre faveur ; c'est signalé comme un constat à corriger.

Que signifient réellement les références CWE et OWASP dans mon rapport ?

Les références CWE (Common Weakness Enumeration) et OWASP Top 10 associent chaque constat à une classification de vulnérabilité standard du secteur - utile à coller directement dans un ticket de conformité, une revue de sécurité, ou comme preuve pour un audit SOC 2 / PCI, plutôt qu'une simple recommandation informelle.

Une CSP est-elle quelque chose que je peux copier depuis un tutoriel et déployer telle quelle ?

Non - une CSP générique casse soit les scripts/styles réels de votre site, soit est si permissive qu'elle ne fait rien. Le contrôle de Scanverra examine vos directives spécifiques (base-uri, form-action, object-src, frame-ancestors, et les sources joker) afin que vous puissiez resserrer exactement ce qui manque plutôt que de deviner.

Free - no sign-up required

Vérifiez vos en-têtes de sécurité gratuitement

Obtenez une véritable analyse CSP et HSTS, associée aux références CWE et OWASP, en un seul scan.

Run free audit