14 façons de sécuriser votre site WordPress – étape par étape
Publié: 2022-01-05La sécurité de WordPress devrait être une priorité absolue pour les propriétaires de sites. Pourquoi? Parce qu'il y a jusqu'à 90 000 attaques sur les sites WordPress chaque minute.
Si ce n'est pas assez préoccupant, Google met chaque semaine sur liste noire environ 20 000 sites Web pour les logiciels malveillants et 50 000 pour le phishing. Et lorsqu'un site Web est mis sur liste noire – et que les utilisateurs sont obligés d'accepter les risques – cela entraîne une perte d'environ 95 % du trafic.
Bien que la dernière version de WordPress soit toujours la version la plus sécurisée disponible, vous pouvez en faire plus pour vous assurer qu'il est impénétrable aux pirates et aux robots.
Voici quelques conseils pratiques pour vous aider à sécuriser votre site.
- Utilisez un bon hébergeur
- Utilisez uniquement des thèmes et des plugins de qualité
- Maintenez à jour le noyau, les thèmes et les plugins de WordPress
- N'utilisez pas "Admin" comme nom d'utilisateur
- Utilisez un mot de passe fort
- Utiliser l'authentification à deux facteurs
- Limiter les tentatives de connexion
- Installer un certificat SSL
- Changer le préfixe de la base de données
- Protection des fichiers wp-config.php et .htaccess
- Ajouter des clés de sécurité
- Désactiver l'édition de fichiers
- Empêcher l'exécution des fichiers PHP
- Désactiver XML-RPC sélectivement
1. Utilisez un bon hébergeur
Un bon hébergeur est votre première ligne de défense contre les attaques sur votre site. N'optez donc pas automatiquement pour un hébergement mutualisé bon marché. Au lieu de cela, faites vos devoirs.
Optez pour un hébergeur réputé qui prend en charge les dernières versions des technologies Web de base, telles que PHP et MySQL. Assurez-vous de vérifier que votre hébergeur prend en charge PHP 7 - il s'agit de la version PHP officielle recommandée pour WordPress.
Envisagez de choisir un hébergeur WordPress géré. Ces services sont configurés spécifiquement pour WordPress et prennent en charge tous les aspects techniques importants de l'hébergement, y compris la sécurité, les sauvegardes, la disponibilité et les performances.
2. Utilisez uniquement des thèmes et des plugins de qualité
Selon WPScan, 52% des vulnérabilités des sites Web sont causées par des plugins tandis que 11% sont causées par des thèmes. Combinez, c'est plus de 60% de la sécurité de WordPress
Le moyen le plus simple de vous assurer que vos plugins et thèmes peuvent résister aux attaques est de les télécharger uniquement à partir de sources fiables. Cela inclut WordPress.org et les fournisseurs premium. Le téléchargement de développeurs douteux qui cachent du code malveillant dans leurs thèmes et plugins pourrait compromettre votre site.
Si vous ne savez pas si un site Web à partir duquel vous souhaitez télécharger est sûr, recherchez des témoignages et des critiques pour vous assurer que le produit que vous souhaitez est de bonne qualité.
Assurez-vous également que tous les plugins et thèmes que vous utilisez sont également bien pris en charge et régulièrement mis à jour. Si un plugin ou un thème n'a pas été mis à jour depuis longtemps, il y a de fortes chances qu'il contienne des failles de sécurité non corrigées ou même un mauvais code qui pourrait vous rendre vulnérable aux piratages.
Enfin, ne conservez que les plugins et les thèmes dont vous avez réellement besoin et que vous utilisez. Plus vous en avez, plus le risque d'être piraté est élevé. Consultez donc régulièrement votre liste de plugins et de thèmes et désactivez et supprimez ceux dont vous n'avez pas besoin.
3. Gardez le noyau, les thèmes et les plugins WordPress à jour
WordPress est un logiciel open source développé et maintenu par une communauté mondiale de bénévoles. À chaque nouvelle version, toutes les vulnérabilités de sécurité sont corrigées.
Par défaut, WordPress installe automatiquement les mises à jour mineures (c'est-à-dire WordPress 4.9.4). Mais pour les versions majeures (c'est-à-dire WordPress 4.9), il vous incombe de mettre à jour manuellement vers la dernière version.
Ces mises à jour de base sont essentielles pour la sécurité et les performances de votre site. Assurez-vous donc de sauvegarder votre site et d'appliquer toutes les mises à jour principales lorsqu'elles seront disponibles.
De même, il est également important de mettre à jour régulièrement tous les plugins et thèmes afin que vous utilisiez toujours les versions les plus récentes et les plus sécurisées des logiciels.
4. N'utilisez pas "Admin" comme nom d'utilisateur
N'utilisez pas « admin » comme nom d'utilisateur pour votre site. Les versions précédentes de WordPress utilisaient « admin » comme nom d'utilisateur par défaut, ce qui facilitait la tâche des pirates – une pièce du puzzle de moins à deviner lors d'une attaque par force brute.
Mais les versions récentes de WordPress ont changé cela, donnant aux utilisateurs la possibilité d'entrer leur propre nom d'utilisateur lors de l'installation. Cependant, certaines personnes choisissent toujours d'utiliser "admin" plutôt que de proposer un nom d'utilisateur original. Ne le faites pas.
Vous souhaitez rendre plus difficile la pénétration de votre site par des attaquants malveillants, afin que les attaques prennent plus de temps et que vous ou votre fournisseur d'hébergement puissiez identifier les attaques avant qu'elles ne réussissent et les arrêter.
5. Utilisez un mot de passe fort
Créez toujours des mots de passe forts et uniques pour votre compte administrateur WordPress, votre base de données, votre compte d'hébergement, votre adresse e-mail et tout compte FTP. Comme les noms d'utilisateur, les mots de passe sont une autre pièce du puzzle que les pirates doivent deviner, et plus votre mot de passe est fort, plus il est difficile pour les pirates de se connecter avec succès à votre site.
Lors de l'installation, WordPress essaiera de vous imposer un mot de passe fort et vous demandera de cocher une case si vous en saisissez un faible. Bien que vous souhaitiez peut-être créer votre propre mot de passe, des outils tels que Secure Password Generator peuvent créer un mot de passe fort pour vous.
6. Utilisez l'authentification à deux facteurs
Même avec un nom d'utilisateur et un mot de passe forts, les attaques par force brute restent un problème pour de nombreux sites Web. C'est là que l'authentification à deux facteurs peut aider.
L'authentification à deux facteurs ajoute une étape supplémentaire dans le processus de connexion, obligeant les utilisateurs à saisir un code envoyé sur leur téléphone mobile en plus de saisir leurs identifiants de connexion habituels. Cela peut contrecarrer les attaques automatiques et garantir que votre site ne soit pas victime de pirates.
Des plugins comme iThemes Security peuvent implémenter une authentification à deux facteurs. Il existe également des plugins gratuits comme l'authentification à deux facteurs qui peuvent ajouter cette couche de sécurité supplémentaire à votre site.
7. Limiter les tentatives de connexion
Par défaut, vous pouvez tenter de vous connecter à votre compte WordPress autant de fois que vous le souhaitez. Bien que cela puisse être pratique pour vous si vous êtes oublieux et que vous n'obtenez pas toujours votre mot de passe dès la première ou même la troisième fois, c'est également pratique pour les pirates effectuant des attaques par force brute - cela leur donne un nombre illimité de tentatives de crack votre nom d'utilisateur et votre mot de passe.
Cela peut être facilement résolu en limitant le nombre de tentatives de connexion infructueuses qu'un utilisateur peut effectuer sur votre site. Des plugins gratuits comme WP Limit Login Atempts vous permettent de limiter les tentatives de connexion et de bloquer temporairement les adresses IP.
8. Installez un certificat SSL
L'installation d'un certificat SSL sur votre site est indispensable, surtout si vous avez une boutique de commerce électronique. Non seulement parce qu'il sera difficile pour les pirates d'intercepter des informations sensibles entre les navigateurs des utilisateurs et votre serveur, mais parce que Google insiste désormais pour que tous les sites en aient un.
À partir de juillet 2018 avec la sortie de Chrome 68, les pages Web qui se chargent sans HTTPS seront marquées comme « non sécurisées ». Cela signifie que les utilisateurs qui essaient d'accéder à des sites qui n'ont pas de certificat SSL recevront un avertissement indiquant que le site n'est pas digne de confiance.
Cette annonce est un gros problème car, selon Cloudflare, plus de la moitié des visiteurs Web verront ces avertissements.
Obtenir un certificat SSL devient de plus en plus facile à faire. Let's Encrypt propose des certificats open source gratuits tandis que les sociétés d'hébergement en fourniront généralement un gratuitement (et parfois même gratuitement).
9. Changer le préfixe de la base de données
Par défaut, WordPress utilise wp_ comme préfixe pour toutes les tables de la base de données de votre site. Cela signifie que si vous utilisez la valeur par défaut - qui est une connaissance courante de WordPress - les pirates peuvent facilement deviner le nom de votre table, ce qui la rend vulnérable aux injections SQL.
Un moyen simple de résoudre ce problème est de changer le préfixe en quelque chose d'aléatoire, comme 5jiqtu69dg_
en utilisant un générateur de chaînes aléatoires. Afin de mettre à jour le préfixe de votre table, ouvrez le fichier wp-config.php à la racine du répertoire de fichiers de votre site et trouvez cette ligne :
$table_prefix = 'wp_';
En utilisant mon exemple, vous remplaceriez la ligne comme suit :
$table_prefix = '5jiqtu69dg_' ;
Ensuite, vous devrez mettre à jour le préfixe utilisé dans votre base de données. Alors que les plugins de sécurité comme iThemes Security peuvent vous aider à le faire rapidement et facilement, vous pouvez apprendre à le faire manuellement via phpMyAdmin ici.
10. Protéger les fichiers wp-config.php et .htaccess
Le fichier wp-config.php de votre site, qui se trouve généralement dans le dossier racine de votre site Web, contient des informations essentielles sur votre installation WordPress, notamment le nom, l'hôte, le nom d'utilisateur et le mot de passe de votre base de données. Pendant ce temps, .htaccess est un fichier caché qui définit la configuration du serveur au niveau du répertoire, active de jolis permaliens et autorise les redirections.
Empêcher l'accès à ces fichiers critiques est facile. Ajoutez simplement ce qui suit à votre fichier .htaccess pour protéger wp-config.php :
<Fichiers wp-config.php> commande autoriser, refuser refuser de tous </Fichiers>
Alternativement, vous pouvez simplement déplacer votre fichier wp-config.php dans le répertoire supérieur car WordPress le cherchera automatiquement là-bas.
Pour arrêter l'accès indésirable à .htaccess, tout ce que vous avez à faire est de changer le nom du fichier dans le code :
<Fichiers .htaccess> commande autoriser, refuser refuser de tous </Fichiers>
11. Ajouter des clés de sécurité
Les clés de sécurité et les sels WordPress cryptent les informations stockées dans les cookies du navigateur, protégeant les mots de passe et autres informations sensibles. Il existe quatre clés de sécurité au total : AUTH_KEY
, SECURE_AUTH_KEY
, LOGGED_IN_KEY
et NONCE_KEY
.
Ces clés d'authentification sont essentiellement un ensemble de variables aléatoires et rendent plus difficile le déchiffrage de vos mots de passe. Un mot de passe non crypté comme "wordpress" ne demande pas beaucoup d'efforts aux attaquants pour le casser. Mais un mot de passe long et aléatoire comme "L2(Bpw 6#:S.}tjSKYnrR~.Dys5c>+>2l2YMMSVWno4`!%wz^GOBf};uj*>-tkye" est beaucoup plus difficile à déchiffrer.
L'ajout de clés de sécurité et de sels est un processus manuel et facile à faire. Voici comment procéder :
- Obtenez un nouvel ensemble de clés de sécurité et de sels. Vous pouvez les générer aléatoirement ici.
- Ensuite, mettez à jour votre fichier wp-config.php. Ouvrez votre fichier et faites défiler jusqu'à ce que vous trouviez la section ci-dessous et remplacez les anciennes valeurs par vos nouvelles clés et sels :
/**#@+ * Clés et sels uniques d'authentification. * * Changez-les en différentes phrases uniques ! * Vous pouvez les générer en utilisant le {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} * Vous pouvez les modifier à tout moment pour invalider tous les cookies existants. Cela obligera tous les utilisateurs à se reconnecter. * * @depuis 2.6.0 */ define('AUTH_KEY', 'ajouter des variables uniques ici'); define('SECURE_AUTH_KEY', 'ajouter des variables uniques ici'); define('LOGGED_IN_KEY', 'ajouter des variables uniques ici'); define('NONCE_KEY', 'ajouter des variables uniques ici'); define('AUTH_SALT', 'ajouter des variables uniques ici'); define('SECURE_AUTH_SALT', 'ajouter des variables uniques ici'); define('LOGGED_IN_SALT', 'ajouter des variables uniques ici'); define('NONCE_SALT', 'ajouter des variables uniques ici'); /**#@-*/
- Enregistrez votre fichier wp-config.php. Vous serez automatiquement déconnecté de votre site WordPress et devrez vous reconnecter.
12. Désactiver l'édition de fichiers
WordPress propose un éditeur de code interne pour les fichiers de plugins et de thèmes. Bien que cela soit utile pour les administrateurs qui souhaitent apporter des modifications rapides aux fichiers, cela signifie également que les pirates et les utilisateurs de haut niveau peuvent également apporter des modifications aux fichiers. Vous pouvez trouver cette fonctionnalité en allant dans Apparence > Éditeur dans votre administrateur WordPress.
Vous pouvez désactiver l'édition de fichiers dans votre fichier wp-config.php. Ouvrez simplement votre fichier et ajoutez cette ligne de code :
définir ('DISALLOW_FILE_EDIT', vrai);
Vous pourrez toujours modifier vos plugins et thèmes via FTP ou cPanel, mais pas dans l'administrateur WordPress.
13. Empêcher l'exécution des fichiers PHP
Un dossier commun pour les pirates pour télécharger des logiciels malveillants dans WordPress est wp-content/uploads, mais aussi wp-includes/ . Pour empêcher l'exécution de fichiers dans ces dossiers, créez un nouveau fichier texte dans un éditeur de texte et collez-y ce code :
<Fichiers *.php> refuser de tous </Fichiers>
Ensuite, enregistrez ce fichier sous .htaccess et téléchargez-le à la fois dans vos dossiers /wp-content/uploads et wp-includes/ via FTP ou cPanel.
14. Désactiver XML-RPC sélectivement
XML-RPC, ou XML Remote Procedure Call, est une API qui permet de connecter des applications Web et mobiles à votre site WordPress. Il a été activé par défaut dans WordPress 3.5, mais il a depuis été constaté qu'il amplifiait considérablement les attaques par force brute.
Par exemple, si un pirate voulait essayer 500 mots de passe différents sur votre site, il devrait généralement faire 500 tentatives de connexion distinctes. Mais avec XML-RPC, le pirate pourrait utiliser la fonction system.multicall
pour essayer un grand nombre de combinaisons de noms d'utilisateur et de mots de passe dans une seule requête HTTP.
Bien qu'il soit facile de désactiver complètement cette fonctionnalité pour votre site, cela signifierait la perte de fonctionnalités pour des plugins comme Jetpack. Au lieu de cela, il est préférable de sélectionner la manière dont vous implémentez et désactivez XML-RPC à l'aide de plugins spécialement conçus.
Bonus : Comment vérifier les vulnérabilités
Vous pouvez vérifier les vulnérabilités de votre site de différentes manières : avec un scanner de site en ligne ou avec un plugin.
Avec ces outils en ligne gratuits, il vous suffit d'entrer l'URL de votre site et ils commenceront à analyser votre site à la recherche de vulnérabilités connues :
WordPress Security Scan – Cet outil vérifie passivement les problèmes de sécurité de base. Vous devrez passer à un plan premium pour des tests avancés.
Sucuri SiteCheck - Vérifiez votre site Web pour détecter les logiciels malveillants connus, l'état de la liste noire, les erreurs de site Web et les logiciels obsolètes. Avec une mise à niveau premium, cet outil effectuera le nettoyage des logiciels malveillants, la protection contre les attaques DDoS/force brute, la suppression de la liste noire et la surveillance de la sécurité.
WPScan – Ce scanner de vulnérabilité WordPress boîte noire hébergé sur GitHub vous permet d'analyser votre site à la recherche de vulnérabilités connues avec le noyau, les plugins et les thèmes. Vous devrez utiliser le Terminal pour exécuter cette application. C'est gratuit pour un usage personnel et sponsorisé par Sucuri.
Bonus : Meilleurs plugins de sécurité WordPress
L'installation d'un plugin de sécurité sur votre site WordPress ajoute une autre ligne de défense contre d'éventuelles attaques. Ils offrent un large éventail de fonctionnalités pour aider à sécuriser votre site - y compris des analyses de site - et peuvent vous avertir lorsque votre site a été compromis.
Voici les 3 meilleurs plugins :
Clôture des mots
WordFence est un plugin de sécurité gratuit extrêmement populaire avec plus de 2 millions d'installations actives et une option premium disponible. Il comporte un «Threat Defense Feed» qui extrait les dernières règles de pare-feu, les signatures de logiciels malveillants et les adresses IP malveillantes, en conservant votre site Web.
Un pare-feu d'application Web identifie et bloque le trafic malveillant, tandis qu'une liste noire d'adresses IP en temps réel bloque toutes les requêtes provenant d'adresses IP malveillantes, protégeant ainsi votre site tout en réduisant la charge.
Ce plugin protège contre les attaques par force brute en limitant les tentatives de connexion, en appliquant des mots de passe forts et d'autres mesures de sécurité de connexion. S'il trouve un type d'infection sur votre site, il vous en informera par e-mail. Vous pouvez également surveiller le trafic vers votre site en temps réel pour vérifier s'il est attaqué.
Sucuri
Pour un plugin de sécurité gratuit, le plugin de sécurité de Sucuri fournit un ensemble complet de fonctionnalités, y compris l'audit des activités de sécurité afin que vous puissiez garder un œil sur toutes les modifications apportées à votre site, la surveillance de l'intégrité des fichiers, l'analyse des logiciels malveillants à distance, la surveillance de la liste noire et les mesures de renforcement de la sécurité.
Une section "actions de sécurité post-piratage" du plugin vous guide à travers les trois choses clés que vous devez faire après un compromis. Vous pouvez également activer les notifications de sécurité. Ainsi, lorsqu'une infection est détectée sur votre site ou qu'il est compromis, vous serez immédiatement alerté.
Lorsque vous effectuez une mise à niveau vers la version premium, vous avez accès à un pare-feu de site Web pour une protection supplémentaire.
Sécurité iThèmes
Alors que la version gratuite d'iThemes Security permet de verrouiller WordPress, de corriger les failles courantes et de renforcer les informations d'identification des utilisateurs, la version pro propose à peu près toutes les mesures de sécurité dont vous pourriez avoir besoin.
Il existe une authentification à deux facteurs, une planification de l'analyse des logiciels malveillants et une journalisation des actions de l'utilisateur afin que vous puissiez suivre le moment où les utilisateurs éditent du contenu, se connectent ou se déconnectent. Vous pouvez mettre à jour les clés de sécurité et les sels, définir l'expiration du mot de passe et ajouter Google reCAPTCHA à votre site.
Les autres fonctionnalités incluent la comparaison de fichiers en ligne, l'intégration WP-CLI et l'élévation temporaire des privilèges afin que vous puissiez accorder un accès temporaire d'administrateur ou d'éditeur à votre site.
Conclusion
Il n'y a pas de bonne façon de protéger votre site WordPress contre les menaces de sécurité. Le mieux que vous puissiez faire est de maintenir à jour le noyau, les thèmes et les plugins de WordPress et de mettre en œuvre un certain nombre de solutions différentes qui corrigent les vulnérabilités, protègent les fichiers critiques et obligent les utilisateurs à renforcer leurs informations d'identification.
La planification de sauvegardes régulières est également indispensable. Vous ne savez jamais quand votre site pourrait succomber à une attaque, il est donc important que vous soyez prêt et que vous ayez un plan en place pour restaurer rapidement votre site en cas d'urgence.
Investir dans un plug-in de sécurité solide qui vous permet d'analyser votre site à la recherche de vulnérabilités, de surveiller les actions et de vous alerter lorsque quelque chose ne va pas contribuera également à renforcer votre site et à garantir qu'il est bien protégé contre les menaces.