Comment sécuriser un site WordPress ?
Sécuriser un site WordPress
Objectif
WordPress est l’un des systèmes de gestion de contenu (ou CMS pour Content Management System) les plus utilisés pour réaliser un site web. Toutefois, son exposition (plus de 40 % de tous les sites web), ainsi que son écosystème d’extensions et de thèmes gratuits ou payants sont à l’origine de failles. Ces dernières peuvent être exploitées, avec pour conséquences des vols de données, du défacement (modification de l’apparence du site) voire l’arrêt simple de son fonctionnement.
Ce tutoriel vous montre une série d’actions pouvant être rapidement mises en œuvre pour sécuriser votre site WordPress.
Prérequis
- Disposer d’un hébergement web.
- Avoir installé
- Pouvoir accéder à l’interface d’administration (via l’identifiant et le mot de passe fournis lors de l’installation).
En pratique
À quel moment appliquer les mises à jour WordPress ?
En premier lieu, il est essentiel de toujours utiliser les dernières versions pour votre CMS, votre thème et votre ou vos extensions. Les mises à jour permettent en effet la correction d’éventuelles failles de sécurité. Pour procéder à ces dernières, vous pouvez suivre les informations communiquées sur la version française du site du CMS et interroger les bases de données recensant les failles de sécurité trouvées sur des outils comme Exploit Database.
La règle à suivre est simple : dès qu’une mise à jour apparaît sur votre WordPress, appliquez-la. Le saviez-vous ? Vous pouvez également activer la mise à jour automatique de vos thèmes et extensions !
Point important : vérifiez que vous bénéficiez d’assez d’espace de stockage sur votre serveur avant d’effectuer les mises à jour (au moins 1 Go est nécessaire). En effet, si votre stockage arrive à saturation et que vous appliquez des mises à jour, votre CMS pourrait ne pas les finaliser entièrement, entraînant potentiellement l’indisponibilité de votre site.
Même si les mises à jour de vos thèmes et extensions sont automatisées, vous devez toutefois veiller à la date de leur dernière actualisation. En effet, outre les risques d’incompatibilité avec une nouvelle version de WordPress, un composant non mis à jour depuis plusieurs mois peut ne plus être maintenu et donc présenter des failles de sécurité.
Comment configurer la mise à jour automatique de votre thème WordPress ?
L’automatisation de la mise à jour d’un thème est une action simple à effectuer. Dans la colonne de gauche de votre tableau de bord WordPress, cliquez sur « Apparence », puis « Thèmes ». Sélectionnez votre thème et cliquez sur « Activer les mises à jour auto ».

Comment activer la mise à jour automatique de vos extensions WordPress ?
Dans la colonne de gauche de votre tableau de bord WordPress, vous pouvez configurer la mise à jour automatique de vos extensions depuis la section « Extensions » :

Pourquoi mettre à jour la version PHP de votre hébergement ?
Il est également important d’utiliser la dernière version de PHP disponible (à condition que vos thèmes et extensions installées la supportent). De nombreux correctifs de performance et de sécurité sont fournis lors de chaque mise à jour. Vous pouvez vérifier les versions encore supportées de PHP ici : https://www.php.net/supported-versions.php

Vous trouverez également ci-dessous la configuration recommandée pour votre hébergement OVHcloud :
- Environnement d’exécution : Stable64
- Version de PHP : 8.1
- Moteur : PHP
- Mode : Production
- Pare-feu applicatif : Désactivé
Si votre WordPress a été installé et configuré sur une version de PHP qui n’est plus maintenue, assurez-vous que les extensions que vous utilisez sont compatibles avec la nouvelle version du langage que vous souhaitez configurer. Autrement, il peut être nécessaire de changer d’extension.
Comment mettre à jour PHP sur votre hébergement OVHcloud ?
Vous pouvez réaliser cette action directement depuis votre espace client OVHcloud. Voici ci-dessous une capture d'écran de la dernière étape pour cette action. Lors de celle-ci, vous pourrez donc sélectionner la version PHP que vous souhaitez utiliser :

