Guides
Corriger les en-têtes de sécurité (CSP, HSTS)
L'absence d'en-têtes de sécurité expose les applications web aux attaques XSS, au clickjacking, aux rétrogradations de protocole et aux fuites d'identifiants.
Activez Strict-Transport-Security avec un an d'expiration et preload, configurez une politique Content-Security-Policy stricte, appliquez X-Content-Type-Options: nosniff et frame-ancestors 'none'.
Diagnostiquer les en-têtes HTTP manquants
Avant de modifier la configuration de votre serveur, inspectez les en-têtes de réponse avec curl -IL ou un scanner d'en-têtes automatisé. Déterminez si le serveur d'origine, le proxy inverse (Nginx, Traefik) ou le CDN termine le TLS et injecte les en-têtes. Vérifiez que ces protections ne sont pas supprimées par des passerelles intermédiaires.
Configurer Strict-Transport-Security (HSTS) en toute sécurité
HSTS force les navigateurs à communiquer exclusivement en HTTPS, neutralisant les attaques de type SSL stripping et interception de trafic. Débutez les tests avec max-age=86400 (un jour). Dès que l'ensemble des sous-domaines et ressources répondent en HTTPS, passez à la production : max-age=31536000; includeSubDomains; preload. Ne définissez jamais max-age=0 en production.
Établir une Content Security Policy (CSP) robuste
La CSP restreint les sources d'exécution des scripts dans le navigateur. Utilisez d'abord l'en-tête Content-Security-Policy-Report-Only avec report-to pour journaliser les violations sans bloquer les utilisateurs. Déclarez default-src 'self', script-src 'self' avec des nonces ou hachages cryptographiques au lieu de 'unsafe-inline', désactivez les plugins via object-src 'none' et verrouillez frame-ancestors 'none'.
Prévenir le clickjacking, le sniffing MIME et les fuites de référant
Empêchez l'intégration malveillante de votre site dans des iframes invisibles grâce à frame-ancestors 'none' dans la CSP et au recours à X-Frame-Options: DENY pour les anciens navigateurs. Neutralisez l'interprétation arbitraire des types de fichiers avec X-Content-Type-Options: nosniff et limitez la fuite de données d'URL avec Referrer-Policy: strict-origin-when-cross-origin.
Déploiement sur le serveur et validation
Sous Nginx, définissez les directives dans le bloc server HTTPS à l'aide d'add_header avec le mot-clé always (par exemple : add_header X-Content-Type-Options "nosniff" always;). Sous Apache, employez Header always set du module mod_headers. Validez la syntaxe avec nginx -t, rechargez le service et vérifiez les résultats via un audit automatisé.
En-têtes de sécurité: HTTPS, CSP, anti-cadrage, MIME, référent et isolation du navigateur.
Lancer un audit gratuit →