Tech

WordPress : Découvrez les 9 failles de sécurité les plus courantes et comment les réparer

By Steven, on 2 February, 2024, updated on 22 January, 2024 - 8 min read

La sécurité est un enjeu majeur sur WordPress, mais encore trop négligé par de nombreux propriétaires de sites. Il existe pourtant des solutions simples pour corriger facilement les failles les plus courantes et considérablement renforcer la sécurité de votre site afin de le protéger contre les cyberattaques.

Vous souhaitez améliorer la sécurité de votre site WordPress ? Debugbar va vous y aider en passant en revue les 9 problèmes de sécurité les plus fréquents sur WordPress, ainsi que les correctifs existants pour les résoudre efficacement.

1. Les mots de passe faibles

Au moment de choisir le mot de passe de leur site, beaucoup d’éditeurs choisissent la simplicité pour pouvoir se souvenir facilement de leurs informations de connexion.

Or, l’utilisation d’un mot de passe faible comme “azerty” ou “password” ou l’utilisation d’un mot de passe unique pour plusieurs comptes est un risque majeur pour la sécurité de votre site WordPress. Ces mots de passe, facilement devinables, sont une véritable aubaine pour les pirates informatiques qui peuvent ainsi facilement se connecter à votre site WordPress et en prendre le contrôle pour :

  • Modifier votre site
  • Voler des données sensibles
  • Ou utiliser votre site pour propager des logiciels malveillants
password hackers

Heureusement, cette vulnérabilité est assez facile à corriger. Il vous faudra simplement utiliser des mots de passe uniques, robustes et difficiles à deviner.

Pour ce faire, vous devrez :

  • Utiliser une combinaison de majuscules, minuscules, chiffres et caractères spéciaux (par exemple : MotPasse123@)
  • Choisir un mot de passe d’au moins 12 caractères de long
  • Éviter les mots du dictionnaire ou les informations personnelles
  • Utiliser un gestionnaire de mots de passe pour en générer et les stocker en toute sécurité

En appliquant ces bonnes pratiques, vos mots de passe seront bien plus sécurisés. Et si vous avez peur d’avoir du mal à vous souvenir de tous vos mots de passe, pas de panique, il existe d’excellents gestionnaires de mots de passe.

2. Les thèmes, plugins et autres logiciels obsolètes

Vous ne faites jamais les mises à jour de vos sites WordPress ? Vous utilisez de vieilles versions de vos plugins ? C’est une mauvaise idée… En effet, l’utilisation d’une version obsolète de WordPress, d’un thème ou d’un plugin peut être à l’origine de failles de sécurité importantes car ces versions ne bénéficient plus des dernières mises à jour de sécurité.

Les risques sont alors multiples :

  • Des pirates peuvent exploiter des vulnérabilités connues et prendre le contrôle de votre site WordPress
  • Ils peuvent injecter des logiciels malveillants, voler ou supprimer des données sensibles
  • Votre site peut même être utilisé comme point de départ pour des cyberattaques

Il est donc important de régulièrement effectuer les mises à jour pour être certain d’avoir les dernières versions de WordPress, de vos thèmes ainsi que de vos plugins pour assurer la protection de votre site.

downloading updates

Pour cela, rien de plus simple :

  • Dans votre tableau de bord WordPress, activez les mises à jour automatiques pour que WordPress se mette à jour tout seul.
  • Vérifiez régulièrement la présence de mises à jour pour vos thèmes et plugins (généralement une petite pastille rouge vous signale les mises à jour disponibles) Installez-les dès leur disponibilité.
  • Supprimez les plugins et thèmes inutilisés qui ne sont plus maintenus à jour. Un thème ou un plugin qui n’est pas à jour peut contenir des vulnérabilités critiques.
  • Faites des sauvegardes avant toute mise à jour majeure au cas où celle-ci poserait problème.

Grâce à ces quelques actions simples vous minimiserez déjà beaucoup les problèmes de sécurité liés à une version obsolète d’un logiciel.

3. L’absence de plugins de sécurité

En tant qu’utilisateur WordPress, vous le savez, il existe de nombreux plugins pour améliorer votre site. Tous ne sont pas forcément utiles mais certains sont en revanche indispensables. C’est notamment le cas des plugins de sécurité.

Leur absence sur un site WordPress le rend beaucoup plus vulnérable aux attaques telles que :

  • Les intrusions dans l’administration du site
  • Les injections de malware
  • Les vols de données
  • Etc.
hackers malware black flag

