Wordpress est le CMS le plus utilisé au monde. Il propulse plus de 33% des sites Internet de la planète. La contrepartie est que WordPress est aussi la plateforme la plus attaquée au monde.
Il est donc essentiel de sécuriser son site pour éviter le piratage et ses conséquences : perte de données, perte de confiance des internautes, image de marque, chute du classement dans les moteurs de recherche, perte de chiffre d'affaire, propagation de virus, plaintes ou poursuites...
La meilleure chose à faire est d'effectuer un audit complet du site et ensuite de sécuriser le tout. En parallèle il est également possible d'agir et d'appliquer des mesures simples :
1 Sauvegarder régulièrement
Sauvegarder régulièrement son site Wordpress, ou s'assurer que votre hébergeur s'en occupe en posant les questions : Peut-on revenir en arrière en cas de souci ? Sur combien de jours ? La base de données est-elle sauvegardée tous les jours ? Le système de fichiers aussi ?
Dans le cas ou l'hébergeur ne s'occupe pas de cela, à vous de mettre en place une sauvegarde régulière.
2 Mettre à jour Wordpress
Mettez à jour Wordpress régulièrement pour disposer de la dernière version et des correctifs des failles de sécurité. Avant toute chose, on sauvegarde !
3 Protéger l'accès au back office par IP
Solution radicale, l'accès à Wordpress ne sera possible que depuis une ou plusieurs adresses IP. Cela ne fonctionne que si votre fournisseur d'accès vous fournit une IP fixe, ce qui n'est pas le cas avec un accès 4G par exemple.
<files wp-login.php>
order deny,allow
deny from all
allow from 0.0.0.0
allow from 1.1.1.1
</files>
4 Renommer votre page de connexion
L'adresse pour se connecter à Wordpress est la même pour tout le monde. Ce n'est pas terrible non ? Tout simplement, renommez cette page de connexion ! Il existe plusieurs plugins pour cela dont Rename WP Login ou WPS Hide Login
5 Choisir un login autre que "admin"
Par défaut le login de base est "admin". Tout simplement, modifier cela en indiquant un login plus complexe.
6 Indiquer un mot de passe complexe
Le nom de votre chat ou de votre enfant est à proscrire, ainsi que votre plaque d'immatriculation. Un vrai mot de passe doit être long, contenir à la fois des chiffres, des lettres minuscules et majuscules ainsi que des caractères spéciaux. Pour le retenir, on ne le note pas sur un post-it que l'on colle sur son écran mais on le conserve dans une application comme KeePassX par exemple.
7 Limiter le nombre d'essais d'identification
La "force brute" est un type d'attaque faite de façon automatique par un logiciel qui va essayer toutes les combinaisons possibles de login et mot de passe. Un plugin comme WPS Limit login limitera les tentatives de connexion et bloquera l'accès dès que la limite spécifiée est atteinte.
8 Utiliser un certificat SSL
Une évidence mais on voit encore beaucoup de sites sans certificat SSL. Il est aujourd'hui obligatoire de disposer d'un accès HTTPS que ce soit en front ou back office. Les certificats SSL sont aujourd'hui gratuits grâce à des organismes comme Let's Encrypt, et disponibles en standard chez beaucoup d'hébergeurs.
define('WP_SITEURL', 'https://www.votre-domaine.fr');
define('WP_HOME', 'https://www.votre-domaine.fr');
define( 'FORCE_SSL_ADMIN', true );
define( 'FORCE_SSL_LOGIN',true );
9 Modifier le préfixe de vos tables
Le préfixe par défaut des tables dans WordPress est "wp-". Il est vivement conseillé de modifier ce préfixe par défaut pour prévenir d'éventuelles injections SQL.
10 Masquer le numéro de version de Wordpress
La version de Wordpress que vous utilisez peut donner des indications aux hackers sur les éventuelles failles existantes.
Dans le fichier function.php
de votre thème, ajoutez ce code :
remove_action("wp_head", "wp_generator");
Les fichiers readme.html et license.txt situés à la racine peuvent également révéler des informations de version. On bloque l'accès avec le code suivant à placer dans le fichier .htaccess
:
<files readme.html>
deny from all
</files>
<files license.txt>
deny from all
</files>
11 Ajouter les clefs de sécurité secrètes
Les clés de sécurité sur WordPress (ou clés SALT) sont les variables qui stockent vos informations d’identification de connexion sous une forme chiffrée.
Ces clés doivent être changées régulièrement. La page https://api.wordpress.org/secret-key/1.1/salt/ vous génère cela automatiquement.
12 Empêcher la navigation dans les dossiers
Une ligne dans votre fichier .htaccess
permet de bloquer la navigation dans les dossiers.
Options All -Indexes
13 Protéger le fichier wp-config.php
Le fichier wp-config.php
contient les informations de connexion à la base de données MySQL. Il est primordial d'empêcher l'accès à ce fichier en cas de souci du PHP sur votre serveur. On ajoute ce code dans le fichier .htaccess
:
<files wp-config.php>
deny from all
</files>
14 Réduire les plugins installés
Wordpress dispose d'une quantité importante de plugins (extensions) qui permettent de faire beaucoup de choses. Moins vous en avez mieux c'est. Chaque plugin peut apporter son lot de failles de sécurité. Avant chaque installation de plugin, il faut vérifier s'il fonctionne sur votre version de Wordpress, s'il a récemment été mis à jour et s'il est bien noté. Le mieux est de faire auditer le code source avant toute utilisation.
15 Empêcher l'édition de fichiers depuis Wordpress
Il est plus sage d'interdire toute modification de fichiers depuis Wordpress (nous parlons bien sur des fichiers liés aux thèmes et aux développements et non de vos fichiers PDF).
Ajoutez cette instruction à la fin de votre fichier wp-config.php
:
define('DISALLOW_FILE_EDIT', true);
Ces mesures sont un bon début mais évidemment cela n'est pas exhaustif. Et un audit complet d'un site est fortement conseillé bien sur, que ce soit avec SiteProtect.fr ou mes confrères.
Par Thibaut Pietri
Derniers articles
Les risques de sécurité liés aux métadonnées des photos
14 août 2019 En photographie numérique, les métadonnées sont stockées à l'intérieur d'un fichier JPG et permettent de décrire un certain nombre d'informations complémentaires. Ces métadonnées représentent un risque de sécurité.
Comment vérifier si votre site internet a été piraté ou infecté ?
9 août 2019 Le piratage d'un site web peut parfois ne pas être visible directement avec un navigateur web. En effet le piratage peut avoir des objectifs variés. Certains ont tout intérêt à rester invisible.
L'authentification à facteurs multiples pour protéger votre site web
7 août 2019 L'authentification à facteurs multiples est un système de sécurité combinant au moins deux modes d'identification différents. Explications.