Publié le 13 mai 2019 (Mise à jour le 4 mars 2024)
Aujourd’hui, 33% des sites web dans le monde utilisent WordPress. Ainsi, WordPress est aussi le CMS (Content Management System) le plus utilisé au monde, avec 60% du marché. En effet, c’est à cause de cette popularité en constante augmentation que ce CMS est devenu une cible privilégiée des piratages sur le web. Mais alors, comment bien sécuriser son site WordPress ?
Cet article va vous aider à comprendre l’importance de la sécurisation d’un site internet utilisant WordPress et comment la mettre en place.
Quelles sont les attaques les plus courantes sur un site WordPress ?
Les motivations d’un pirate peuvent être diverses mais ils agissent la plupart du temps pour gagner de l’argent, pour interrompre le service que propose le site ou encore pour voler des données sensibles telles que des mots de passe ou des informations bancaires.
Les attaques visant les sites WordPress sont très variées, mais les pirates se concentrent principalement sur les vulnérabilités que présente ce CMS. Voici une liste des attaques les plus courantes sur un site WordPress.
Logiciel malveillant (Malware)
- Portes dérobées (Backdoor)
D’abord, les backdoors permettent de prendre le contrôle d’un site web compromis en contournant les méthodes d’authentification du site. Ainsi, ces vulnérabilités sont souvent très difficiles à trouver car les backdoors sont conçues pour être confondues avec du code non malveillant.
Les portes dérobées trouvées sur des sites WordPress sont pour la plupart présentes dans le code de certains plugins qui ne se sont pas très connus ou qui sont téléchargés sur des sites non-officiels. Ensuite, une fois le plugin téléchargé, le pirate peut cacher des backdoors cryptées dans vos fichiers PHP. Ainsi, même si le plugin est supprimé, le pirate possède toujours un accès bien caché à votre site. - Téléchargement furtif (drive-by download)
Il s’agit du téléchargement involontaire d’un logiciel malveillant depuis Internet, le plus souvent lorsque l’utilisateur visite un site web infecté ou ouvre un mail qui renvoie à un site web inconnu. Ensuite, le logiciel s’installe alors sur l’ordinateur de l’utilisateur, sans que ce dernier en ait connaissance. Au final, il peut donc s’agir de virus, de logiciels espions, d’outils d’accès à distance, de logiciel de rançon, etc. - Pharma Hack
Il s’agit de l’injection d’un code malveillant dans les pages d’un site WordPress, obligeant les moteurs de recherche à retourner des annonces de produits pharmaceutiques illégaux, ou parfois d’autres produits, à la place de votre site web. En effet, les victimes de Pharma Hack signalent une forte diminution du trafic sur leurs sites et, dans certains cas, le retrait de leurs sites par Google des listes de résultats de recherche. Ce type de piratage peut être difficile à détecter car il n’altère pas les pages du site web compromis, mais affecte uniquement le référencement sur les moteurs de recherche.
Force Brute
Les tentatives de connexion par Force Brute utilisent des scripts automatisés pour exploiter les mots de passe faibles et accéder à votre site. L’attaquant essaye de deviner l’identifiant du compte administrateur de votre site et ensuite son mot de passe en testant toutes les combinaisons possibles. Cette méthode fonctionne très bien lorsque les utilisateurs utilisent des mots de passe comme “123456” ou encore “motdepasse” et des noms d’utilisateur comme “admin”.
Inclusion de fichiers
Il s’agit d’une vulnérabilité due à une entrée qui ne possède pas de validation adéquate. L’attaquant inclut un fichier distant dans votre site, généralement par le biais d’un script. C’est pourquoi il s’agit de l’un des moyens les plus utilisés par un attaquant pour accéder aux fichiers de votre site WordPress comportant des données sensibles, comme wp-config.php.
Injections SQL
Les injections SQL permettent à un pirate d’obtenir l’accès aux données que contient la base de données de votre site, en modifiant des requêtes SQL en cours d’exécution. Avec une injection SQL, un attaquant peut créer un nouveau compte utilisateur au niveau de l’administrateur. Il peut ensuite être utilisé pour se connecter et obtenir un accès complet à votre site WordPress. Cette vulnérabilité peut également permettre à l’attaquant d’insérer de nouvelles données dans votre base de données, notamment des liens vers des sites malveillants.
Cross-Site Scripting (XSS)
Il s’agit de l’injection d’un script malveillant, le plus souvent en JavaScript, qui est chargé sur la page à l’insu de l’utilisateur de votre site web. Le but est généralement de récupérer des cookies, des données de session, de réécrire du HTML sur une page ou encore de rediriger l’utilisateur vers un autre site. En effet, il s’agit de la vulnérabilité que l’on retrouve le plus dans les plugins WordPress.
Dénis de service (DoS)
Cette attaque vise à rendre le site Internet indisponible et à empêcher les exploitants du site d’y accéder. Pour cela le pirate utilise des scripts pour envoyer des requêtes en boucle là où se trouvent des failles. Dans le but de submerger la mémoire du serveur où le site est hébergé.
Spam dans les commentaires
Ces commentaires sont pour la plupart générés automatiquement par des machines virtuelles (bots). Elles contiennent des messages indésirables ou bien des liens vers des sites web inconnus.
Recommandations
Pour sécuriser votre site WordPress, il y a toute une partie technique à mettre en place, mais vous devez aussi (et surtout) instaurer de bonnes pratiques. Voici une liste des actions que vous pouvez engager pour améliorer la sécurité de votre site WordPress.
Hébergement
- Choisissez un hébergeur connu et sécurisé pour votre site, où l’accès à votre base de données est protégé
- Utilisez le protocole HTTPS pour sécuriser votre site WordPress
- Utilisez la dernière version de PHP (aujourd’hui PHP7)
Thème/plugin
- Mettez régulièrement à jour WordPress, ainsi que le thème et les plugins que vous utilisez
- Supprimez les thèmes et les plugins inactifs
- Installez un plugin comme iThemes Security ou All In One WP Security & Firewall, capable de vous prévenir s’il y a des modifications suspectes dans les fichiers de votre site
- Installez un plugin pour éviter les spams dans les commentaires, comme Askimet
- Utilisez seulement les plugins dignes de confiance (fiables, reconnus, avec un bon support)
- Téléchargez vos plugins uniquement sur des sites fiables
Authentification
- Créez des mots de passe forts (au moins huit caractères, contenant des lettres minuscules, majuscules, des chiffres et des caractères spéciaux)
- Restreignez le nombre d’essais d’identification
- Masquez les erreurs de connexion
- Utilisez un Captcha pour l’identification ou une double authentification
- Bannissez les adresses IP malveillantes
- Bannissez les tentatives de connexion avec des noms d’utilisateur inexistants
- Réduisez la durée de vie des sessions utilisateurs
- Réglez une durée de vie pour les mots de passe
- Ne vous connectez pas à votre site WordPress sur un Wi-Fi public
Administration des utilisateurs
- Supprimez le compte « admin » par défaut, en le remplaçant par un autre compte administrateur avec un autre nom
- Interdisez les noms d’utilisateurs comme admin, www, nom_de_domaine
- Ne donnez pas les droits administrateurs à tous vos utilisateurs
- Vérifiez fréquemment la liste de vos utilisateurs et supprimez les comptes obsolètes
- Rétrogradez les rôles d’anciens utilisateurs
Administration du serveur
- Sauvegardez très souvent votre site et sa base de données
- Bloquez l’affichage du contenu des dossiers dans le navigateur
- Changez le préfixe « wp_ » par défaut dans la base de données
- Réglez les permissions d’accès aux fichiers sur le serveur
- Bloquez l’accès aux fichiers readme.html et licence.txt
- Définissez aléatoirement des clés de sécurité
- Changez l’URL de la page d’identification
- Protéger le fichier wp-config.php et ses données sensibles
- Restreignez l’accès au fichier .htaccess
- Désactivez l’éditeur de fichiers dans le back-office
- Autorisez les mises à jour automatiques majeures de WordPress
- Masquez la version de votre WordPress (si version antérieure à 5.0)
En conclusion, s’il y avait trois points à retenir de cet article pour sécuriser vôtre site WordPress, ce serait les points suivants :
- 1 – D’abord, si vous êtes en train de développer votre site WordPress, adoptez les bonnes pratiques du développement en préparant bien les fichiers de votre thème et en sécurisant vos fichiers sensibles.
- 2 – Ensuite, si vous utilisez un thème téléchargé sur Internet, vérifiez qu’il ait une bonne réputation et un bon support. Faîtes de même avec les plugins que vous installez. Lors du déploiement de votre site, sécurisez vos comptes administrateurs. Si possible installez un plugin de sécurité qui vous permettra de sécuriser votre site de façon plus poussée.
- 3 – Dans tous les cas, n’oubliez pas de maintenir votre site en effectuant régulièrement des sauvegardes de votre site, ainsi que les mises à jour de WordPress et de vos plugins.
En outre, les plugins et thèmes offrent une haute flexibilité à WordPress, mais sont aussi les parties les plus vulnérables d’un site s’ils ne sont pas mis à jour. L’équipe de WordPress résout à chaque mise à jour des failles de sécurité, mais seulement 35% des sites WordPress utilisent la dernière version. Aussi, 50.8% des sites WordPress utilisent une version de PHP obsolète, ce qui représente un gros risque de sécurité. WordPress ne va d’ailleurs plus supporter certaines anciennes versions de PHP.
Envie d’en savoir plus ?
Vous désirez faire sécuriser votre site WordPress par des professionnels du développement ? N’hésitez pas à contacter notre équipe.