Comment sécuriser son site WordPress ?

La sécurité de WordPress est une question très importante pour tous les propriétaires de sites web.

Si vous prenez votre site web au sérieux, vous devez adopter les meilleures pratiques de sécurité de WordPress.

Dans ce guide, nous allons partager les meilleurs conseils de sécurité WordPress pour vous aider à protéger votre site Web contre les pirates et les logiciels malveillants.

Protéger la connexion à l’administration WordPress

Un site Web WordPress a généralement beaucoup de chances de faire face à des attaques par force brute et à des tentatives de connexion malveillantes. Nous allons utiliser le plugin WPS Hide Login.

Avec l’aide de ce plugin, vous pouvez utiliser une URL personnalisée comme URL de connexion standard.

Après l’installation et l’activation du plugin, “/wp-admin” et “/wp-login.php” seront inaccessibles et seront remplacés par une URL personnalisée de votre choix.

Créer un mot de passe fort

La meilleure façon de conserver un compte est de protéger le mot de passe. Toutefois, vous devez savoir qu’il n’existe pas de mot de passe sûr à 100 %.

La longueur du mot de passe est très importante. Huit caractères sont peut-être suffisants, mais leur pertinence n’est pas assurée.

Idéalement, vous devriez opter pour une longueur minimale de 14 caractères.

N’hésitez pas à combiner les symboles, les chiffres et les lettres, éventuellement avec un mélange de majuscules et de minuscules. C’est la formule idéale pour avoir un mot de passe qui soit difficile à déchiffrer.

Désactiver XML-RPC

Il est indéniable que XML-RPC apportera de nombreux avantages aux développeurs WordPress. Toutefois, certains propriétaires de sites Web n’ont pas besoin de ces fonctionnalités.

C’est une fonctionnalité WordPress qui permet la transmission de données pour communiquer avec d’autres applications.

Le risque si vous n’utilisez pas cette fonctionnalité, c’est donner la possibilité à des hackers d’accéder à votre site WordPress.

Pour cela vous pouvez télécharger un plugin “Disable Xml-RPC” qui va ajouter une ligne dans le fichier Htacess pour désactiver ce protocole.

Créer un répertoire protégé par un mot de passe

Vous pouvez créer un répertoire protégé par un mot de passe à partir de votre cPanel.

Trouvez l’icône du mot de passe pour le répertoire et sélectionnez-la.

Une fois que vous avez terminé et que WordPress est installé, trouvez le dossier wp-admin. Sélectionnez le dossier (wp-admin) pour lequel vous souhaitez créer un répertoire protégé par un mot de passe.

Vous pouvez modifier le nom du répertoire choisi et activer la protection par mot de passe. Créez un utilisateur avec un nom d’utilisateur et un mot de passe et vous avez terminé. Vous avez protégé votre dossier wp-admin par un mot de passe.

Maintenir WordPress à jour

Cela vous permettra de protéger efficacement WordPress. Cela semble simple, mais seuls 22 % des sites utilisant WordPress utilisent la dernière version.

Si vous voulez avoir un site web qui dispose des derniers correctifs, c’est une nécessité.

WordPress intègre des mises à jour automatiques des versions, mais elles ne fonctionnent que pour les mises à jour de sécurité mineures.

Par conséquent, les mises à jour majeures doivent être effectuées manuellement pour protéger WordPress.

Mise à jour des plugins WordPress
Les utilisateurs de WordPress ont le choix entre de nombreuses options lors de l’installation d’un plugin WordPress. Choisissez tous les emplacements et vous aurez plusieurs options de plugins pour votre niche, à la fois gratuits et premium.

Une chose dont les utilisateurs doivent se méfier lorsqu’ils choisissent un plugin, ce sont les divers éléments de code indésirable qui sont intégrés dans ces plugins. Pour éviter les menaces futures, gardez à l’esprit les conseils suivants :

Maintenir tous les plugins WordPress à jour

Une chose dont les utilisateurs doivent se méfier lorsqu’ils choisissent un plugin, ce sont les divers éléments de code indésirable qui sont intégrés dans ces plugins.

Pour éviter les menaces futures, gardez à l’esprit les conseils suivants :

  • Maintenez tous les plugins WordPress à jour.
  • Suppression des plugins WordPress non désirés ou inutilisés
  • Obtenez des plugins uniquement auprès de sources fiables
  • Envisagez de remplacer les anciens plugins par des solutions plus récentes
  • Réfléchissez-y à deux fois avant d’installer un nouveau plugin WordPress

