Renforcez la sécurité de votre site WordPress avec les en-têtes de sécurité (HTTP Security Headers)
Sécuriser votre site WordPress nécessite une attention particulière, et un excellent point de départ dans le renforcement de la sécurité WordPress consiste à examiner vos en-têtes de sécurité HTTP ou HTTP Security Headers pour vous assurer que vous respectez les meilleures pratiques.
Dans de nombreux cas, leur mise en œuvre est extrêmement simple et ne nécessite qu’un léger changement de configuration de votre serveur web ou de votre configuration WordPress.
Les en-têtes de sécurité HTTP ajoutent une couche de sécurité supplémentaire à votre hébergeur sécurisé, aidant à atténuer les attaques et les vulnérabilités de sécurité. Dans cet article, nous explorerons ces en-têtes pour vous aider à mieux comprendre leur utilité et comment les mettre en place.
Statistiquement parlant, l’ajout d’en-têtes de sécurité HTTP est une pratique largement sous-estimée mais incroyablement efficace. En effet, une simple modification peut renforcer significativement la sécurité de votre site. Alors, pourquoi ne pas prendre les devants et renforcer votre sécurité dès maintenant ?
Qu’est-ce que les en-têtes de sécurité HTTP / HTTP Security Headers ?

Lorsqu’un navigateur demande une page à un serveur web, ce dernier renvoie le contenu accompagné d’en-têtes de réponse HTTP (HTTP response headers). Certains de ces en-têtes incluent des métadonnées sur le contenu, telles que le Content-Encoding
, le Cache-Control
, les status codes
, etc.
En plus, il existe des en-têtes de sécurité HTTP qui indiquent à votre navigateur comment traiter le contenu de votre site web. Par exemple, l’utilisation de Strict-Transport-Security
oblige le navigateur à communiquer uniquement via HTTPS, etc.
Pour vérifier les en-têtes de sécurité présents ou non sur votre site WordPress rendez-vous dans votre tableau de bord WordPress > Outils > Santé du site. Si vous voyez un onget « Les en-têtes de sécurité recommandés ne sont pas tous installés », cela signifie que certains sont manquant et devrons être configurés.
Vous pouvez également scanner votre site à l’aide de cet outil : SecurityHeaders.com.

