Redirect AuditEnglish

En-têtes de sécurité : comment les ajouter à votre site

HSTS, CSP, X-Frame-Options, X-Content-Type-Options et Referrer-Policy : à quoi ils servent et comment les ajouter avec Cloudflare, Apache ou Nginx.

À quoi servent ces en-têtes?

Les en-têtes de sécurité sont des consignes que le serveur envoie au navigateur avec chaque page. Redirect Audit vérifie la présence de cinq d’entre eux sur la page finale :

Ils ne remplacent pas les mises à jour ni un hébergement bien configuré, mais ils réduisent l’effet de certaines attaques. Leur présence ne garantit pas qu’ils soient bien réglés : Redirect Audit vérifie seulement qu’ils existent.

Des valeurs de départ sûres

Ces valeurs conviennent à la plupart des sites et ne bloquent pas de contenu :

Strict-Transport-Security: max-age=31536000
Content-Security-Policy: frame-ancestors 'self'; base-uri 'self'; object-src 'none'
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin

HSTS, prudemment : une fois reçu, le navigateur refusera le site en HTTP pendant toute la durée de max-age. Commencez par une courte durée (max-age=300, soit 5 minutes), vérifiez que tout fonctionne en HTTPS, puis passez à un jour, puis à un an. N’ajoutez includeSubDomains que si tous vos sous-domaines fonctionnent en HTTPS, et preload seulement si vous êtes certain de garder HTTPS pour toujours : ce choix est très difficile à annuler.

CSP : la politique ci-dessus protège contre l’affichage dans un cadre et quelques abus, mais pas contre l’injection de scripts. Une politique complète (script-src, style-src, etc.) dépend de chaque site : testez-la d’abord avec l’en-tête Content-Security-Policy-Report-Only, qui signale les blocages sans rien bloquer, avant de l’appliquer.

Cloudflare

HSTS : dans SSL/TLS → Edge Certificates, section HSTS, cliquez sur Enable HSTS, lisez l’avertissement et choisissez une durée (Max Age). La même page propose l’option No-Sniff Header, qui ajoute X-Content-Type-Options: nosniff.

Les autres en-têtes : dans Rules → Overview, créez une Response Header Transform Rule qui s’applique à toutes les requêtes, avec l’opération Set static pour chaque en-tête :

À noter : le raccourci Managed Transforms → Add security headers ajoute aussi deux en-têtes devenus inutiles (X-XSS-Protection et Expect-CT), mais ni HSTS ni CSP. Une règle personnalisée donne un résultat plus propre.

Apache et LiteSpeed

Avec le module mod_headers, ajoutez ceci dans le VirtualHost HTTPS :

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000"
    Header always set Content-Security-Policy "frame-ancestors 'self'; base-uri 'self'; object-src 'none'"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set X-Content-Type-Options "nosniff"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

Nginx

Dans le bloc server HTTPS :

add_header Strict-Transport-Security "max-age=31536000" always;
add_header Content-Security-Policy "frame-ancestors 'self'; base-uri 'self'; object-src 'none'" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Lancez nginx -t, puis rechargez Nginx.

WordPress

WordPress n’a pas de réglage pour ces en-têtes. Ajoutez-les plutôt au niveau du serveur ou de Cloudflare, comme ci-dessus. Certaines extensions de sécurité ou de cache peuvent aussi les ajouter : évitez de les définir à deux endroits avec des valeurs différentes.

Vérifier le résultat

Revérifiez votre domaine dans Redirect Audit : le panneau « En-têtes de sécurité » doit afficher 5/5. Pour une analyse plus poussée des valeurs, utilisez aussi securityheaders.com. Parcourez enfin quelques pages du site : si un élément ne s’affiche plus, c’est généralement la CSP qu’il faut ajuster.

Ces exemples sont un point de départ : adaptez-les à votre configuration et testez-les avant de les appliquer à un site en production.

Une fois les en-têtes ajoutés, revérifiez votre domaine : le panneau « En-têtes de sécurité » doit afficher 5/5.

Vérifier mon domaine

Sources techniques

Autres guides