Sécuriser son site WordPress
WordPress est un système de gestion de contenu (CMS) parmi les plus populaires au monde.
Il permet de créer facilement et rapidement des sites web performants. Seulement un site web doit également être sécurisé. Sachez que les défaillances de sécurité qui rendaient hier l’entreprise victime en cas d’intrusion ou de dysfonctionnement de son traitement automatisé de données, peuvent désormais la rendre responsable, voire coupable.
Je cite l’article 34 de la loi Informatique et Libertés du 6 janvier 1978 :
« Le responsable du traitement est tenu de prendre toutes précautions utiles, au regard de la nature des données et des risques présentés par le traitement, pour préserver la sécurité des données et, notamment, empêcher qu’elles soient déformées, endommagées, ou que des tiers non autorisés y aient accès. »
On a donc tout intérêt à sécuriser notre site web, et voici comment.
EDIT: Cet article n’est donné qu’à titre indicatif : les liens externes et conseils donnés peuvent varier/expirer dans le temps. Il convient de les adapter à chaque situation. Vous pouvez vous rendre sur Cyberini.com pour accéder au cours complet et à jour sur les failles web si besoin.
Garder WordPress à jour
WordPress est populaire, le nombre d’utilisateurs conséquent implique un nombre de pirates conséquent, à l’affut de la moindre mise à jour oubliée pour exploiter d’éventuels bugs de sécurité.
Il est donc impératif d’effectuer les mises à jour le plus vite possible via votre panneau d’administration.
Les mises à jours sont indiquées directement dès leurs sorties, et cela va de même pour les plugins. N’oubliez pas de mettre à jour vos plugins, ils sont souvent la source d’un piratage réussi.
Sauvegarder régulièrement la base de données et les fichiers
En cas de problème, vous pourrez toujours retrouver vos fichiers et bases de données si déjà vous les aviez sauvegardés auparavant.
Pour sauvegarder la base de données, vous pouvez l’effectuer en ligne de commande, via votre interface d’administration type phpmyadmin, ou via un plugin prévu pour : BackWPup.
Changer l’identifiant
Pour des raisons de sécurité il n’est pas conseillé de garder l’identifiant par défaut « admin ».
Cette étape est assez technique à réaliser seul, vous pouvez donc utiliser l’excellent plugin dont nous reparlerons plus tard : http://wordpress.org/extend/plugins/better-wp-security/
Protéger le serveur
Pour bien sécuriser son site WordPress, il faut également penser au serveur.
Supprimez le fichier readme.html installé à la racine de votre installation qui contient la version de WordPress.
N’oubliez pas de modifier les lignes suivantes de votre fichier wp-config.php :
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here');
Cachez le contenu de vos répertoires :
Créez ou modifiez le fichier .htaccess à la racine de votre installation et placez y la ligne suivante :
Options All -Indexes
Sécurisez vos fichiers importants:
Placez dans le même fichier .htaccess le code suivant :
<Files wp-config.php> order allow,deny deny from all </Files> <Files .htaccess> order allow,deny deny from all </Files>
Qui permettra de restreindre l’accès à wp-config.php donc à votre mot de passe de base de données, ainsi qu’au fichier .htaccess lui-même.
Utiliser HTTPS
HTTPS permet de crypter les données transmises entre un client et un serveur.
Lorsque ces données ne sont pas cryptées et sont récupérées à la volée, je ne vous décris pas le problème qu’il peut se passer s’il s’agit du mot de passe administrateur.
Vous devez d’abord activer le module ssl de apache :
sudo a2enmod ssl
Ensuite créez un nouveau fichier dans le répertoire sites-available que vous nommerez « nomsite-ssl »
Placez dans ce fichier :
<VirtualHost *:443> ServerName www.votresite.fr ServerAlias votresite.fr DocumentRoot /var/www/votredossier/ SSLEngine on SSLCertificateFile /etc/apache2/server.crt SSLCertificateKeyFile /etc/apache2/server.key </VirtualHost>
Il reste à générer les fichiers de certificat :
sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key
Faites attention lorsqu’on vous demande le « Common Name », il s’agit de votre nom de domaine.
Enfin activez le site avec :
sudo a2ensite nomsite-ssl
et redémarrez apache :
service apache2 reload
Plus d’informations ici : http://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl
Une fois cela fait, téléchargez le plugin suivant : http://wordpress.org/plugins/wordpress-https/
Cochez les deux premières cases, cliquez sur Save Changes, et votre site sera maintenant en https pour tout ce qui est administration dont la connexion à votre compte administrateur.
Installer les plugins de sécurité indispensables
Le plugin Better Wp Security est très efficace pour automatiser certaines tâches que nous avons vues. Il permet de sécuriser son site WordPress à l’aide d’une tonne d’options.
Hide My WP protège votre site en cachant les fichiers et dossiers sensibles.
Le plugin Baw anti Csrf quant à lui vous protège des attaques par CSRF.
Rester vigilant encore et toujours !
Un mot de passe compliqué en vaut 10 simples.
N’utilisez pas ce même mot de passe pour plusieurs sites/services différents.
Ne cliquez pas sur des offres trop alléchantes, encore moins si on vous demande votre mot de passe.
Évitez de vous connecter sur un ordinateur qui ne vous appartient pas, car même en HTTPS vous n’êtes pas à l’abri des keyloggers.
Lisez cet article : VOUS êtes la faille : Le Social Engineering (ou Ingénierie sociale en français)
7 Commentaires
Cliquez ici pour ajouter un commentaire
Bonjour,
tu peux aussi installer mon plugin wp-ids pour détecter toute modification sur les fichiers système de WP.
[…] vous avez installé WordPress, je vous invite ensuite à lire l’article : Sécuriser son site WordPress. Vous pouvez aussi lire Comment Sécuriser son […]
Bonjour
Merci pour cet article très complet
Les sites worpress hébergé chez OVH rencontre un problème de compatibilité avec l extension de sécurité Acumix …
Je vous recommande d utiliser soit Itheme sécurité soit Wordfence afin de sécuriser facilement votre site WordPress.
Certain plugins WordPress comportent des failles de sécurité …et ces extensions sont parfois incompatibles entrent elle…
Si votre site wordpress plante suite à l installation d un de ces plugin pas de panique …Connectez vous via le ftp …. allez dans le dossier wp-content ….puis plugins et renommez l extension qui pose problème exemple :itheme security deviendra ithemesecurity1 et voila ca remarche !
Wordfence détecte également les modifications de fichiers….
Bonjour et merci pour les infos !
Itheme security est simple d utilisation,complète, fiable et extrêmement bien noté par les utilisateurs….
il détecte ce qui ne va pas ,il y a juste à cliquer afin de corriger les problèmes ..
Cette extension permet également de renommer le compte Admin ,de modifier votre .htacess ….
Depuis que j’ai changé l’adresse de ma page admin (par défaut /wp-admin), plus de soucis du tout !
peux tu expliquer en detail stp ?