5 plugins et astuces pour sécuriser Wordpress
Posté par jbj le 21 mai 2008 dans Wordpress • 30 commentairesPour les webmasters, la peur de se faire hacker est souvent grande, et plus un site est populaire, plus il s'expose à diverses tentatives de piratage. Voici 5 astuces et plugins qui vous permettrons de sécuriser au maximum votre installation de Wordpress, car mieux vaut prévenir que guérir!
1 - Dumper votre base de données avec WP-database backup
Voici le premier conseil que je donnerais à qui que ce soit en matière de sécurité des données sur un site web: Faites des sauvegardes, et faites en souvent. Bien sur, vous avez la possibilité de passer par le phpMyAdmin de votre hébergeur, ou de faire un dump en ligne de commande si vous avez un accès ssh à votre serveur, mais ce petit plugin vous simplifiera énormément la tâche: Il vous suffira de vous rendre dans votre administration Wordpress.
A noter, WP-Database Backup offre la possibilité de vous mailer quotidiennement une sauvegarde de votre base de données. Un must!
2 - Scanner son installation Wordpress à la recherche de failles
Nous avons maintenant de quoi sauvegarder notre chère base de données de manière quotidienne. La prochaine étape consiste à scanner notre installation Wordpress, histoire de vérifier qu'aucune faille de sécurité n'est présente. Pour cela, nous allons utiliser l'excellent plugin WP Security Scan qui va nous permettre de repérer les vulnérabilités présentes sur notre blog et nous proposera une solution pour régler ces problèmes. Cet excellent plugin permet entre autres de renommer les préfixes de tables, de tester votre mot de passe, de supprimmer le compte admin et de vérifier que les répertoires de votre blog ont bien les droits (chmod) nécessaires.

3 - Se protéger de la force brute
La force brute est une technique de hack consistant à essayer le maximum de combinaisons possibles dans le but de trouver un mot de passe. Il existe même un script Python servant à tenter de découvrir le mot de passe d'un blog tournant sous Wordpress.
Il va sans dire que si votre mot de passe est le nom de votre blog où un truc du style "secret", vous êtes cuits. La première des protections est donc d'utiliser un mot de passe costaud, avec des minuscules, majuscules, chiffres et caractères spéciaux. Vous pouvez d'ailleurs faire confiance au générateur de mot de passe inclus dans WP Security Scan.
Mais le fait d'avoir un mot de passe fort n'empêche en rien les scripts comme celui dont je parlais à l'instant, de tenter de trouver votre mot de passe, et qui sait, peut-être un jour de le découvrir.
La solution pour repousser ce genre d'envahisseur indiscret se nomme Ask Apache. Ce plugin propose, entre autres, de protéger votre répertoire wp-admin par une authentification au niveau du serveur (htpasswd).
Notons aussi la possibilité d'interdire le hotlinking, ou encore l'accès direct à vos répertoires wp-content et wp-includes...

4 - Se méfier des plugins
Les plugins, surtout les méconnus ou extrêmement récents, peuvent parfois malheureusement contenir des failles de sécurité. Pour celà, il est nécessaire de masquer le contenu du répertoire /wp-content/plugins. Il suffira ici de créer un fichier vide nommé index.html et de l'uploader à la racine ce répertoire.
Depuis le temps qu ce genre de déconvenue est connue, je m'étonne que Wordpress ne masque toujours pas le contenu de ce dossier par défaut...

5 - Masquer la version de Wordpress utilisée
Si une faille existe dans une version particulière de WP, un éventuel pirate n'aura qu'a afficher la source de votre blog dans son navigateur et regarder si la version que vous utilisée corresponds à celle incriminée: En laissant le meta version, vous indiquerez clairement au pirate que vous êtes potentiellement vulnérables. Il suffit simplement de supprimer la ligne correspondante dans le fichier header.php de votre thème.
De même, il existe aussi un plugin capable de mettre un numéro de version aléatoire et complètement bidon, pour tromper les curieux.







