SECURITY GUIDE

Security Headers : Protegez Votre Site avec les Headers HTTP de Securite

Comment configurer CSP, HSTS, X-Frame-Options et d'autres headers pour proteger les visiteurs contre XSS, clickjacking et autres attaques.

Headers de securite : la premiere ligne de defense du navigateur

Les headers de securite HTTP sont des instructions que le serveur web envoie au navigateur avec la reponse, indiquant comment se comporter pour proteger l'utilisateur. Sans ces headers, le navigateur n'applique que ses politiques par defaut, qui souvent ne sont pas suffisantes pour prevenir des attaques comme XSS (Cross-Site Scripting), clickjacking, sniffing du content-type et downgrade HTTPS. Configurer les bons headers est l'une des mesures de securite les plus efficaces et les moins invasives que vous puissiez implementer.

Notre analyseur Security Headers verifie la presence et la bonne configuration de chaque header de securite, attribuant un score et fournissant des recommandations specifiques. Mais contrairement a un simple check present/absent, il analyse aussi les valeurs : un CSP trop permissif (unsafe-inline, unsafe-eval) est presque pire que de ne pas en avoir, parce qu'il cree un faux sentiment de securite.

Les headers essentiels

Headers de securite recommandes
# Content-Security-Policy — Prevenzione XSS
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'

# Strict-Transport-Security — Forza HTTPS
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

# X-Content-Type-Options — Previene MIME sniffing
X-Content-Type-Options: nosniff

# X-Frame-Options — Previene clickjacking
X-Frame-Options: DENY

# Referrer-Policy — Controlla il referrer
Referrer-Policy: strict-origin-when-cross-origin

# Permissions-Policy — Limita API del browser
Permissions-Policy: camera=(), microphone=(), geolocation=()

CSP (Content-Security-Policy) est le plus puissant : il definit quelles ressources le navigateur peut charger et d'ou. Il previent efficacement les attaques XSS en empechant l'execution de scripts non autorises. HSTS (Strict-Transport-Security) force le navigateur a toujours utiliser HTTPS, meme si l'utilisateur tape http://. Le parametre preload permet d'inserer le domaine dans la liste HSTS preloaded des navigateurs, garantissant HTTPS des la premiere visite.

Implementation pratique

L'implementation se fait au niveau du serveur web. Sur Nginx ajoutez add_header dans les directives server ou location. Sur Apache utilisez Header set dans le fichier .htaccess ou la configuration du virtualhost. Si vous utilisez un CDN (Cloudflare, AWS CloudFront), vous pouvez configurer les headers directement dans le CDN. Verifiez toujours le resultat avec notre Security Headers check apres chaque modification, et testez le site pour vous assurer que CSP ne bloque pas les ressources legitimes.

Combinez le controle des headers avec SSL Check pour verifier le certificat SSL et HTTP Headers pour une analyse complete de tous les headers de reponse (pas seulement ceux de securite). Un site avec un HTTPS parfait mais sans headers de securite est vulnerable aux attaques que HTTPS ne previent pas (XSS, clickjacking). Inversement, des headers de securite sans HTTPS ont une efficacite limitee. La securite web necessite les deux.

L'approche recommandee est incrementale : commencez par les headers les plus simples (X-Content-Type-Options, X-Frame-Options), puis ajoutez HSTS et Referrer-Policy, et enfin implementez CSP en partant d'une politique permissive et en la resserrant progressivement en surveillant les violations avec le parametre report-uri. Un CSP trop restrictif lance sans tests peut casser des fonctionnalites du site, donc testez toujours en mode report-only avant d'appliquer.

Essayer Security Headers gratuitement
Analyse les en-têtes de sécurité HTTP : CSP, HSTS, X-Frame, etc.
Utiliser Security Headers >

Explore the Network