Comment ajouter des en-têtes de sécurité HTTP dans WordPress (Guide du débutant)

30 mars 2021

Voulez-vous ajouter des en-têtes de sécurité HTTP dans WordPress? Les en-têtes de sécurité HTTP vous permettent d'ajouter une couche de sécurité supplémentaire à votre site Web WordPress. Ils peuvent aider à empêcher les activités malveillantes courantes d'affecter les performances de votre site Web. Dans ce guide, nous vous expliquons, pas à pas, comment ajouter facilement des en-têtes de sécurité HTTP dans WordPress.

Qu'est-ce qu'une en-têtes de sécurité HTTP?

Les en-têtes de sécurité HTTP sont une mesure de sécurité qui permet au serveur de votre site Web de prévenir certaines menaces de sécurité courantes avant qu'elles n'affectent votre site Web.

Fondamentalement, lorsqu'un utilisateur visite votre site Web, votre serveur Web renvoie une réponse d'en-tête HTTP à son navigateur. Cette réponse informe les navigateurs des codes d'erreur, du contrôle du cache et d'autres états.

La réponse d'en-tête normale émet un état appelé HTTP 200. Après quoi votre site Web se charge dans le navigateur de l'utilisateur. Cependant, si votre site Web rencontre des difficultés, votre serveur Web peut envoyer un en-tête HTTP différent.

Par exemple, il peut envoyer une erreur de serveur interne 500 ou un code d'erreur 404 introuvable. Les en-têtes de sécurité HTTP sont un sous-ensemble de ces en-têtes et sont utilisés pour empêcher les sites Web de subir des menaces courantes telles que le clic-jacking, les scripts intersites, les attaques par force brute, etc.

Quelles sont les différentes en-têtes de sécurité HTTP ?

HTTP Strict Transport Security (HSTS)

L'en-tête HTTP Strict Transport Security (HSTS) indique aux navigateurs Web que votre site Web utilise HTTP et ne doit pas être chargé à l'aide d'un protocole non sécurisé tel que HTTP.

Si vous avez déplacé votre site Web WordPress de HTTP vers HTTP, cet en-tête de sécurité vous permet d'empêcher les navigateurs de charger votre site Web sur HTTP.

Protection X-XSS

L'en-tête X-XSS Protection vous permet de bloquer le chargement des scripts intersites sur votre site Web WordPress.

Options de X-Frame

L'en-tête de sécurité X-Frame-Options empêche les iframes inter-domaines ou le clic-jacking.

Options de type de contenu X

X-Content-Type-Options bloque le reniflage de contenu de type mime.

Comment ajouter des en-têtes de sécurité HTTP dans WordPress

Les en-têtes de sécurité HTTP fonctionnent mieux lorsqu'ils sont définis au niveau du serveur Web (c'est-à-dire votre compte d'hébergement WordPress). Cela leur permet d'être déclenchés tôt lors d'une requête HTTP typique et offre un avantage maximal.

Ils fonctionnent encore mieux si vous utilisez un pare-feu d'application de site Web de niveau DNS comme Sucuri ou Cloudflare. Nous vous montrerons chaque méthode et vous pourrez en choisir une qui vous convient le mieux.

1. Ajouter un en-têtes de sécurité HTTP dans WordPress via Sucuri

Sucuri est le meilleur plugin de sécurité WordPress du marché. Si vous utilisez également leur service de pare-feu de site Web, vous pouvez définir des en-têtes de sécurité HTTP sans écrire de code.

Tout d'abord, vous devrez vous inscrire pour un compte Sucuri. Il s'agit d'un service payant qui comprend un pare-feu de site Web de niveau serveur, un plug-in de sécurité, un CDN et une garantie de suppression des logiciels malveillants.

Lors de votre inscription, vous répondrez à des questions simples et la documentation Sucuri vous aidera à configurer le pare-feu de l'application du site Web sur votre site Web.

Après vous être inscrit, vous devez installer et activer le plugin gratuit Sucuri.

Lors de l'activation, accédez à Sucuri Security »Pare-feu (WAF) et entrez votre clé d'API de pare-feu. Vous pouvez trouver ces informations sous votre compte sur le site Web de Sucuri. Cliquez sur le bouton Enregistrer pour enregistrer vos modifications.

Ensuite, vous devez basculer vers le tableau de bord de votre compte Sucuri. De là, cliquez sur le menu Paramètres en haut, puis passez à l'onglet Sécurité. De là, vous pouvez choisir trois ensembles de règles. La protection par défaut, HSTS et HSTS Full.

Vous verrez quels en-têtes de sécurité HTTP seront appliqués pour chaque ensemble de règles. Cliquez sur le bouton «Enregistrer les modifications dans les en-têtes supplémentaires» pour appliquer vos modifications.

C'est tout, Sucuri va maintenant ajouter vos en-têtes de sécurité HTTP sélectionnés dans WordPress. Puisqu'il s'agit d'un WAF de niveau DNS, le trafic de votre site Web est protégé des pirates avant même qu'ils n'atteignent votre site Web.

Ajouter une en-têtes de sécurité HTTP dans WordPress via Cloudflare

Cloudflare offre un pare-feu de site Web gratuit de base et un service CDN. Il manque des fonctionnalités de sécurité avancées dans leur plan gratuit, vous devrez donc passer à leur plan Pro, qui est plus cher.

