Aller au contenu

Richard Coudrais

Accueil » blog » protéger un site wordpress

protéger un site wordpress

Il est très important de se prémunir des pirates lorsque l’on installe un site WordPress. Voici quelques bonnes pratiques.

WordPress étant utilisé par 33% des sites du World Wide Web, les sites montés avec ce CMS font régulièrement l’objet d’attaque de toutes sortes. Les pirates tentent d’obtenir des données précieuses, mais parfois, cherchent juste à s’entraîner et à tester leurs programmes malveillants. Ainsi n’importe quel site WordPress peut se retrouver piraté du jour au lendemain. Il faut donc, sans attendre, renforcer la sécurité de notre site WordPress. Voici quelques pistes.

installer un vigile à l’entrée

Le point le plus exposé est bien entendu l’accès au tableau de bord de votre WordPress. C’est ce point qu’il faut protéger en priorité. Le plugin gratuit Wordfence est une sorte de vigile installé à l’entrée du site WordPress. Ses paramétrages permettent de limiter les tentatives d’accès au site. Par exemple, on peut limiter le nombre de tentatives de connexion à 5. Si l’utilisateur se trompe de user ou de password au bout de ces cinq tentatives, il est rejeté.

On peut également utiliser le plugin « All-In-One Security (AIOS) – Security and Firewall« , tout aussi performant.

limiter les accès des visiteurs

Chacun à sa place. Le visiteur d’un site doit rester un visiteur et être dûment identifié s’il aspire à des fonctions de contributeur. Dans le tableau de bord WordPress, dans “Réglage > Général”, nous décocherons “Tout le monde peut s’inscrire” et donnerons comme rôle par défaut celui d’Abonné/abonnée. On pourra ensuite traiter les utilisateurs au cas par cas.

Il faut également vérifier le paramétrage des commentaires dans “Réglages > Commentaires”. Cocher notamment “Le commentaire doit être approuvé manuellement” afin que l’on puisse valider le commentaire avant qu’il ne soit publié.

un seul administrateur

La fonction administrateur ne doit être réservée qu’à une seule personne. Même si WordPress permet d’attribuer ce statut à un nombre indéfini d’administrateurs (quelle aberration !) , il faut se limiter à un administrateur unique, voire un deuxième administrateur “dormant” qui pourra intervenir en cas de disparition de l’administrateur principal. On n’est jamais trop prudent. Il faudra bien sûr que l’administrateur de secours pense à changer fréquemment son mot de passe.

contourner les valeurs par défaut

Lorsque l’on crée son site avec WordPress, les formulaires de création proposent quelques données par défaut. Forcément, le hacker tentera en premier lieu de se connecter avec ces valeurs. Il faut donc absolument les contourner. La base de données ne doit pas s’appeller ‘wordpress’ et les tables ne doivent pas avoir ‘wp_’ comme préfixe (si le mal est déjà fait, on pourra changer les préfixes avec le plugin « Change Table Prefix« ). Quant à l’identifiant, il ne doit pas (surtout pas) s’appeler ‘admin’ (ni ‘test’ ou ‘toto’ et autres expressions régulièrement employées dans le monde de l’informatique). Le prénom ou surnom d’usage fera l’affaire (à moins, bien sûr, que le surnom soit « Toto »).

choisir le bon mot de passe… et le changer fréquemment

