Que sont les en-têtes de sécurité HTTP et comment les configurer sur son site ?

Les en-têtes de sécurité HTTP sont des instructions envoyées par le serveur au navigateur pour lui dicter des règles de comportement plus strictes sur les pages du site. Ils forment une couche de défense complémentaire, gratuite et non intrusive : ils ne corrigent aucune faille du code, mais réduisent nettement ce qu'un attaquant peut faire s'il en exploite une.

Les en-têtes essentiels

  • Content-Security-Policy (CSP) : indique quelles sources de scripts, styles et images le navigateur a le droit de charger. C'est une protection d'appoint efficace contre les injections de scripts (XSS).
  • Strict-Transport-Security (HSTS) : impose le HTTPS au navigateur pour toutes les visites suivantes, ce qui neutralise les tentatives de rétrogradation vers HTTP.
  • X-Content-Type-Options: nosniff : empêche le navigateur de deviner le type d'un fichier et d'exécuter en script ce qui n'en est pas un.
  • X-Frame-Options (ou la directive frame-ancestors de la CSP) : interdit l'affichage du site dans un cadre tiers et bloque les attaques par superposition (clickjacking).
  • Referrer-Policy : limite les informations d'URL transmises aux sites tiers.

Comment les déployer sans casser le site

Ces en-têtes se configurent au niveau du serveur web ou d'une extension du CMS. La CSP est la seule réellement délicate : trop stricte, elle bloque des scripts légitimes (outils de mesure d'audience, polices, cartes). La méthode sûre consiste à la déployer d'abord en mode observation (report-only), à analyser les blocages remontés, puis à basculer en mode actif. Le HSTS, lui, ne s'active qu'une fois le HTTPS parfaitement fonctionnel sur tout le site, sous-domaines compris.

Ce durcissement fait partie des points systématiquement contrôlés par Pulsar Agency lors d'un audit de site internet.