Pour ajouter Cloudflare sur votre site, consultez notre tutoriel sur la façon d'ajouter un CDN gratuit Cloudflare dans WordPress. Une fois que Cloudflare est actif sur votre site Web, accédez à la page SSL / TLS sous le tableau de bord de votre compte Cloudflare, puis passez à l'onglet Certificats Edge.

Maintenant, faites défiler jusqu'à la section HTTP Strict Transport Security (HSTS) et cliquez sur le bouton «Activer HSTS». Cela fera apparaître une fenêtre contextuelle avec des instructions vous indiquant que vous devez activer HTTPS sur votre blog WordPress avant d'utiliser cette fonctionnalité.

Cliquez sur le bouton Suivant pour continuer et vous verrez les options pour ajouter des en-têtes de sécurité HTTP. À partir de là, vous pouvez activer HSTS, l'en-tête no-sniff, appliquer HSTS aux sous-domaines (s'ils utilisent HTTPS) et précharger HSTS.

Cette méthode fournit une protection de base à l'aide des en-têtes de sécurité HTTP. Cependant, il ne vous permet pas d'ajouter X-Frame-Options et Cloudflare n'a pas d'interface utilisateur pour le faire.

Vous pouvez toujours le faire en créant un script à l'aide de la fonction Ouvriers. Cependant, la création d'un script d'en-tête de sécurité HTTPS peut entraîner des problèmes inattendus pour les débutants, c'est pourquoi nous ne le recommandons pas.

Ajouter un en-têtes de sécurité HTTP dans WordPress via .htaccess

Cette méthode vous permet de définir les en-têtes de sécurité HTTP dans WordPress au niveau du serveur.

Il vous oblige à modifier le fichier .htaccess sur votre site Web. Il s'agit d'un fichier de configuration de serveur utilisé par le logiciel de serveur Web Apache le plus couramment utilisé.

Connectez-vous simplement à votre site Web à l'aide d'un client FTP ou de l'application de gestion de fichiers dans votre panneau de contrôle d'hébergement. Dans le dossier racine de votre site Web, vous devez localiser le fichier .htaccess et le modifier.

Cela ouvrira le fichier dans un éditeur de texte brut. Au bas du fichier, vous pouvez ajouter le code pour ajouter des en-têtes de sécurité HTTPS à votre site Web WordPress.

Vous pouvez utiliser l'exemple de code suivant comme point de départ, il définit les en-têtes de sécurité HTTP les plus couramment utilisés avec des paramètres optimaux:

<ifModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options nosniff
Header set X-Frame-Options DENY
Header set Referrer-Policy: no-referrer-when-downgrade
</ifModule>

N'oubliez pas d'enregistrer vos modifications et de visiter votre site Web pour vous assurer que tout fonctionne comme prévu.

Noter: Des en-têtes incorrects ou des conflits dans le fichier .htaccess peuvent déclencher une erreur de serveur interne 500 sur la plupart des hôtes Web.

Ajouter une en-têtes de sécurité HTTP dans WordPress à l'aide du plug-in

Cette méthode est un peu moins efficace car elle s'appuie sur un plugin WordPress pour modifier les en-têtes. Cependant, c'est également le moyen le plus simple d'ajouter des en-têtes de sécurité HTTP à votre site Web WordPress.

Tout d'abord, vous devez installer et activer le plugin Redirection. Lors de l'activation, le plugin affichera un assistant de configuration que vous pouvez simplement suivre pour configurer le plugin. Après cela, allez à Outils »Redirection et passez à l'onglet "Site".

Ensuite, vous devez faire défiler vers le bas de la page jusqu'à la section En-têtes HTTP et cliquer sur le bouton `` Ajouter un en-tête ''. Dans le menu déroulant, vous devez sélectionner l'option «Ajouter des paramètres de sécurité».

Après cela, vous devrez cliquer à nouveau dessus pour ajouter ces options. Maintenant, vous verrez une liste prédéfinie d'en-têtes de sécurité HTTP apparaître dans le tableau.

Ces en-têtes sont optimisés pour la sécurité, vous pouvez les consulter et les modifier si nécessaire. Une fois que vous avez terminé, n'oubliez pas de cliquer sur le bouton Mettre à jour pour enregistrer vos modifications.

Vous pouvez maintenant visiter votre site Web pour vous assurer que tout fonctionne correctement.

Comment vérifier les en-têtes de sécurité HTTP pour un site Web ?

Maintenant que vous avez ajouté des en-têtes de sécurité HTTP à votre site Web. Vous pouvez tester votre configuration à l'aide de l'outil gratuit Security Headers. Entrez simplement l'URL de votre site Web et cliquez sur le bouton Analyser.

Il vérifiera ensuite les en-têtes de sécurité HTTP de votre site Web et vous montrera un rapport. L'outil générerait une soi-disant étiquette de qualité que vous pouvez ignorer car la plupart des sites Web obtiendraient au mieux un score B ou C sans affecter l'expérience utilisateur.

Il vous montrera quels en-têtes de sécurité HTTP sont envoyés par votre site Web et quels en-têtes de sécurité ne sont pas inclus. Si les en-têtes de sécurité que vous vouliez définir y sont répertoriés, vous avez terminé.

Comment ajouter des en-têtes de sécurité HTTP dans WordPress : notre conclusion

Nous espérons que cet article vous a aidé à apprendre comment ajouter des en-têtes de sécurité HTTP dans WordPress. Nous avons travaillé autour de plusieurs sujets traitant de WordPress et les différentes façons dont vous pourriez optimiser votre page web. On a par exemple travaillé autour d'un contenu vous permettant de travailler vos bas de page !

Crédits