Un bon mot de passe contient plus de 12 caractères et doit être composé au minimum d’une lettre majuscule, d’une lettre minuscule, d’un chiffre et d’un caractère spécial (# ! § % µ * $ etc.). Pour renforcer cette sécurité, il faut fréquemment changer de mot de passe. WordPress permet aisément ces changements de mot de passe. En utilisant la fonctionnalité “Mot de passe oublié”, un nouveau mot de passe robuste est proposé. En utilisant cette fonctionnalité à chaque connexion, la sécurité de votre site WordPress est renforcée. Cela ne prend qu’une dizaine de secondes. Autre avantage : nous n’avons même plus besoin de retenir ce mot de passe…

changer l’url d’accès

Pour accéder au tableau de bord WordPress, on utilise la commande ‘wp-admin’ dans l’url du site, ou encore ‘login‘. Tout le monde le sait, y compris les pirates. Mais WordPress permet de remplacer ‘wp-admin’ par une commande personnalisée que seuls connaitront l’administrateur du site et ses contributeurs. Le plugin “WPS Hide Login” permet de modifier facilement l’url de connexion.

mettre le site en HTTPS

Depuis 2018, les navigateurs et les moteurs de recherche privilégient les pages internet dont les url démarrent avec HTTPS. Il s’agit d’un protocole qui crypte les données et les rend indéchiffrables. Le site est ainsi considéré comme sûr. Pour passer le site en HTTPS, il faut demander un certificat à votre hébergeur. Ces certificats peuvent être gratuits, comme “Let’s Encrypt” que propose O2Switch.

respecter les protocoles

Les protocoles sont les éléments hyper-techniques par lesquels on entre sur le site. Comme on n’a pas le temps de suivre une formation de cybersécurité, on s’en remettra à des outils très performants. En premier lieu, on teste notre nom de domaine sur les sites securityheaders.com et www.serpworx.com qui donnent l’état du nom de domaine que l’on a entré. Il est probable que le résultat soit très mauvais. On installera donc aussitôt le plugin « Headers Security Advanced & HSTS WP« . Celui-ci ne nécessite aucun paramétrage. Aussitôt activé, il ajustera correctement l’ensemble des protocoles et donnera des résultats plus satisfaisants.

bidouiller le fichier .htaccess

Pour protéger certains fichiers clés, comme wp-config.php, il est nécessaire d’apporter des modifications au fichier .htaccess qui se trouve à la racine du site. Cette opération est très délicate, car la moindre erreur sur le fichier plante l’accès au site. Il faut donc veiller à conserver une sauvegarde du fichier avant modification. Cette opération nécessite d’être relativement à l’aise avec le code informatique. On récupère le fichier .htaccess à l’aide d’un outil FTP. On garde une copie à côté. On ajoute en fin de fichier les lignes ci-dessous. Et on renvoie le fichier .htaccess à la racine du site avec le FTP.

# empêcher l'accès au contenu des répertoires
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
# empêcher l'accès au fichier wp-config.php
<Files wp-config.php>
order allow,deny
deny from all
</Files>
# empêcher l'accès au fichier readme.html
<Files readme.html>
order deny,allow
deny from all
</Files>
# empêcher l'accès au... fichier .htaccess
<Files ~ "^.*\.([Hh][Tt][AaPp])">
order allow,deny
deny from all
satisfy all
</Files>

faire des sauvegardes

On ne répète jamais assez combien les sauvegardes peuvent sauver des situations compromises. Sauvegarde de la base de données une fois par semaine (sous MySQL, choisir “Exporter”). Sauvegarde des données selon fréquence de parution des articles (sous WordPress : Outils > exporter). Il existe des plugins qui assurent automatiquement ces sauvegardes comme UpdraftPlus. L’hébergeur peut également proposer des outils de sauvegarde.

s’assurer de la fiabilité des plugins et des thèmes

Le danger peut venir des extensions installées sur WordPress. On n’installera donc jamais un plugin sans s’être renseigné sur son efficacité, sa provenance, son éditeur ou développeur, sur sa mise à jour la plus récente (au minimum dans les 3 derniers mois), sur sa popularité (avis positifs largement majoritaires). Et tout ça, on le trouve sur le site e référence wordpress.org. C’est également le cas pour les thèmes.

déconnecter !

Lorsque l’on en a terminé avec la mise à jour du site WordPress, il est prudent de se déconnecter manuellement (en haut à droite) avant de quitter WordPress. Surtout si l’on surfe dans un endroit public en utilisant le wi-fi public, particulièrement prisé par les pirates.

protéger l’ordinateur

Bien entendu, vous devez travailler dans un environnement sécurisé et faire en sorte que l’ordinateur sur lequel vous travaillez soit doté d’une protection efficace. Si vous travaillez sur votre ordinateur personnel, celui-ci doit être équipé d’un antivirus performant.