Pour dire les choses très simplement, un pirate peut prendre le contrôle complet de votre site WordPress sans aucune difficulté si vous ne le protégez pas avec des plugins dédiés.

Mais rassurez-vous, il est très facile d’ajouter cette protection grâce à certains plugins qui ont fait leurs preuves :

  • Installez un plugin comme Wordfence pour analyser votre site. Il bloquera les accès non autorisés.
  • Le plugin Sucuri Scanner nettoie les malware déjà présents et prévient de futures infections.
  • Limit Login Attempts empêche les tentatives de connexions abusives par force brute.
  • iThemes Security renforce la sécurité de l’administration de votre site WordPress.

Ces plugins offrent une protection efficace contre les principales menaces. Combinez-en plusieurs pour une sécurité renforcée et pensez à les mettre à jour régulièrement.

4. L’absence d’authentification à deux facteurs

L’authentification à 2 facteurs (2FA) est un système qui vous oblige à vous identifier 2 fois avant d’accéder à votre site : une fois avec le mot de passe que vous rentrez sur votre page de connexion, une deuxième fois à l’aide d’un code que vous recevez par SMS ou par email.

Comme vous pouvez l’imaginer, l’absence d’authentification à deux facteurs (2FA) sur un site WordPress est donc risquée puisque le mot de passe seul peut être deviné ou volé.

Alors que si la double authentification est activée, même avec votre mot de passe, il ne pourra rien faire.

C’est donc une protection utile que vous auriez tort de ne pas mettre en place, surtout qu’elle est extrêmement facile et rapide à mettre en place. Il vous suffit de :

  • Soit installer un plugin 2FA comme Google Authenticator ou Duo Two-Factor Authentication.
  • Soit activer la 2FA au niveau du compte d’hébergement si votre hébergeur propose une telle option.

Vous souhaitez plus de détails sur cette protection ? Alors n’hésitez pas à consulter notre article : Comment activer l’authentification 2 facteurs.

Quelle que soit la méthode choisie, n’oubliez pas de sauvegarder les codes de récupération 2FA en lieu sûr au cas où vous perdiez votre appareil.

5. Un hébergement web non sécurisé

Les hackers adorent passer par les serveurs pour pirater un site car cela leur permet d’accéder à plusieurs sites d’un coup.

Si vous choisissez un hébergement bon marché aux configurations par défaut, votre site est donc une cible facile pour les pirates. Surtout si d’autres sites vulnérables se trouvent sur le même serveur car cela permettra aux pirates de se balader de site en site pour commettre leurs méfaits.

Pour sécuriser votre site, il est donc recommandé de :

  • Choisir un hébergement spécialisé dans la sécurité, comme SiteGround ou WP Engine. Leurs serveurs sont configurés pour maximiser la sécurité des sites WordPress.
  • Opter pour un hébergement VPS (serveur privé virtuel) qui isolera votre site des autres présents sur la machine.
  • Sécuriser la configuration du serveur web (Nginx ou Apache) pour renforcer la protection contre les intrusions.
  • Limiter les accès aux serveurs via un pare-feu correctement configuré.

Bien sûr, cette sécurisation a un coût plus important qu’un hébergement low-cost. Mais la protection de votre site WordPress vaut largement l’investissement supplémentaire.

unsecured web hosting

Avec un bon hébergement, vous minimisez les risques d’attaques liés à une configuration trop permissive.

6. Les failles XSS permettant les injections de code intersites

Une vulnérabilité XSS permet à un pirate d’injecter du code malveillant, comme du JavaScript, dans une page web. Ce code est alors exécuté quand un utilisateur visite la page.

Prenons un exemple pour être plus concret. Imaginons qu’un pirate laisse un commentaire contenant du JavaScript sur votre blog WordPress. Eh bien, dès qu’un internaute lira le commentaire, ce code sera activé et pourra alors permettre aux cybercriminels qui en sont à l’origine de :

  • Voler les cookies et mots de passe stockés dans le navigateur
  • Rediriger le trafic de votre site vers des sites malveillants
  • Installer des keylogger pour espionner les frappes clavier de vos visiteurs
  • Modifier les contenus de votre site
  • Etc.

Vous l’aurez compris, une attaque XSS peut avoir des conséquences désastreuses… Il est donc primordial d’agir de manière préventive. Vous pouvez pour cela mettre en place plusieurs actions :

  • Valider et filtrer toutes les entrées utilisateur (commentaires, forums, etc.) avant affichage, pour bloquer les codes JavaScript malveillant
  • Encoder les caractères spéciaux lors de l’affichage. Cela neutralise les codes déjà introduits
  • Désactiver l’édition de codes HTML par les utilisateurs sur votre site
  • Utiliser un plugin de sécurité WordPress pour analyser votre site à la recherche de failles XSS