Excellent article ! Et bien je sais ce qu’il me reste à faire
On est jamais assez prudent ni trop parano
en tout cas merci pour ton compliment, ravi que cet article t’ai plu!
Salut =)
Excellent article, mais j’ai cependant une petite question (remarque ?) concernant la dernier point.
Je crois que des services tels que Technorati utilise la meta version (dans quel but, je n’en sais rien =p). Le fait d’enlever ou de falsifier cette information ne risque-il pas d’attirer les foudres de Technorati (ou autre) sur notre blog ?
De plus, si une faille existe sur une certaine version de WP, alors pourquoi ne pas passer à la dernière version ? =P
Salut Kevin et merci pour ta remarque intéressante!
Pour ce qui est de technorati, je n’en sais rien du tout, à vérifier, donc. J’ai toutefois pas l’impression d’avoir de problèmes avec eux, sachant que ça fait bien 6 mois que j’ai viré cette meta.
Pour ton second points, nous sommes d’accords: Avoir une version à jour est un très bon gage de sécurité. Malheureusement, il me semble que de nombreux blogs WP ne sont jamais ou rarement mis à jour.
5 plugins et astuces pour sécuriser Wordpress…
Pour les webmasters, la peur de se faire hacker est souvent grande, et plus un site est populaire, plus il s’expose à diverses tentatives de piratage. Voici 5 astuces et plugins qui vous permettrons de sécuriser au maximum votre installation de Wor…
Arf pas de chance les 2 plugins de sécurité (point 2 et 3) ne fonctionne pas : une fois activés ils me font planter ma base de données et rend impossible l’accès à mon site. Peut-être un problème de compatibilité avec mon serveur…j’en sais rien en fait
Si d’autres ont des problèmes avec alors ils ne sont pas les seuls
Bizarre, je les utilise tous les deux sans aucun problème…Tu pourrais m’en dire plus? genre ton hébergeur, type de serveur, etc?
Mon hébergeur est : Kreativ Media et le type de serveur selon le site officiel c’est : LAMP (Linux, Apache, MySQL et PHP).
En fait, dès que j’active les plugins le site n’arrive pas à se charger. Au bout d’un moment, j’ai une erreur classique WordPress, « error establishing database ».
Voila j’en sais pas plus.
A mon avis le(s) plugin fait trop de requete et ta base aime pas ça…Pour le security scan je veux bien comprendre, mais pour le AskApache, ça m’étonne un peu qu’il fasse tant de requetes que ça…Mystère pour le moment.
Oui c’est ça j’ai eu un message à un moment « Too many connections » après activation du Security Scan.
Merci de ton aide !
Je regarderai plus en détails dès demain.
Ouais c’est chiant ça, ça arrive assez souvent si tu as pas mal de traffic chez un hébergeur bon marché…Tu devrais faire des test en activant les plugins un par un pour commencer. Après, faudrais peut etre voir s’il est possible de modifier la conf php afin d’autoriser plus de connections simultanées (Je pense pas, mais ça ne coute rien de se renseigner
)
Merci pour ce billet
Juste une petite remarque concernant le dernier point, le plugin WP Security Scan s’en charge aussi de masquer la version de WordPress.
Sur la page du plugin sur mon tableau de bord, ce message est affiché : « Your WordPress version is successfully hidden »
A +
Salut Nabil et merci pour cette précision, en effet je n’étais pas au courant!
[...] Lire l’article de JBJ [...]
J’ai fait un lien, merci pour le plugins de scan très utile
Merci pour ton lien
j’ai lu un article dans lequel on conseillait de ne pas utiliser le préfixe par défaut pour les tables de la base de données.
merci pour les liens !!
Oui, ça permet de se prémunir un peu plus des injections sql, donc c’est à considérer
Merci, j’avais tout sauf WP Security Scan
Je reviens pour vous poser une question à propos de WP-database backup :
Je ne sais pas pour quoi je ne reçois pas les backup quotidiens de ma bdd ? Avez vous une idée ?
Pour info, j’utilise les dernières version de Wordpress et de WP-database backup.
Salut Nabil, perso je préfère faire mes backups manuellement. Pour l’envoi par mail, tu dois utiliser « Scheduled backup » (en bas de la page) mettre ton mail et cocher la case qui va bien.
Si c’est ce que tu as fait et que ça ne marche pas, il y a vraisemblablement un problème et je ne saurais t’en dire plus. Peut-être l’auteur du plugin pourrait-il te renseigner?
[...] 5 plugins et astuces pour sécuriser Wordpress (Lyxia, 21/05/08) [...]
Côté backup, il n’y a pas que la base de données à sauvegarder. Les fichiers Wordpress sont aussi important.
En me basant sur le travail de AskApache, j’ai écrit un script de backup. Il n’y a que 3 choses à configurer : le répertoire de wordpress, le répertoire qui contiendra la sauvegarde et l’email à qui envoyer la notification de sauvegarde.
L’article est là :
http://www.tomsquest.com/blog/script-de-sauvegarde-wordpress-et-mysql/
Très intéressant ça Tom, je vais aller regarder ton script et le promouvoir si il me plait (ce dont je ne doute pas)
Si vous souhaitez faire une sauvegarde (PHP + fichier uploads + MySQL) via SSH:
http://www.benjaminbaudouin.com/projets/backupblog/
Merci pour ces infos, très claires.
Pas toujours facile de sécuriser un système comme wordpress, surtout lorsque les mises à jour de certains plugins ne suivent pas d’une version de wordpress à l’autre. :p
WP Security Scan rules, merci pour le tuyau.
[...] 5 plugins et astuces pour sécuriser Wordpress (Lyxia, 21/05/08) [...]
Avec un site récemment hacké, j’ai suivi toutes ces étapes (et j’ai fait de même pour un ami à qui j’ai conseillé WP pour faire un petit site) et j’ai maintenant l’esprit tranquille. Merci !
Bon article.
Personnellement, je trouve que masquer le contenu de /wp-content/plugins, ce n’est pas assez. Ce n’est pas parce que l’on ne peux pas voir ce que le répertoire contient qu’on ne peux pas accéder à son contenu, c’est certes plus difficile mais ça ne résout pas vraiment le problème.
Pour ma part, en modifiant httpd.conf ou via un .htaccess placé dans /wp-content/ je désactive purement et simplement les index :
Options All -Indexes
et je restreint l’accès à tout fichier sensible dans mon wp-content/ (côté client seulement) :
# Protection d’acces aux fichiers sensibles
Order Allow,Deny
Deny from all
à personnaliser ou à compléter évidemment.
Changer le préfixe par défaut est un plus, cette solution vous est proposée dans le plugin WP Security Scan
(Désolé, une partie de la syntaxe Apache est partie)