WordPress est un des logiciels open source les plus utilisés au monde. Par conséquent il est important d’être vigilent et de le protéger le mieux possible.
Un pirate peut se servir de données comme il le veut ! Sachez que WordPress est l’un des systèmes de gestion de contenu les plus populaires au monde ! Il a été installé plus de 76,5 millions de fois.
LES SOLUTIONS ESSENTIELLES DE SÉCURITÉ POUR VOTRE SITE WORDPRESS
1. Gardez votre WordPress mis à jour
Ceci va vous permettre de sécuriser WordPress efficacement, croyez moi ! Et oui, cela semble simple, mais seulement 22% des sites sous WordPress utilisent la dernière version ! Entre nous, qui n’a jamais eu la paresse de ne pas mettre à jour son site ? Si vous voulez avoir un site Web propre et sans virus, c’est obligatoire !
WordPress a incorporé la mise à jour automatique dans la version 3.7, cependant, elle ne fonctionne que pour les petites mises à jour de sécurité. Ainsi, les mises à jour majeures doivent être effectuées manuellement pour sécuriser WordPress !
2. Utilisez des informations de connexion moins communes
Utilisez-vous admin comme nom d’utilisateur administrateur WordPress ? Si votre réponse est oui, sachez qu’il sera plus simple de vous pirater. Alors modifiez maintenant le nom d’utilisateur ! (lisez ce guide -en anglais- si vous ne savez pas comment faire) Vous pouvez aussi créer un nouveau compte Administrateur avec un nom d’utilisateur différent et supprimer l’ancien. Si vous préférez la cette méthode, suivez ces étapes simples :
- Accédez au tableau de bord WordPress
- Accédez à la section Utilisateurs et appuyez sur Ajouter.
- Créez un nouvel utilisateur et attribuez-lui un rôle Administrateur.
- Re-login à WordPress avec votre nouveau nom d’utilisateur.
- Revenez à la section Utilisateurs et supprimez l’utilisateur Admin.
Un bon mot de passe est la clé de voûte pour sécuriser WordPress efficacement. Il est beaucoup plus difficile de forcer un mot de passe composé de chiffres, de lettres majuscules et minuscules et de caractères spéciaux. Des outils comme LastPass et 1Password peuvent vous aider à créer et surtout à gérer des mots de passe complexes !
3. Activation de l’authentification en deux étapes
La validation en deux étapes vous permet de sécuriser WordPress au mieux. Comme son nom l’indique, il ajoute une autre étape que vous devrez remplir pour vous connecter. Il est fort probable que vous l’utilisiez déjà pour accéder à vos mails, à votre banque ou à tout autre compte contenant des informations sensibles. Alors pourquoi ne pas l’utiliser sur WordPress?
Bien que cela puisse sembler compliqué, il existe aujourd’hui des solutions simples pour utiliser cette vérification en deux étapes. Tout ce que vous avez besoin de faire est d’installer une application d’authentification en 2 étapes (sur votre téléphone par exemple) et de configurer WordPress. Vous trouverez un guide détaillé sur l’activation de l’authentification en deux étapes WordPress ici -en anglais-.
4. Désactivation des rapports d’erreurs PHP
Les rapports d’erreur de PHP peuvent être utiles si êtes développeur Web et que vous voulez vous assurer que tout fonctionne correctement. Cependant, montrer les erreurs publiquement est une faille de sécurité majeure !
Vous devez corriger cela dès que possible ! Rassurez vous, vous n’avez pas besoin d’être un codeur pour désactiver les rapports d’erreurs PHP pour WordPress ! De nombreux fournisseurs d’hébergement vous proposeront de désactiver les rapports d’erreurs dans le panneau de contrôle. S’il ne le vous proposent pas, ajoutez simplement les lignes suivantes à votre fichier wp-config.php. Vous pouvez utiliser votre client FTP ou le Gestionnaire de fichiers -en anglais- pour éditer wp-config.php.
error_reporting(0); @ini_set(‘display_errors’, 0);
C’est tout ! Les rapports d’erreur sont maintenant désactivés
5. N’utilisez pas d’extensions WordPress crackées
« Si c’est gratuit, vous êtes le produit » Il en va de même pour une majorité de logiciels pirates ! Si vous voulez sécuriser WordPress et l’utiliser notamment à des fins professionnelles, utilisez ce qui est payant !
Il y a des milliers de plugins et de thèmes pirates sur Internet. Les utilisateurs peuvent les télécharger gratuitement à partir de divers sites de Warez ou de torrent. Malheureusement, la plupart d’entre eux sont infectés par des liens malveillants ou du blackhat SEO.
Si vous voulez un site sain, arrêtez de télécharger des extensions crackées car vous finirez par payer plus pour qu’un développeur chevronné nettoie votre site web !
6. Scannez WordPress avec un anti-virus
Les pirates utilisent souvent des failles dans les thèmes ou les plugins afin d’infecter WordPress avec des logiciels malveillants. Par conséquent, il est crucial de scanner votre blog fréquemment pour sécuriser WordPress ! Il existe de nombreux plugins extrêmement bien codés pour cet usage ! WordFence est le plugin qui se démarque. Il est simple d’utilisation et complet ! Il offre des options de balayage manuel et automatique ainsi que de nombreux réglages différents. Vous pouvez même restaurer des fichiers modifiés / infectés en quelques clics . Et en plus de cela, il est gratuit et open source. Alors, empressez vous d’installer ce plugin !
D’autres plugins de sécurité WordPress populaires:
- BulletProof Security – à la différence de WordFence, que nous avons décrit précédemment, BulletProof n’analysera pas vos fichiers, mais il vous fournira principalement un pare-feu et une sécurité supplémentaire pour la base de données. Ce qui est bien avec ce plugin c’est qu’il sera configuré et installé en quelques clics seulement !
- Sucuri Security – ce plugin vous protégera des attaques DDoS, il tiendra une liste noire, analysera votre site Web et contrôlera votre pare-feu. S’il détecte quelque chose, il vous en informera par courrier électronique. Google, Norton, McAfee – tous ces moteurs sont inclus dans ce plugin pour vous permettre une sécurité maximale.
7. Migrez votre site WordPress vers un hébergement plus sécurisé
Cela peut sembler être un conseil étrange, mais les statistiques montrent que plus de 40% des sites WordPress ont été piratés en raison de failles de sécurité dans les comptes d’hébergement même ! C’est un donc un conseil là aussi très important si vous voulez sécuriser WordPress ! Cette statistique devrait vous faire reconsidérer votre choix d’hébergement actuel et vous faire migrer votre site WordPress vers un hébergement plus sécurisé. Quelques faits clés sont à prendre en compte lors de la recherche d’un nouvel hébergement:
- S’il s’agit d’un hébergement mutualisé, assurez-vous que votre compte soit isolé des autres utilisateurs et qu’il n’y a aucun risque qu’un seul des sites Web infecte tous les autres sur le serveur.
- Il doit faire des sauvegardes automatiques.
- Il doit disposer d’un pare-feu côté serveur (server side) et d’un antivirus.
8. Sauvegardez aussi souvent que possible
Même les plus grands sites Web sont piratés chaque jour malgré le fait que leurs propriétaires dépensent des milliers pour sécuriser WordPress.
Même si vous avez de bonnes habitudes et remplissez les autres conseils de cet article, il est toujours crucial de sauvegarder votre site régulièrement.
Il existe plusieurs façons de créer une sauvegarde. Par exemple, vous pouvez télécharger manuellement les fichiers WordPress et exporter la base de données ou utiliser l’outil de sauvegarde de votre hébergeur. Mais vous pouvez aussi utiliser des plugins de sauvegarde. Les plugins de sauvegarde WordPress les plus populaires sont :
Vous pouvez même automatiser le processus de sauvegarde et stocker vos sauvegardes WordPress dans Dropbox -en anglais-.
9. Désactivation de l’édition de fichier
Comme vous le savez peut-être, WordPress a un éditeur de fichiers incorporé qui permet l’édition de fichiers PHP. Bien que cette fonctionnalité soit très utile pour les développeurs, elle peut aussi être fatale ! Si l’attaquant obtient l’accès à votre tableau d’administration, la première chose qu’il recherchera est ce même éditeur. Il saccagera tous vos fichiers et c’en sera fini avec votre site. Certaines personnes (comme nous) désactivent complètement cette fonctionnalité pour sécuriser WordPress. Elle peut être désactivée en éditant le fichier wp-config.php et en incluant la ligne de code suivante:
define( 'DISALLOW_FILE_EDIT', true )
Oui, comme vous le voyez, avec juste quelques lignes de code, on peut mieux sécuriser WordPress !
IMPORTANT Si vous souhaitez réactiver cette fonctionnalité, utilisez votre client FTP ou le gestionnaire de fichiers de votre hébergeur et supprimez ce même code du fichier wp-config.php.
10. Supprimez les thèmes et plugins inutilisés
Pour avoir une meilleure sécurité sur WordPress, effectuez un nettoyage de votre site WordPress et supprimez tous les plugins et thèmes inutilisés. Les pirates cherchent souvent des thèmes et des plugins désactivés et obsolètes (même officiels !) et ils les utilisent pour accéder à votre tableau de bord ou envoyer des fichiers malveillants sur votre serveur. En supprimant les plugins et les thèmes que vous avez cessé d’utiliser (et avez peut-être oublié de mettre à jour), vous réduirez le risque de piratage de WordPress.
11. Utilisez le htaccess à son plein potentiel
Le fichier .htaccess est nécessaire pour que les liens WordPress fonctionnent correctement. Sans règles correctes dans ce même fichier .htaccess, vous obtiendriez beaucoup d’erreurs 404. Cela peut sembler compliqué, je vous l’avoue. Mais rassurez-vous, tout a été fait pour vous !
Peu d’utilisateurs savent que .htaccess peut être utilisé pour sécuriser WordPress. Par exemple, avec .htaccess, vous pouvez bloquer l’accès de PHP à des dossiers spécifiques. Les exemples ci-dessous montrent comment utiliser .htaccess pour sécuriser WordPress
IMPORTANT Avant d’apporter des modifications, il est fortement recommandé de sauvegarder le fichier .htaccess et d’en garder une copie, au cas où. Vous pouvez utiliser votre client FTP ou le Gestionnaire de fichiers -en anglais- pour cela.
Interdire l’accès à la zone Administrateur WordPress
Le code ci-dessous permettra d’autoriser l’accès à la zone d’administration à certaines adresses IP seulement (la vôtre ?).
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all allow from xx.xx.xx.xxx allow from xx.xx.xx.xxx </LIMIT>
Vous devez modifier XX.XX.XX.XXX et le remplacer par votre adresse IP. Vous pouvez utiliser ce site Web pour connaître votre IP actuelle. Si vous utilisez plus d’une connexion pour gérer votre site WordPress, assurez-vous d’inclure toutes les autres IP que vous utilisez (n’hésitez pas à ajouter autant de lignes que vous le souhaitez). Par contre n’utilisez pas ce code si vous avez une adresse IP dynamique.
Désactivation de l’exécution de PHP dans certains dossiers
Les pirates aiment télécharger des scripts backdoor vers le dossier de téléchargement de WordPress. Par défaut, ce dossier est utilisé pour télécharger des fichiers multimédias uniquement. Ainsi, il ne devrait pas contenir de fichiers PHP. Vous pouvez facilement désactiver l’exécution de PHP en créant un nouveau fichier .htaccess dans /wp-content/uploads/ avec ces règles:
<files *.php> deny from all </files>
Protéger le fichier wp-config.php
Le fichier wp-config.php contient les paramètres de base de WordPress et les détails de la base de données MySQL. C’est donc le fichier WordPress le plus important. C’est pourquoi il est la cible principale de tous les pirates WordPress. Toutefois, vous pouvez facilement protéger ce fichier en utilisant les règles .htaccess:
<files wp-config.php> order allow,deny deny from all </files>
Avec ces quelques lignes vous venez d’améliorer significativement la sécurité de WordPress !
12. Modifiez le préfixe de base de données WordPress par défaut pour éviter les injections SQL
La base de données SQL contient et stocke toutes les informations nécessaires à votre site pour fonctionner. En conséquence, il devient une cible de choix pour les pirates informatiques et les spammeurs qui exécutent alors un code automatisé et effectuent des injections SQL. Lors de l’installation de WordPress, la plupart des gens ne prennent pas la peine de changer le préfixe de base de données par défaut qui est wp_ . Selon WordFence , 1 sur 5 cas de piratage de WordPress est dû à des injections SQL. Puisque wp_ est le paramètre par défaut, les pirates choisiront de cibler cette valeur en premier. Dans cette étape, nous vous expliquerons brièvement comment vous pouvez sécuriser WordPress contre de telles attaques.
Modification du préfixe de table pour un site WordPress existant
IMPORTANT! Puisque l’on parle de sécurité WordPress, assurez-vous de sauvegarder votre base de données MySQL -en anglais- avant de continuer.
Partie 1 – Changement de préfixe grâce à wp-config.php
En utilisant votre client FTP ou le Gestionnaire de fichiers -en anglais- ouvrez votre wp-config.php et cherchez la valeur $table_prefix .
Vous pouvez ajouter des chiffres, des lettres ou des tirets. Enregistrez vos modifications et passez à l’étape suivante. Dans ce tutoriel, nous utiliserons wp_1securite2_ comme nouveau préfixe de table.
Dans votre fichier wp-config.php , cherchez également votre nom de base de données, afin que vous sachiez quelle base de données vous devez modifier. define(‘DB_NAME’
Partie 2 – Mise à jour de toutes les tables de base de données
Maintenant, vous devrez mettre à jour toutes les entrées de votre base de données pour sécuriser WordPress. Pour ce faire nous utiliserons phpMyAdmin !
Accédez à celle-ci à la base de données que vous avez cherché dans la partie 1.
Une installation de WordPress classique a 12 tables. Chacune doit être mise à jour. Sachez que vous pouvez le faire rapidement dans la section SQL de phpMyadmin.
Nous utiliserons des requêtes SQL pour accélérer le processus. Effectivement vous comme moi n’avons pas envie de passer des heures à mettre à jour les tables manuellement ! Utilisez la syntaxe suivante pour mettre à jour toutes les tables de votre base de données.
RENAME table `wp_commentmeta` TO `wp_1securite2_commentmeta`; RENAME table `wp_comments` TO `wp_1securite2_comments`; RENAME table `wp_links` TO `wp_1securite2_links`; RENAME table `wp_options` TO `wp_1securite2_options`; RENAME table `wp_postmeta` TO `wp_1securite2_postmeta`; RENAME table `wp_posts` TO `wp_1securite2_posts`; RENAME table `wp_terms` TO `wp_1securite2_terms`; RENAME table `wp_termmeta` TO `wp_1securite2_termmeta`; RENAME table `wp_term_relationships` TO `wp_1securite2_term_relationships`; RENAME table `wp_term_taxonomy` TO `wp_1securite2_term_taxonomy`; RENAME table `wp_usermeta` TO `wp_1securite2_usermeta`; RENAME table `wp_users` TO `wp_1securite2_users`;
Il est possible que certains thèmes ou plug-ins WordPress créent des tables supplémentaires dans la base de données. Dans le cas où vous avez plus de 12 tables dans votre base de données MySQL, ajoutez le reste aux requêtes SQL manuellement et exécutez-les.
Par exemple :
RENAME table `wp_tabledevotreplugin` TO `wp_1securite2_tabledevotreplugin`;
Où vous remplacerez tabledevotreplugin par… la table créée par celui-ci !
Partie 3 – Options de vérification et tables usermeta
Selon le nombre et le type de plug-ins installés, certaines valeurs de votre base de données devront être mises à jour manuellement. Pour cela vous devrez exécuter des requêtes SQL pour chercher ces valeurs dans la table wp_1securite2_options et la table wp_1securite2_usermeta .
Pour la table des options , vous devrez exécuter :
SELECT * FROM `wp_1securite2_options` WHERE `option_name` LIKE '%wp_%';
Pour la table usermeta , vous devrez exécuter :
SELECT * FROM `wp_1securite2_usermeta` WHERE `meta_key` LIKE '%wp_%'
Quand vous avez obtenu les résultats de la requête SQL, il vous suffit simplement de mettre à jour toutes les valeurs de wp_ à wp_1securite2_ (dans notre exemple) et ce sera terminé. Dans la table usermeta , vous devrez modifier la valeur meta_key , tandis que dans options , la valeur option_name devra être modifiée.
Modification du préfixe de table pour un nouveau site WordPress
Si vous prévoyez d’installer de nouveaux sites sous WordPress, il ne sera pas nécessaire d’effectuer ce fastidieux processus. Vous pourrez tout simplement modifier votre préfixe de table pour sécuriser WordPress pendant l’installation :
Toutes nos félicitations ! Vous avez réussi à augmenter la sécurité de la base de données WordPress !