Avec ces protections, l’injection de JavaScript via une faille XSS deviendra alors extrêmement difficile. Vos utilisateurs seront donc mieux protégés.

7. Une base de données trop permissive (Injections SQL)

Une injection SQL permet à un pirate d’injecter des requêtes SQL malveillantes dans la base de données d’un site WordPress.

Par exemple, dans un formulaire de commentaires, le champ “nom” permet normalement de saisir du texte. Le pirate va donc s’emparer de l’occasion qui lui est donnée d’écrire sur votre site pour saisir du code SQL à la place. Ce code sera alors exécuté par la base de données et lui laissera la possibilité de :

  • Voler des informations sensibles dans la base de données
  • Détruire ou altérer des données
  • Prendre le contrôle total de la base de données

Pour prévenir les injections SQL vous devrez prendre quelques mesures préventives :

  • Validez et filtrez toutes les données entrées par les utilisateurs avant de les transmettre à la base de données
  • Utilisez des requêtes préparées ou le framework WPDB de WordPress qui empêche les injections
  • Limitez les permissions sur la base de données pour réduire l’impact en cas d’injection réussie
  • Analysez les logs de la base de données pour détecter les requêtes suspectes

Avec ces mesures de sécurité, un pirate aura alors beaucoup plus de mal à injecter des requêtes SQL nuisibles dans la base de données de votre site WordPress.

8. Un site non sécurisé (HTTP)

L’utilisation de HTTP au lieu de HTTPS pour votre site WordPress rend toutes les communications entre le site et les visiteurs vulnérables à l’espionnage et au piratage car le protocole HTTP ne chiffre pas les échanges, contrairement à HTTPS. Les pirates peuvent donc intercepter facilement :

  • Les mots de passe et infos personnelles saisies dans les formulaires
  • Les cookies de session utilisateur
  • Les données envoyées entre le site et les serveurs
https url

Pour sécuriser les transmissions, il faut donc :

  • Installer un certificat SSL sur votre site pour activer le HTTPS. Vous pouvez obtenir des certificats gratuits ou payants selon vos besoins
  • Ajouter une règle de redirection permanente en HTTPS dans le fichier .htaccess
  • Vérifier que tous les liens internes pointent bien vers les URLs en HTTPS
  • Configurer les en-têtes HTTP pour renforcer la sécurité des échanges (Strict-Transport-Security, etc)

Le passage en HTTPS est obligatoire pour garantir la confidentialité des données échangées entre votre site WordPress et ses utilisateurs. Sinon, elles sont vulnérables à l’espionnage.

9. Des permissions de fichiers incorrectes

Des permissions mal configurées sur un serveur web sont une menace pour la sécurité d’un site WordPress.

En effet, certains éléments sensibles comme wp-config.php ne doivent pas être accessibles en écriture par n’importe quel utilisateur. Or avec des permissions trop laxistes, un hacker peut :

  • Modifier wp-config.php et y injecter du code malveillant
  • Modifier d’autres fichiers WordPress (thèmes/plugins)
  • Etc.

Pour sécuriser les permissions :

  • Les répertoires de WordPress doivent être en 755 et les fichiers en 644
  • Le fichier wp-config.php doit être en 400 ou 440
  • Les permissions en écriture doivent être révoquées sur tous les fichiers sauf nécessité

Avec des permissions verrouillées, un pirate ne peut plus modifier de fichiers arbitrairement et compromettre la sécurité de votre site. C’est donc un durcissement des règles essentiel à appliquer.

Les vulnérabilités WordPress en bref…

En résumé, la sécurité des sites WordPress est souvent négligée et des vulnérabilités facilement évitables ne sont pas corrigées, ce qui les rend vulnérables aux cyberattaques. Heureusement, il existe des solutions simples pour corriger les problèmes de sécurité les plus courants et ainsi renforcer efficacement la protection de son site.

Parmi toutes les solutions à mettre en oeuvre, voici les 5 principales dont vous devez absolument vous souvenir :

  • Utiliser des mots de passe robustes et uniques pour chaque compte
  • Mettre à jour régulièrement WordPress, les plugins et les thèmes
  • Installer des plugins de sécurité renommés
  • Activer l’authentification à deux facteurs (2FA)
  • Choisir un hébergement web sécurisé et bien configuré

Steven