CentralCSP
Headers de sécurité

Headers de sécurité HTTP, la liste complète expliquée

Ce que sont les headers de sécurité HTTP, la liste complète avec leur statut, ce contre quoi chacun protège et où chacun est documenté.

Dernière mise à jour:

Les headers de sécurité sont des headers de réponse HTTP qui indiquent au navigateur comment protéger la page et les personnes qui l'utilisent. Votre serveur les envoie avec chaque réponse, et c'est le navigateur qui applique : bloquer les scripts injectés, refuser le HTTP en clair, tenir le cookie de session à l'écart des autres sites.

La plupart tiennent en une ligne de configuration serveur. Cette page est la liste complète, avec le statut de chaque header, ce contre quoi il protège et l'action à prendre, avec un lien vers la page qui le traite en profondeur. La première étape naturelle est de passer votre propre site dans le scanner de headers de sécurité pour voir lesquels vous envoyez déjà.

Les headers de sécurité en un coup d'œil

HeaderStatutProtège contreAction
Content-Security-Policy✅ BonXSS, injection, exfiltrationDéployer via report-only d'abord
Strict-Transport-Security✅ BonSSL stripping, sauts en clairmax-age=63072000; includeSubDomains
attributs Set-Cookie✅ BonVol de session, CSRF__Host- + Secure + HttpOnly + SameSite
X-Content-Type-Options✅ BonXSS par MIME sniffingnosniff sur chaque réponse
Referrer-Policy✅ BonFuites d'URL vers des tiersstrict-origin-when-cross-origin
Cache-Control✅ BonPages sensibles mises en cacheno-store sur les données personnelles
Cross-Origin-Resource-Policy✅ BonFuites de classe Spectre, hotlinkingsame-site
Cross-Origin-Opener-Policy✅ BonPrise de contrôle de fenêtre, XS-Leakssame-origin
Cross-Origin-Embedder-Policy✅ BonDonnées cross-origin dans votre processusrequire-corp pour l'isolation
Permissions-Policy🧪 ExpérimentalUsage indésirable de la caméra, du micro, de la géolocalisationRefuser les fonctionnalités inutilisées
X-Frame-Options✅ BonClickjacking dans les anciens navigateursDENY en complément de frame-ancestors
Server, X-Powered-By et compagnie❌ RisquéIls divulguent votre stackLes supprimer
X-XSS-Protection⚠️ DépréciéRien (son filtre causait des XSS)Supprimer, utiliser CSP
Feature-Policy⚠️ DépréciéRemplacé par Permissions-PolicyMigrer
Public-Key-Pins / Expect-CT⚠️ DépréciéExpériences TLS mortesSupprimer

Comment lire le tableau

  • Bon signifie sans risque à déployer en production ; la colonne Action est la valeur à envoyer.
  • Risqué signifie que le header lui-même est le problème ; l'envoyer affaiblit votre position, donc l'action est de le supprimer.
  • Expérimental signifie pas entièrement standardisé ou limité à certains navigateurs ; le header Permissions-Policy est propre à Chromium, même si les autres navigateurs l'ignorent sans dommage.
  • Déprécié signifie que les navigateurs l'ont retiré ou remplacé ; la ligne indique quoi faire à la place.

Chaque header a exactement une page, et la ligne y renvoie où qu'elle se trouve. La Content Security Policy et les autres politiques qui émettent des rapports sont documentées dans la section Politiques, la livraison de leurs rapports dans la section Reporting API, et le reste dans cette section.

Par où commencer

Pour un site qui n'en envoie aucun, cet ordre est le plus rentable :

  1. Scannez le site avec le scanner de headers de sécurité pour voir ce que vous envoyez aujourd'hui.
  2. Déployez les one-liners : Strict-Transport-Security, X-Content-Type-Options et Referrer-Policy.
  3. Renforcez le cookie de session avec les attributs Set-Cookie, en partant de __Host- plus Secure, HttpOnly et SameSite.
  4. Déployez une Content Security Policy en mode report-only et resserrez-la à partir des rapports avant de l'appliquer.
  5. Ajoutez la paire cross-origin, Cross-Origin-Opener-Policy et Cross-Origin-Embedder-Policy.
  6. Supprimez ce que le tableau marque Risqué ou Déprécié : les bannières de divulgation et les headers TLS morts.

Voir aussi

On this page