En ce qui concerne vos plugins, nous vous recommandons de suivre ces recommandations pour renforcer la sécurité de WordPress :

  • N’installez que les plugins dont vous avez besoin. Nous devons donc régulièrement trier et supprimer tous ceux qui ne sont plus actifs et dont vous n’avez plus besoin. Cela vous permet d’optimiser le temps de chargement de vos pages et de diminuer le poids global de votre site.
  • Téléchargez et activez uniquement les plugins qui sont régulièrement mis à jour. Lorsque vous téléchargez une extension, vous voyez la date de la dernière mise à jour. Veillez donc à toujours vérifier l’équipe opérationnelle derrière le développement d’un add-on.
  • Renseignez-vous sur la qualité des modules complémentaires que vous téléchargez. Ne vous précipitez pas pour télécharger une extension. Si vous ne le connaissez pas, prenez le temps de vous renseigner sur sa qualité. Vérifiez les avis des clients. Vous pouvez également rechercher sur Internet le site officiel du module complémentaire, ainsi que le site des créateurs pour en savoir plus.

Utilisez SSL sur votre site WordPress

SSL protège les données que vous partagez en ligne, ce qui les empêche de tomber entre de mauvaises mains.

Un certificat SSL est essentiel pour tout site web. En juillet 2018, le navigateur Chrome de Google a commencé à signaler les sites web non HTTP comme non sécurisés.

Les sites web qui possèdent un certificat SSL disposent d’un tampon crypté supplémentaire entre leur serveur et tous les autres.

Cela signifie que les sites Web qui sont passés du protocole HTTP au protocole HTTPS sont considérés comme sûrs et mieux vus de Google.

En outre, si votre site exige des utilisateurs qu’ils se connectent ou fournissent des informations personnelles telles que leur nom, leur adresse, les détails de leur carte de crédit et autres, il doit être protégé par SSL. Sans cela, les informations de vos utilisateurs peuvent facilement être compromises.

Sécurisez votre base de données WordPress

Un moyen très simple de se protéger consiste à utiliser des préfixes alternatifs pour les noms de tables.

Si vous installez WordPress par défaut, toutes les tables de la base de données prendront le préfixe wp_ : wp_posts, wp_postmeta, wp_users, wp_usermeta, wp_comments….

Une bonne pratique de sécurité consiste à remplacer le préfixe wp_ par un autre préfixe. Par exemple, nous pourrions décider de choisir le préfixe l53m_ comme alternative.

Vous devez toujours installer et configurer une sauvegarde de la base de données WordPress de votre site. Cela vous permet de restaurer votre site en cas de problème.

De nombreux utilisateurs perdent l’accès à leur tableau de bord WordPress en raison d’un piratage ou d’une erreur de plugin.

Dans ces cas, nous recommandons de toujours faire une sauvegarde complète de la base de données WordPress, ce qui vous évitera bien des désagréments.

Utilisez un hébergement WordPress sécurisé

Dans cette étape de notre guide sur la sécurité de WordPress, nous abordons l’importance de veiller à ce que votre plan d’hébergement Web permette de sécuriser au maximum votre site Web.

Veillez à choisir un fournisseur d’hébergement Wp géré fiable disposant d’une équipe d’experts sur place pour gérer les mesures de sécurité du site Web.

Voici quelques-unes des caractéristiques que votre plan d’hébergement WordPress géré devrait offrir :

  • Mesures de sécurité du centre de données.
  • Les systèmes de sécurité côté serveur, tels que les pare-feu et les logiciels anti-malware.
  • Compléments de certificats SSL
  • Sauvegardes automatisées ou gérées
  • Mises à jour gérées

Le service d’hébergement WordPress joue le rôle le plus important dans la protection de votre site web contre les pirates et les logiciels malveillants.

Interdire l’accès à certains dossiers de WordPress

Sur WordPress, il est possible d’avoir accès aux répertoires en ajoutant dans l’URL /wp-content/uploads pour avoir accès aux fichiers..

Pour interdire l’accès à ces répertoires, ajoutez dans le fichier .htaccess le code suivant :

Options All -Indexes

En rajoutant cette ligne, vous interdisez l’accès aux répertoires de votre site WordPress.

Comment sécuriser les en-têtes de votre site WordPress ?

Vous pouvez ajouter des en-têtes de sécurité HTTP à votre site WordPress de plusieurs façons. Vous pouvez modifier le fichier .htaccess sur un serveur Apache ou le fichier nginx.conf sur NGINX, vous pouvez créer une fonction ou utiliser des plugins.

Si votre serveur est Apache, vous devez ajouter à la fin de .htaccess les directives ci dessous :

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 always append X-Frame-Options SAMEORIGIN
Header Referrer-Policy: no-referrer-when-downgrade
Header set Content-Security-Policy default-src 'none'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';

Si votre serveur est NGINX, vous devrez ajouter les en-têtes de sécurité HTTP au fichier de configuration nginx.conf, comme dans cet exemple :

add_header Strict-Transport-Security max-age=31536000;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Xss-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Content-Security-Policy "default-src 'none'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';";

Sécurité du transport HTTP Strict (HSTS)

Supposons que vous ayez un site exemple.com et que vous avez configurer un certificat SSL/TLS pour passer de HTTP à HTTPS.

