Passer au contenu
15 mesures essentielles pour sécuriser son site Wordpress

15 mesures essentielles pour sécuriser son site Wordpress

12 juillet 2019 cms  wordpress  vulnérabilité 

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.

Note : 4.9 - 8 votes Evaluer cet article
4.9

Par Thibaut Pietri

Ingénieur informatique spécialisé réseau, basé à Toulouse, j'ai plus de 20 ans d'expérience en développement et sécurisation de sites Internet, Extranet & applications mobiles autour des technologies LAMP (Linux/Apache/MySQL/PHP) sur différents outils de gestion de contenu (Wordpress, Prestashop, Drupal, Isens Evolution...).

Derniers articles

Aucun commentaire, soyez le premier !

 
Retour en haut de la page