← Retour au blog

En-tetes de securite : le guide complet d'implementation

Pourquoi les en-tetes de securite sont importants

Les en-tetes de securite HTTP sont des instructions que votre serveur web envoie au navigateur, lui indiquant comment se comporter lors du traitement du contenu de votre site. Ils constituent l'une des mesures de securite les plus efficaces et les moins couteuses que vous puissiez mettre en oeuvre. Aucune modification du code de votre application. Aucune nouvelle dependance. Juste quelques lignes de configuration serveur.

Pourtant, la majorite des sites web que nous auditons manquent d'en-tetes de securite critiques. Moins de 15% des premiers millions de sites web ont un en-tete Content-Security-Policy.

Content-Security-Policy (CSP)

CSP est l'en-tete de securite le plus puissant et le plus complexe. Il controle quelles ressources le navigateur est autorise a charger sur votre page. Un CSP correctement configure est votre meilleure defense contre les attaques Cross-Site Scripting (XSS).

Directives cles

Directive Controle Valeurs courantes
default-src Repli pour tous les types de ressources 'self'
script-src Sources JavaScript 'self', domaines CDN specifiques
style-src Sources CSS 'self' 'unsafe-inline'
img-src Sources d'images 'self' data: https:
frame-ancestors Qui peut integrer votre site 'none'
object-src Flash, applets Java 'none'

Le probleme 'unsafe-inline'

L'alternative correcte est d'utiliser des nonces ou des hashes pour les scripts.

Rapports CSP

Commencez avec Content-Security-Policy-Report-Only pour tester votre politique sans rien bloquer.

Erreurs CSP courantes

  • Utiliser 'unsafe-inline' et 'unsafe-eval' pour les scripts.
  • Wildcards trop permissifs.
  • Oublier object-src 'none'.
  • Manque de base-uri.
  • Ne pas surveiller les rapports.

X-Frame-Options

Controle si votre site peut etre integre dans un iframe. Protege contre le clickjacking.

Recommandation : X-Frame-Options: DENY

X-Content-Type-Options

Empeche le MIME type sniffing.

X-Content-Type-Options: nosniff

Referrer-Policy

Controle les informations de referrer envoyees par le navigateur.

Recommandation : Referrer-Policy: strict-origin-when-cross-origin

Permissions-Policy

Controle quelles fonctionnalites du navigateur votre site peut utiliser.

Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()

Strict-Transport-Security (HSTS)

Indique aux navigateurs de ne se connecter a votre site que via HTTPS. Pour une discussion plus large, consultez notre guide des certificats SSL/TLS.

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Strategie de deploiement

  1. Commencez avec max-age=300 (5 minutes).
  2. Augmentez a max-age=86400 (1 jour).
  3. Augmentez a max-age=604800 (1 semaine).
  4. Passez a max-age=31536000 (1 an) avec includeSubDomains et preload.

Exemples d'implementation

Nginx

Ajoutez dans le bloc server de nginx.conf avec le mot-cle always.

Apache

Ajoutez dans .htaccess ou la configuration du virtual host. Assurez-vous que mod_headers est active.

Cloudflare

Transform Rules, Workers, ou fichier _headers pour Cloudflare Pages.

Impact sur la securite

Protection Sans en-tetes Avec en-tetes
Attaques XSS Vulnerable Attenue par CSP
Clickjacking Vulnerable Bloque par X-Frame-Options
MIME sniffing Vulnerable Empeche par X-Content-Type-Options
SSL stripping Vulnerable a la premiere visite Empeche par HSTS
Note securityheaders.com D ou F A ou A+

En-tetes de securite et OWASP

Beaucoup des en-tetes discutes repondent directement aux risques OWASP Top 10. Pour en savoir plus, consultez notre article OWASP Top 10 explique.

Plan d'implementation par etapes

Phase 1 : Gains rapides (Jour 1)

X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy.

Phase 2 : HSTS (Semaine 1-2)

Commencez avec un max-age bas et augmentez progressivement.

Phase 3 : CSP (Semaine 2-4)

Deployer en mode report-only, analyser, renforcer, activer l'enforcement.

Conclusion

Les en-tetes de securite offrent l'un des meilleurs retours sur investissement en matiere de securite. Votre objectif devrait etre un A+ sur securityheaders.com. Si vous avez besoin d'aide, contactez notre equipe a Lugano.

Vous voulez savoir si votre site est sécurisé ?

Demandez un audit de sécurité gratuit. En 48 heures vous recevez un rapport complet.

Demander un Audit Gratuit

Contact Rapide