Comment Sécuriser WordPress

sécuriser WordPress

WordPress est actuellement le système de gestion de contenu (CMS pour Content Management System en anglais) le plus populaire au monde.

Seulement cette notoriété est à double tranchant car elle en fait également de lui la cible privilégiée des pirates.

Voici donc 5 étapes pour sécuriser WordPress et continuer à bloguer dans les conditions optimales de sécurité.

EDIT: Article qui peut ne plus être d’actualité et qui peut nécessité une adaptation suivant contexte.

1. La protection de base pour sécuriser WordPress

Si vous disposez d’un serveur dédié sur lequel est installé votre copie de WordPress, il est préférable de régler quelques détails pour commencer sur une base solide.

Vous pouvez installer l’outil de surveillance réseau Munin :

http://fr.wikipedia.org/wiki/Munin_%28logiciel%29

Ainsi que fail2ban pour sécuriser votre installation :

http://www.commentcamarche.net/faq/18225-utiliser-fail2ban-pour-proteger-votre-application-web

Notez également que WordPress vous invite à utiliser un compte utilisateur normal au lieu du compte root de votre serveur pour des raisons de sécurité évidentes.

Ensuite, que vous disposez d’un serveur dédié ou non, il faut vérifier l’organisation et le contenu de vos répertoires.

Par défaut un internaute peut afficher tout le contenu d’un de vos dossiers.

Par exemple je peux visionner directement dans mon navigateur le contenu de www.site.fr/dossier/

Si ce dossier contient un fichier index.html ou index.php c’est lui qui s’affichera automatiquement en empêchant de lister le contenu du dossier.

Le fait de placer des fichiers index est contraignant surtout lors de la création dynamique de dossiers, d’où la deuxième option, l’utilisation du fichier .htaccess :

Mettez un fichier .htaccess à la racine de votre site ou éditez-le pour y ajouter :

   Options -Indexes
   ErrorDocument 403 http://www.votresite.fr/403.html

« Options -Indexes » indique de ne pas indexer (afficher) le contenu des dossiers. Elle génère donc une erreur 403 Forbidden que vous pouvez personnaliser via un fichier comme 403.html indiqué dans la ligne suivante.

Enfin, renommez éventuellement les dossiers comme admin ou si vous venez d’installer WordPress, renommez les noms de dossiers habituels. Des plugins proposent ces fonctionnalités, nous allons le voir tout de suite.

2. Les plugins WordPress indispensables

Pour commencer, le fameux Wp-Security:

http://wordpress.org/extend/plugins/better-wp-security/ reste en tête des plugins de sécurité utilisés. il combine toutes les techniques de sécurité pour WordPress dans un seul plugin. Pour sécuriser WordPress de façon efficace, ce plugin cache les parties sensibles de votre site en changeant les URLs ou encore en désactivant la possibilité de se connecter pendant une certaine période. Il permet aussi de scanner votre site, de bannir des robots malveillants, de détecter les attaques par force brute, de bannir des IPs…etc.

L’excellent http://wordpress.org/extend/plugins/bulletproof-security/ est une alternative intéressante à tester. Il s’agit également d’une solution « en un clic » qui ajoute des sécurités via le fichier .htaccess. Il permet aussi d’activer un mode maintenance permettant à certaines adresses IP seulement de se connecter et d’accéder au site. Et enfin il aide à sécuriser WordPress contre les failles XSS, RFI, CSRF, injection SQL, et d’autres.

Et enfin, Exploit Scanner permet de scanner votre site à la recherche de problèmes de sécurité. Ce plugin scanne les fichiers de votre site mais aussi les tables de la base de données (articles et commentaires) à la recherche de quelque chose de suspect et vous alerte ensuite.

Les instructions d’installation et d’utilisation pour ces 3 plugins sont toutes fournies et bien détaillées par leurs créateurs.

Attention cependant à ne pas être trop paranoïaque en installant beaucoup de plugins comme ceux-ci car il risque d’y avoir des interférences entre eux.

3. Le facteur humain

Pour sécuriser WordPress, le facteur humain est bien plus important qu’on ne le pense. Et vous avez beau avoir un antivirus et des tonnes de plugins de sécurité, si vous donnez votre mot de passe (indirectement), tout ce que vous aviez fait devient totalement inutile.

Il faut donc être conscient des menaces et des pièges divers du web. Il faut également savoir comment sécuriser son site sans forcément compter sur des plugins.

Et c’est justement le but du site Le Blog Du Hacker. Un utilisateur averti vaut plus que 100 plugins. Et malheureusement bien trop de webmasters négligent encore la sécurité, même dans les écoles d’informatique, c’est souvent une option…

J’incite encore une dernière fois là dessus car je reçois plusieurs mails par semaine me demandant quoi faire lorsqu’un site ou compte a été piraté : Lorsque le mal est fait, il est malheureusement très difficile de le réparer !

4. Mieux vaut prévenir que guérir

Pour enchaîner directement sur ce qui a été dit au point précédent, lorsqu’on parle de sécurité, ce proverbe prend tout son sens. Il vaut mieux se préparer à une attaque que de recoller les données perdues par la suite. Ainsi, faites régulièrement des sauvegardes.

Encore une fois les plugins cités plus haut vous permettront de le faire en un clic, vous pouvez sauvegarder vos bases de données régulièrement.

Sauvegardez également vos mailing listes, vos utilisateurs et tous autres documents importants pour vous et votre site. En cas de pépin vous n’aurez pas trop de problèmes à tout remettre rapidement sur pied, et vous serez bien content d’avoir pris 5 minutes pour éviter le pire. C’est ce qu’on appelle sécuriser WordPress par anticipation.

Pour cela, vous avez aussi des plugins comme BackWPUp et Wp-DBManager.

5. Que faire si mon blog a été piraté ?

C’est trop tard ? Le mal est fait ?

Nous l’avons vu, WordPress est un CMS très populaire et fait donc l’objet d’attaques récurrentes et parfois massives.

Si vous constatez une réelle intrusion ou perte de données, vous pouvez immédiatement passer votre site en mode hors-ligne. Éditez le fichier .htaccess et placez-y le code suivant :

   Allow from VOTRE_IP_PUBLIQUE
   Deny from all

Vous serez le seul à avoir accès à votre site, le temps d’effectuer les étapes de remise en ordre.

Habituellement un piratage est le résultat de plusieurs essais qui peuvent être infructueux et qui peuvent donc avoir été enregistrés.

Avec un serveur Linux, vous pouvez avoir accès à un fichier de log (faites cat /var/log/syslog dans un terminal pour l’afficher) afin d’y trouver des indices éventuels sur le pirate et sa façon de procéder.

La commande cat /var/log/apache2/error.log permet également d’afficher le fichier de logs d’erreurs d’apache.

La commande find . -mtime -1 -print | more permet quant à elle d’afficher les derniers fichiers modifiés (durant les dernières 48h).

N’hésitez pas à utiliser d’autres programmes de sécurité pour votre serveur.

Enfin, des services pour sécuriser WordPress automatiquement voient de plus en plus le jour, permettant de scanner votre site à la recherche de programmes malveillants, comme : http://www.wordfence.com/

Vous pouvez également jeter un œil sur le site de WordPress (en anglais, en attendant que je trouve le lien en français) pour obtenir un rappel et d’autres astuces de sécurité plus détaillées.

Suite de l’article :

Articles similaires

12 Commentaires
Cliquez ici pour ajouter un commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous devez remplir ce champ
Vous devez remplir ce champ
Veuillez saisir une adresse e-mail valide.

Menu