Nous allons examiner ci-dessous 6 en-têtes de sécurité HTTP différents dont vous devriez être conscient et que nous recommandons d’implémenter si possible.
1. Upgrade Insecure Requests / Content Security Policy
L’en-tête de sécurité Content-Security-Policy
offre une couche supplémentaire de sécurité. Celui-ci contribue à prévenir des attaques sécurisé telles que le Cross Site Scripting (XSS) et d’autres attaques par injection tout en de code, en définissant les sources de contenu autorisées.
Tous les principaux navigateurs offrent actuellement une compatibilité complète ou partielle avec cette Content Security Policy. Si le contenu est livré à un navigateur plus ancien, cela ne perturbera pas sa livraison, cette policy ne sera tout simplement pas exécutée.
Voici la règle à ajouter à votre fichier .htaccess entre les balises <ifModule mod_headers.c>
et </IfModule>
:
Header always set Content-Security-Policy "upgrade-insecure-requests"
2. HTTP Strict Transport Security (HSTS)
Comme expliqué précédemment, l’en-tête de sécurité Strict-Transport-Security
est une amélioration de sécurité qui contraint les navigateurs web à accéder aux serveurs web uniquement via HTTPS.
Cela garantit que la connexion ne peut pas être établie via une connexion HTTP non sécurisée, qui pourrait être vulnérable aux attaques. Tous les navigateurs modernes majeurs prennent actuellement en charge la sécurité stricte du transport HTTP, à l’exception d’Opera Mini et des anciennes versions d’Internet Explorer.
Pour corriger cet en-tête de sécurité, voici la règle à ajouter à votre fichier .htaccess entre les balises <ifModule mod_headers.c>
et </IfModule>
:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
3. X-Frame-Options
L’en-tête X-Frame-Options offre une protection contre le détournement de clics en empêchant le chargement des iframes sur votre site web.
Pour corriger cet en-tête de sécurité, voici la règle à ajouter à votre fichier .htaccess entre les balises <ifModule mod_headers.c>
et </IfModule>
:
Header always set X-Frame-Options "SAMEORIGIN"
4. X-Content-Type-Options
L’en-tête X-Content-Type-Options empêche, par exemple, Google Chrome de détourner / sniffer une réponse de son Content-Type
. Cela contribue à réduire le risque de téléchargements malveillants et assure que le contenu est traité correctement.
Pour corriger cet en-tête de sécurité, voici la règle à ajouter à votre fichier .htaccess entre les balises <ifModule mod_headers.c>
et </IfModule>
:
Header always set X-Content-Type-Options "nosniff"
5. Referrer-Policy
L’en-tête HTTP Referrer-Policy
permet de contrôler la quantité des informations transmises entre le navigateur et le serveur lorsqu’un utilisateur clique sur un lien vers votre site.
La règle proposée ci-dessous définit cette mesure de sécurité sur « same-origin », ce qui signifie que les informations de référence ne seront transmises que pour les requêtes provenant de la même origine que la page sur lequel se trouve le visiteur. Cela contribue à protéger votre site web et vos utilisateurs contre certains types d’attaques.
Vous pouvez également utiliser d’autres valeurs pour cet en-tête de sécurité Referrer-Policy selon vos besoins spécifiques.
Par exemple, « strict-origin
» n’enverra des informations de référence que pour les requêtes partageant le même schéma, host name, et port que la page où le visiteur se trouve, tandis que « no-referrer
» n’enverra aucune information de référence.
Pour corriger cet en-tête de sécurité, voici la règle à ajouter à votre fichier .htaccess entre les balises <ifModule mod_headers.c>
et </IfModule>
:
Header always set Referrer-Policy "same-origin"
6. Permissions-Policy
L’en-tête de sécurité Permissions-Policy
détermine les fonctionnalités du navigateur pouvant être utilisées. Il gère les fonctionnalités telles que le plein écran, le son, l’USB, l’autoplay, la vibration, le microphone, etc., pour les activer ou les désactiver au sein d’une application web.
Header always set Permissions-Policy "geolocation=(), midi=(), notifications=(), push=(), sync-xhr=(), accelerometer=(), gyroscope=(), magnetometer=(), payment=(), camera=(), microphone=(), usb=(), xr=(), speaker=(self), vibrate=(), fullscreen=(self)"
7. X-XSS-Protection
En bonus, vous pouvez ajouter l’en-tête de sécurité X-XSS-Protection
a été conçu pour activer le filtre contre les attaques de type cross-site scripting (XSS) intégré aux navigateurs web modernes. Bien qu’il soit généralement activé par défaut, son utilisation garantit son application en tout temps.
Il est pris en charge par Internet Explorer 8 et ultérieures, Chrome et Safari.
Voici ce que vous devez utiliser sur un serveur Apache comme ceux d’EasyHoster :
Header always set X-XSS-Protection "1; mode=block"
Comment sécuriser son site WordPress grâce aux en-têtes de sécurité HTTP / HTTP Security Headers ?
Vous venez de découvrir, dans le détail, chaque règles à ajouter dans votre fichier .htaccess pour renfoncer la sécurité de votre site WordPress en fonction de vos besoins.
Pour vous faire gagner du temps, si vous souhaitez appliquer ces 7 en-têtes de sécurité à votre site WordPress, voici ce que vous devriez ajouter dans votre fichier .htaccess :
<IfModule mod_headers.c>
Header unset ETag
Header always set Content-Security-Policy "upgrade-insecure-requests"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "same-origin"
Header always set Permissions-Policy "geolocation=(), midi=(), notifications=(), push=(), sync-xhr=(), accelerometer=(), gyroscope=(), magnetometer=(), payment=(), camera=(), microphone=(), usb=(), xr=(), speaker=(self), vibrate=(), fullscreen=(self)"
Header always set X-XSS-Protection "1; mode=block"
</IfModule>
Grâce à ces 7 en-têtes de sécurité, voici votre nouvelle note de sécurité :

Besoin d’aide avec les en-têtes de sécurité / HTTP Security Headers ?
Lors de l’ajout de vos en-têtes de sécurité, il peut arriver, en cas d’erreur, de générer une erreur 500 site votre site WordPress. Faites donc bien attention aux manipulations que vous entreprenez. Si vous avez une erreur 500, retirer la dernière règle ajoutée à votre .htaccess afin de rétablir votre site.
Si vous rencontrer des difficultés avec la mise en place de ces en-têtes de sécurité, n’hésitez pas à ouvrir un ticket auprès de notre support technique qui sera ravis de vous assister.