Vous savez maintenant que votre site web n’est accessible qu’avec HTTPS.

En utilisant la sécurité de transport stricte (HSTS), vous pouvez forcer les derniers navigateurs web comme Google Chrome, Firefox et Safari à communiquer avec votre site web uniquement par HTTPS.

Ainsi, si un hacker tente d’ouvrir votre site WordPress via HTTP, le navigateur web ne chargera pas la page.

Les paramètres associés au HSTS sont :

  • max-age – définit la durée, en secondes, pendant laquelle le navigateur se souviendra que ce site n’est accessible que par HTTPS.
  • includeSubDomains – est un paramètre supplémentaire qui peut être utilisé pour appliquer cette règle également à tous les sous-domaines du site.

Protection contre les XSS

XSS, également connu sous le nom de cross-site scripting, est un en-tête de sécurité qui protège les sites contre le cross-site scripting.

Par défaut, cet en-tête de sécurité est intégré et actif dans les navigateurs web modernes.

En l’implémentant, le navigateur sera obligé de le charger. Cet en-tête de sécurité ne laissera pas une page se charger s’il détecte une attaque par script intersite.

Le paramétrage se présente comme cela :

0 – désactive le filtre
1 – activer le filtrage
1 ; mode=block active le filtre avec le paramètre 1 et bloque également le chargement du site avec mode=block
1 ; report=https://url-de-tu-informe/ active le filtre avec le paramètre 1, puis assainit la requête et envoie le rapport à l’url définie avec le paramètre report=.

X-Content-Type-Options

Le X-Content-Type-Options est une sorte d’en-tête de sécurité qui empêche Google Chrome, Internet Explorer et Firefox de renifler une réponse autre que le type de contenu déclaré.

Cet en-tête de sécurité protège le contenu et réduit le risque de téléchargements non autorisés.

Il dispose de nombreuses options de configuration et de paramètres possibles, mais le paramètre le plus courant est nosniff.

X frame Options

L’en-tête x-frame-options protège les sites Web contre le “clickjacking” en empêchant les iframes d’apparaître sur votre site. Il est compatible avec IE 8+, Chrome 4.1+, Firefox 3.6.9+, Opera 10.5+ et Safari 4+.

Dans cette méthode, un attaquant incite l’utilisateur à cliquer sur quelque chose qui n’existe pas.

Un utilisateur peut penser qu’il est sur le site principal, mais il y a autre chose qui tourne en arrière-plan. De cette façon, les pirates peuvent voler des informations à partir de votre navigateur Web.

Au niveau du paramétrage, voici ce qui se présente :

  • deny – refusera complètement l’affichage de l’iframe.
  • sameorigin – refusera si l’origine ne correspond pas au site.
  • allow-from : DOMAIN – ce paramètre permet l’affichage de l’iframe si elle est chargée depuis un domaine spécifique.

Politique de sécurité du contenu (CSP)

La politique de sécurité du contenu permet de réduire le risque d’attaques XSS dans les navigateurs modernes en indiquant quelles ressources dynamiques sont autorisées à être chargées et d’où elles proviennent.

Comme pour X-Content-Type-Options, l’en-tête Content-Security-Policy comporte de nombreuses options de configuration et de nombreux paramètres potentiels :

  • default-src – est la politique par défaut pour le chargement de contenus tels que JavaScript, images, CSS, polices, requêtes AJAX, Frames, médias en HTML5.
  • script-src – définit les sources valides pour le chargement de JavaScript
  • connect-src – s’applique à XMLHttpRequest (AJAX), WebSocket ou EventSource. S’il n’est pas autorisé, le navigateur émule le code d’état HTTP 400.
  • img-src – définit les sources valides pour le téléchargement d’images
  • style-src – définit les sources valides pour le chargement des feuilles de style

Comment ajouter des en-têtes avec un plugin WordPress ?

Il existe également des plugins WordPress qui vous permettent d’ajouter des en-têtes de sécurité HTTP à WordPress. Voici quelques-uns de ceux qui sont disponibles gratuitement :

  • HTTP Headers – Plugin très complet et facile à utiliser si vous avez une connaissance de base des paramètres possibles des différents headers de sécurité. En plus des en-têtes de sécurité vous permet d’ajouter d’autres contrôle d’accès, cache, compression, etc.
  • HTTP headers to improve website security – Un peu plus complexe à configurer que le précédent mais tout aussi efficace.
  • GD Security Headers – Un autre excellent plugin pour configurer les paramètres et ajouter des en-têtes de sécurité HTTP.

Une fois que vous avez ajouté les en-têtes de sécurité HTTP, il n’est pas inutile de vérifier qu’ils fonctionnent correctement.

Un bon endroit pour vérifier rapidement est le site web securityheaders.com. Il suffit d’entrer l’URL de votre site, et il vous montrera immédiatement si vous avez des en-têtes de sécurité HTTP et lesquels.

Un petit clic pour évaluer l'article