Point important : votre WordPress, ses thèmes et ses extensions doivent impérativement être à jour avant de procéder à cette modification.
Plus d’informations sur notre guide : https://docs.ovh.com/fr/hosting/modifier-lenvironnement-dexecution-de-mon-hebergement-web/
Existe-t-il des extensions pour sécuriser WordPress ?
Les extensions WordPress présentées dans ce tutoriel font partie des plus populaires. Elles sont en effet mises à jour régulièrement et ont déjà fait leurs preuves. Veuillez noter toutefois qu’il existe d’autres extensions, tout aussi intéressantes et performantes, non mentionnées dans les exemples cités.
Comment configurer votre WordPress entièrement en HTTPS ?
« Really Simple SSL » détecte automatiquement vos réglages et configure votre site web pour qu’il fonctionne avec le protocole HTTPS (protocole privilégié par les moteurs de recherche).
Point important : il est nécessaire d’avoir installé au préalable un certificat SSL sur votre hébergement et de l’avoir activé. Vous ne possédez pas de certificat SSL ? Consultez notre guide pour connaître la marche à suivre :https://docs.ovh.com/fr/hosting/les-certificats-ssl-sur-les-hebergements-web/
Depuis votre tableau de bord WordPress, cliquez sur « Extensions », puis « Ajouter ». Entrez « Really Simple SSL » dans la barre de recherche et cliquez sur « Installer maintenant ». Patientez quelques secondes, puis cliquez sur « Activer ».

Il ne vous reste plus qu’à activer votre certificat SSL ! Pour cela, rien de plus simple. Il vous suffit de cliquer sur le bouton « Activer le SSL » qui apparaît alors :

Le certificat SSL est désormais actif par défaut sur votre site internet. Il ne vous reste plus qu’à procéder à quelques réglages, comme activer la redirection 301 via .htaccess :

Installez ensuite les en-têtes de sécurité recommandées pour la connexion HTTPS, en modifiant le .htaccess via FileZilla.
Si vous ne savez pas utiliser FileZilla, un guide est disponible ici : https://docs.ovh.com/fr/hosting/mutualise-guide-utilisation-filezilla/
Sachez qu’il est également possible de le faire depuis FTP Explorer : https://docs.ovh.com/fr/hosting/connexion-espace-stockage-ftp-hebergement-web/#1-connexion-via-le-ftp-explorer
Une fois connecté·e, effectuez un clic droit sur le fichier .htaccess, puis cliquez sur « Afficher/Éditer » :

Une fois le fichier ouvert dans un éditeur de texte, il vous suffit de copier-coller les lignes de texte suivantes à la fin :
# Security Headers Header always set Strict-Transport-Security: "max-age=31536000" env=HTTPS Header always set Content-Security-Policy "upgrade-insecure-requests" Header always set X-Content-Type-Options "nosniff" Header always set X-XSS-Protection "1; mode=block" Header always set Expect-CT "max-age=7776000, enforce" Header always set Referrer-Policy: "no-referrer-when-downgrade" Header always set X-Frame-Options: "SAMEORIGIN" Header always set Permissions-Policy "geolocation=(); midi=();notifications=();push=();sync-xhr=();accelerometer=(); gyroscope=(); magnetometer=(); payment=(); camera=(); microphone=();usb=(); xr=();speaker=(self);vibrate=();fullscreen=(self);" # End Security Headers
Vous obtenez ainsi le résultat suivant, dans le fichier « .htaccess » situé à la racine de votre site web :

