01Pourquoi les en-têtes comptent
Les en-têtes de sécurité demandent au navigateur du visiteur de refuser les comportements risqués : charger votre page dans le cadre d’un autre site, deviner les types de fichiers, envoyer votre adresse complète à d’autres sites ou exécuter des scripts de provenance inconnue. Ils ne coûtent rien, n’alourdissent pas la page et bloquent des catégories entières d’attaques.
021. HTTPS avec un certificat valide
Tout commence ici. Tout le site doit se charger en HTTPS avec un certificat valide et non expiré. Les certificats gratuits de Let's Encrypt ou de votre CDN suffisent.
032. HTTP redirige vers HTTPS
Si quelqu’un saisit l’adresse simple http://, le serveur doit répondre par une redirection permanente vers la version https://.
043. HSTS : se souvenir d’utiliser HTTPS
L’en-tête Strict-Transport-Security demande au navigateur d’utiliser HTTPS pour votre domaine pendant longtemps, même si le visiteur saisit http.
Strict-Transport-Security: max-age=31536000; includeSubDomains054. Content Security Policy (CSP)
CSP liste les origines autorisées pour les scripts, styles et images. C’est la meilleure défense contre le cross-site scripting (XSS), et l’en-tête le plus difficile à régler correctement.
Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'065. Protection contre le clickjacking
Empêchez d’autres sites d’intégrer vos pages dans un cadre caché. La méthode moderne est frame-ancestors dans votre CSP, et X-Frame-Options couvre les anciens navigateurs.
X-Frame-Options: DENY076. X-Content-Type-Options
Demande au navigateur de se fier au type de fichier déclaré et de ne pas le deviner. Une ligne, aucun inconvénient.
X-Content-Type-Options: nosniff087. Referrer-Policy
Contrôle la part de l’adresse de votre page qui est partagée quand un visiteur clique sur un lien vers un autre site.
Referrer-Policy: strict-origin-when-cross-origin098. Aucune fuite technologique
Des en-têtes comme Server: nginx/1.18.0 ou X-Powered-By: PHP/7.4 indiquent aux attaquants exactement quelles versions rechercher. Supprimez-les ou masquez-les là où votre plateforme le permet.
109. Cookies sûrs
Les cookies qui contiennent une session de connexion doivent porter Secure (HTTPS uniquement), HttpOnly (illisibles par les scripts) et SameSite (limite l’envoi entre sites).
Set-Cookie: session=...; Secure; HttpOnly; SameSite=Lax11Où les définir
Avec les ressources statiques de Cloudflare Workers, placez un simple fichier _headers à côté des fichiers de votre site :
/*
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Referrer-Policy: strict-origin-when-cross-originLes autres hébergeurs ont leur propre endroit : add_header pour nginx, Header set pour Apache, ou votre panneau d’hébergement.
12Testez votre site web
Saisissez votre adresse et confirmez que vous avez le droit de la vérifier. Une requête normale est envoyée, comme par n’importe quel navigateur, et rien n’est enregistré.
Contrôle de sécurité du site
HTTPS et les en-têtes de sécurité que tout site devrait envoyer.
Contrôle passif : nous envoyons une seule requête normale à votre site, comme n'importe quel navigateur, et ne conservons ni l'adresse ni les résultats.
À retenir
- Commencez par HTTPS, une redirection et HSTS : ils sont sûrs et rapides.
- Ajoutez ensuite
nosniff, une politique de referrer et la protection contre les frames. - Introduisez CSP lentement : d’abord Report-Only, puis appliquez.
Envie qu’on regarde le vôtre ? Écrivez-nous, nous serons ravis de vous aider.
Nous écrire