Sécuriser WordPress en 5 étapes
Comment 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 :
- Comment sécuriser un blog
- Sécuriser son site WordPress
- Hack WordPress : comment un Backdoor peut ruiner votre site et comment le détecter
12 Commentaires
Cliquez ici pour ajouter un commentaire
Merci de l’article Michel.
Avec plaisir 😉
Michel, peut-on en allant directement sur une des pages du blog d’un Internaute lambda, faire un clic droit sur « examiner l’élément » et changer quelques mots ?…
On peut le faire, mais rien n’est changé du côté du site. C’est comme si l’on faisait une capture d’écran du site et que l’on éditait l’image (Je simplifie tout de même les choses).
Dans ce cas, comment le faire ?
[…] Sécuriser son site sous WordPress […]
Bonjour,
article intéressant, merci.
Cependant, je souhaite ajouter ma contribution qui permet de détecter les fichiers suspects du wp-upload et de les supprimer.
https://wordpress.org/plugins/scan-upload-par-jm-crea/
Le plugin détecte les fichiers : php, javascript, htaccess, exe, sql, zip, rar, czip, tar.gz
Bonjour et merci 🙂
Bonjour Michel
Merci pour vos conseils, je trouve ces étapes pratiques indispensables pour chaque nouveau blog sous la plateforme WP.
j’aimerais ajouter q q chose, je le vois très important : c’est l’installation des dernières mises à jour WP (pour appliquer les corrections de sécurité).
Cdt
Tout à fait, merci 😉
Bonjour Michel,
vous dites « 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. »
Ma question, peut on installer les 3 plugins en même temps ou faire un choix et n’installer qu’un seul ?
Cordialement
Bonjour Raphy !
C’est une question pertinente. Je veux dire par là que le fait d’installer plusieurs plugins de sécurité peut être contre-productif, au même titre qu’utiliser plusieurs antivirus sur son PC. En effet, les plugins en question ont souvent des fonctionnalités similaires, je pense par exemple aux scans des fichiers ou aux scans des adresses IP des visiteurs. Cela alourdit la charge du serveur, car on va scanner deux fois (ou plus) un même élément.
L’autre risque est celui du conflit entre plugins : l’un peut ne pas être d’accord avec ce que fait l’autre (concernant les scans par exemple).
En somme, l’idée est d’installer des plugins qui ont des fonctionnalités différentes, ou alors de garder celui qui est le plus complet, ou adapté.
Cordialement