Point important : une fois ces lignes copiées, veillez à ne pas oublier d’enregistrer en cliquant sur « Fichier » puis « Enregistrer ». Retournez ensuite sur FileZilla pour valider le pop-up vous demandant de renvoyer le fichier sur le serveur. Sans cela, vos modifications ne seront pas prises en compte.
Comment mettre en place un second facteur d’authentification ?
L’utilisation conventionnelle d’un identifiant et d’un mot de passe peut s’avérer insuffisante en matière de sécurité. Les failles sont en effet bien connues : mot de passe simpliste, parfois identique à plusieurs comptes, renouvellement peu fréquent voire inexistant ou encore stockage sur un support non sécurisé. Malgré la complexité de votre mot de passe, il est toutefois toujours possible de subir une attaque malveillante qui permettrait à un pirate d’arriver à ses fins.
La mise en place d’un processus d’authentification à double facteur (2FA ou Two Factor Authentication) renforcera la sécurité d’accès à votre interface d’administration. Le fonctionnement est simple : outre l’usage conventionnel d’un identifiant et d’un mot de passe, il vous sera également demandé une authentification avec un facteur supplémentaire (code à durée limitée, authentification sur smartphone, SMS, passphrase). Vous protégerez et sécuriserez ainsi vos accès administrateur et éviterez ainsi de compromettre la sécurité de votre site.
En effet, même si un utilisateur malveillant parvenait à récupérer votre mot de passe d’une quelconque manière, la sécurité de vos accès ne sera pas compromise.
Parmi ces facteurs 2FA, vous pouvez utiliser l’application Google Authenticator (ou toute application équivalente).
Lors de la création de votre compte, un QR code s’affichera à l’écran. Il vous suffira de le scanner avec votre smartphone via l’application Google Authenticator. Une nouvelle entrée apparaîtra dans votre application générant un code (par défaut à 6 chiffres) qui changera toutes les 30 secondes. Vous devrez fournir ce code lors de votre authentification sur l’interface d’administration.
Une extension complète vous permettra de gérer plusieurs modes d’authentification sur votre site, pour les administrateurs mais également pour les utilisatrices et utilisateurs possédant un compte. L’extension miniOrange de Google Authenticator est disponible à cette adresse : https://fr.wordpress.org/plugins/miniorange-2-factor-authentication/
Voici comment activer la double authentification pour le compte administrateur (accessible avec un compte non payant).
- Connectez-vous à l’interface dédiée avec le compte administrateur.
- Cliquez sur le plugin « miniOrange 2-Factor ».

- Cliquez sur « Configurer » sous la méthode d’authentification « Google Authenticator ».

- Lors de la première étape du processus de configuration, sélectionnez l’application que vous utiliserez sur votre smartphone pour générer la série de chiffres. Une fois la méthode sélectionnée, scannez le QR code avec votre smartphone via l’application Google Authenticator.
![La sécurité sous WordPress [12]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B12%5D.png)
- Attribuez un nom puis passez à l’étape 2 de la vérification en saisissant le code généré sur votre application mobile.
- Si l’opération est un succès, une fenêtre vous confirmera que l’accès à votre compte est bien effectif en 2FA.
![La sécurité sous WordPress [13]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B13%5D.png)
Comment mesurer la santé de votre site web ?
Dans la colonne de gauche de votre tableau de bord WordPress, sélectionnez « Outils », puis cliquez sur « Santé du site ». Cette section n’est pas une extension. Elle est intégrée à WordPress par défaut. Elle peut vous alerter d’un problème de performance ou de sécurité sur votre site internet.
![La sécurité sous WordPress [14]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B14%5D.png)
Vous pouvez par ailleurs tester vos en-têtes de sécurité ici : https://securityheaders.com/
![La sécurité sous WordPress [15]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B15%5D.png)
Comment configurer Wordfence pour votre WordPress ?
Wordfence comprend un pare-feu et un scanner de logiciels malveillants qui ont été conçus dès le départ pour protéger WordPress.
![La sécurité sous WordPress [16]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B16%5D.png)
En cliquant sur « Activer », vous devrez enregistrer votre extension. Si vous n’avez pas de compte Wordfence, cliquez sur « Get Your Wordfence Licence ». Vous serez alors redirigé·e vers le site de l’éditeur de l’extension pour créer votre compte :
![La sécurité sous WordPress [17]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B17%5D.png)
Sur le site de l’éditeur, sélectionnez la version « Free ». Cliquez ensuite sur « Get a Free Licence ». Une fenêtre modale s’ouvrira, cliquez sur « I’m OK waiting 30 days for protection from new threats » :
![La sécurité sous WordPress [18]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B18%5D.png)
Une nouvelle fenêtre modale apparaîtra ensuite avec l’URL de votre site WordPress. Renseignez votre adresse e-mail et cochez la case relative à l’acceptation des Conditions générales d’utilisation :
![La sécurité sous WordPress [19]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B19%5D.png)
Un message vous indique alors qu’un e-mail vous a été envoyé :
![La sécurité sous WordPress [20]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B20%5D.png)
Ouvrez-le et cliquez sur le lien qui s’y trouve pour finaliser la création de votre compte (le lien vous envoie directement sur l’interface d’administration de WordPress). Vous pourrez alors valider la clé de licence inscrite dans les formulaires :
![La sécurité sous WordPress [21]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B21%5D.png)
Cette opération peut également s’effectuer manuellement en copiant la clé figurant dans l’e-mail d’inscription.
Le pare-feu, aussi appelé WAF (Web Application Firewall) entre en mode apprentissage. Cette étape peut durer plusieurs dizaines de minutes.
Entre temps, cliquez sur « Cliquer ici pour configurer ».
![La sécurité sous WordPress [22]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B22%5D.png)
![La sécurité sous WordPress [23]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B23%5D.png)
Téléchargez la sauvegarde de votre fichier .htaccess sur votre ordinateur, puis cliquez sur « Continuer ».
![La sécurité sous WordPress [24]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B24%5D.png)
Comment optimiser vos réglages pour la protection contre les attaques par force brute ?
Dans la rubrique « Firewall » de la colonne de gauche de votre tableau de bord, cliquez sur « Manage firewall ».
![La sécurité sous WordPress [25]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B25%5D.png)
Cliquez ensuite sur « Manage Firewall », puis « Brute Force Protection » (en bas de la nouvelle page).
![La sécurité sous WordPress [26]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B26%5D.png)
Voici les réglages à privilégier :
- Lock out after how many login failures (nombre maximal d’échecs de connexion avant bannissement de l’internaute) : 2.
L’utilisation d’un gestionnaire de mots de passe est conseillée. - Lock out after how many forgot password attempts (nombre maximal de tentatives de réinitialisation de mot de passe avant bannissement de l’internaute : 2.
- Amount of time a user is locked out (durée de bannissement de l’internaute) : 2 months (2 mois).
- Immediately lock out invalid usernames (blocage instantané des internautes se connectant avec un nom d’utilisateur WordPress inexistant).
![La sécurité sous WordPress [27]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B27%5D.png)
Si par mégarde vous deviez vous bannir vous-même lors de la connexion à votre tableau de bord, un e-mail serait envoyé à l’adresse que vous avez renseignée dans Wordfence. Ce dernier vous permettra de mettre fin au bannissement et vous pourrez de nouveau tenter de vous connecter.
Si vous avez besoin d’une protection équivalente pour vos sites web (autres que WordPress) voici un lien traitant des fonctionnalités de notre option « CDN Security » : https://blog.ovhcloud.com/website-security-a-vital-factor-to-maintain/
En conclusion, voici les bonnes pratiques à retenir
- Maintenez votre CMS ainsi que ses extensions et thèmes à jour.
- Configurez WordPress pour automatiser ces mises à jour.
- Veillez à ce que toutes les pages soient accessibles en TLS/SSL et que votre certificat soit valide.
- Mettez en place un second facteur d’authentification pour les comptes critiques.
- Vérifiez régulièrement la santé de votre site.