Sécuriser WordPress et anticiper les attaques

Sécurisez votre site internet sous wordpress Inu Média à Montbéliard en Franche comté

Wordpress est le CMS le plus répandu sur le marché. Sa popularité fait de lui une cible de choix par les hackers. Malheureusement, beaucoup installent leur site internet et ne prennent pas en compte toute cette partie sécurité de leur interface.

I need help

Vous avez créé votre site il y a des mois et puis un jour, on se connecte sur son site et patatra… plus rien, plus de site web, tout est cassé…. Avec en prime un joli message d’un hacker…. Et la vous vous dites que vous avez négligé un point important : la sécurité de votre site et sa sauvegarde !

Créer des sauvegarde

Avant de sécuriser WordPress, il va falloir faire des sauvegardes de votre interface.
En temps que particulier ou agence de création de site web, cette étape est nécessaire. Ainsi, vous pourrez récupérer votre site internet en l’état à une date donnée. Pour les professionnels, cela vous donnera une roue de secours si votre client vient faire une mauvaise manipulation.
OVH vous propose une sauvegarde automatique de votre base de données. Cela vous donne déjà une première sécurité.
Cependant, ne vous reposez pas uniquement sur cet élément. Pensez à faire vous-même vos propres sauvegardes.

Ne mettez pas tous vos œufs dans le même panier

Lorsque vous mettez en place un système de sauvegarde, veillez à le faire sur des plateformes différentes. Si vous mettez tout sur votre FTP, que le pirate arrive à récupérer ce qu’il souhaite, il va corrompre vos données et vous n’aurez plus rien.
Certains plugins vous proposent de le faire sur un cloud comme Dropbox, Google Drive ou encore sur votre boite e-mail. Cela vous donnera plusieurs bouées de secours sur lesquelles vous reposer.

Quel plugin pour sa sauvegarde ?

Backwpup

Backwpup

Ce  plugin allemand vous permettra de faire des sauvegardes dans un dossier de votre FTP mais également sur sur des serveurs distants comme :

  • Un serveur FTP distant
  • Dropbox
  • Amazon S3
  • Microsoft Azure
  • RackSpaceCloud
  • SugarSync
Dans sa version pro, vous pourrez même envoyer vos données sur
  • Amazon Glavier
  • Google Drive
  • Sur votre boite e-mail
Il vous faudra cependant, dépenser la somme de $69.00 annuelle pour un seul site pour la version pro.

Backwpup

updraft

De manière native, ce plugin inclue des sauvegardes planifiées sur différents serveurs distants dans sa version gratuite. En premier abord, il pourra vous donner l’impression d’être une usine à gaz. Mais, une fois configuré, il regroupera les fonctionnalités nécessaires à ce dont un utilisateur aura besoin.

  • Dropbox
  • Google Drive
  • Amazon S3
  • UpdraftVault
  • Rackspace Cloud
  • FTP, DreamObjects
  • Openstack Swift

Pour ceux souhaitant pousser plus loin, la version payante vous permettra de cloner votre site, de l’utiliser sur des multi sites et de faire des sauvegardes sur

  • Microsoft OneDrive,
  • Microsoft Azure,
  • Google Cloud Storage,
  • Backblaze B2,
  • SFTP,
  • SCP

La version payante quant à elle se chiffre à €66 annuels pour un seul site.
Cependant, la version gratuite suffira dans la plupart des cas.

Sécuriser votre site web

Le sécuriser avec un plugin

Sécupress

J’aime favoriser les acteurs locaux dans mes prestations à mes clients, dans notre cas présent utiliser des plugins français.
Une des références dans le domaine et sans aucun doute Secupress. Il a la capacité de scanner votre site web et de déterminer le potentiel de sécurité de votre site internet. Dans sa version gratuite, il résoudra la majeure partie des failles de sécurité.
Cependant, pour certains points, vous devrez coupler ce plugin avec d’autres éléments que je vous indiquerez dans la suite de cette article.

Ce que Secupress ne prend pas en charge dans sa version gratuite :

  • La double authentification
  • Les headers
  • Le scan anti virus de vos données
  • Les attaques de brute force

Sécuriser WordPress manuellement

Les notions de base :

  • Maintenez votre WordPress et plugins à jour; beaucoup de sites piratés proviennent de cette faille. Un site abandonné, est une porte ouverte aux pirates.
  • Évitez également les plugins qui n’ont pas été mis à jour avec la dernière version de WordPress.

Supprimez les plugins et thèmes non utilisés

Même s’ils sont en veille, ils sont des sources potentielles de passerelles pour les hackers.

Passez votre site en https

A l’heure actuelle, Google vous impose une adresse en https, si vous ne le faites pas, il sera perçu comme un site potentiellement dangereux et feront fuir vos visiteurs.

faille de securite site web

L’https est indispensable. Pour basculer votre site internet en https, il vous faudra générer un certificat SSL depuis votre hébergeur. Différentes offrent s’offre à vous ; gratuites ou payantes. Il suffira de choisir votre offre parmi celles qu’ils vous proposent comme c’est le cas sur OVH

Les comptes utilisateurs :

Je ne saurai que vous conseiller de créer votre compte admin avec un nom et mot de passe sécurisé. Le compte administrateur est celui qui aura plus de droits sur votre site internet. C’est pourquoi, si un pirate en prend le contrôle, vous risquez de perdre beaucoup de choses.

Afin de créer un compte admin sécurisé, n’utilisez pas « admin » ou « administrateur » ou administrator ». Les hackers lancent des requêtes à ce niveau. En faisant ainsi, vous créez donc des failles.

Pour sécuriser votre mot de passe, essayez d’utiliser des caractères complexes.  Cependant, ce n’est jamais facile de retenir un mot de passe complexe. La petite astuce est d’utiliser une phrase ou une expression familière où vous remplacez certains caractères par des chiffres ou caractères spéciaux et en alternant majuscules et minuscules.

Ainsi évitez « JaimeutiliserWordPress123 »
Mais favorisez « J@iM3uTiL!s3rW0rdPr3ss123! »
N’oubliez pas également de désactivez l’inscription de nouveaux utilisateurs si ce n’est pas nécessaire.

Empêcher la réinitialisation du mot de passe

Nous sommes bien d’accord, cela peut-être contraignant si vous avez perdu votre mot de passe. Mais en cas de hacking, ça évitera à un pirate de changer les accès.
Pour cela, saisissez dans votre fichier functions.php :

function reinitialiser_mdp() {
return false;
}
add_filter ('allow_password_reset',' reinitialiser_mdp');

Mais si vous avez perdu votre mot de passe comment faire ?
Un petit tour dans votre base de données et dans la table « votreprefixe_users », il vous suffira de sélectionner votre d’utilisateur. Dans la table mot de passe, saisissez le nouveau avec un encodage MD5.<:p>

La double authentification :

double authentification

Le principe de la double authentification permet de vérifier que vous êtes bien la personne qui demande à se connecter sur le site. De nos jours les hackers ont différents moyens d’essayer de deviner votre identification. Ainsi ces plugins, vous permettent d’utiliser un autre système indépendant de votre site web : Sms, QR code, clé cryptée…

Google Authenticator – Two-Factor Authentication ou encore  Two Factor AuthenticationSont deux excellents plugins remplissant leur rôle respectif.

Renommez les tables WordPress de votre base de donnée :

Il faut savoir que par défaut, lors de l’installation de votre site internet, WordPress pré-rempli la base de données en commençant vos tables par wp_. Cela constitue une faille en soit. Je vous conseille donc de leur donner un autre nom comme par exemple « sitePlombier5675_ » afin de sécuriser WordPress

Si vous avez déjà fait votre installation, ne vous inquiétez pas, vous allez pouvoir modifier tables et votre fichier wp-config.php.

Wp channel vous offre un tutoriel détaillé prévu à cet effet 

Protégez-vous des attaques de force brute

Une des manières d’attaquer votre site, c’est de lancer des centaines de requêtes jusqu’à trouver les bons accès grâce à des robots. Il faudra donc vous munir d’un plugin d’attaque force brute qui bannira une adresse IP au bout de X tentatives de connexion infructueuses.

Il existe beaucoup de plugins de ce genre, comme Brute Force Login Protection, Secupress (payant) ou JetPack
Utiliser des clefs de sécurité secrète

Si ces codes ne sont pas présents dans votre fichier wp-config.php, il existe des générateurs : https://api.wordpress.org/secret-key/1.1/salt/

Cacher l’accès à vos fichiers :

C’est une faille que je vois très souvent. Si votre pirate saisi l’adresse « http://www.votresite.fr/wp-content »,  il aura accès à tous vos dossiers. Il s’agit d’une grosse faille de sécurité WordPress. En effet, outre l’accès à vos images, il pourra remonter votre arborescence et trouver le fichier wp-config.php. C’est dans ce fichier que se trouvent vos accès à vos bases de données par exemple. Si quelqu’un s’en empare, on pourra effacer votre site web… Pour éviter ce genre de soucis, il faudra modifier son fichier .htaccess

order allow,deny deny from all
Options All -Indexes

order allow,deny  deny from all

Cachez votre version WordPress

Dans votre fichier functions.php, indiquez :

remove_action("wp_head", "wp_generator");

Cacher les erreurs php dans votre wp-config.php

ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

Cacher les erreurs de connexion dans functions.php :

add_filter('login_errors',create_function('$a', "return null;"));

Déplacez votre page de connexion

Par défaut, votre page de connexion se situe à cet endroit : https://www.votresite.fr/wp-admin.php ou : https://www.votresite.fr/wp-login.php.  Rien de plus facile pour un pirate de faire des tentatives de connexion. Même si vous avez mis en place un système de force brut, le système ne sera pas sans failles.
On évitera de faire la manipulation manuellement pour éviter des soucis lors de mise à niveau.
Plusieurs plugins vous le proposent comme par exemple Secupress ou  WPS Hide Login

Hide login

Retirez les erreurs de connexion, le lien de réinitialisation de mot de passe sur votre formulaire de connexion

Certains vous proposent la solution en css, mais cela ne fait que masquer votre lien et ne ne supprime pas. Pour des robots ou des pirates, ce n’est pas une solution efficace. Mieux vaut supprimer définitivement ces options. Ainsi vous éviterez de leur donner des informations telles que « le nom d’utilisateur rentré est valide mais pas le mot de passe »

connexion WordPress

Toujours dans votre fichier functions.php, vous devrez rentrer ces lignes (pour la version française) :

function supprimer_mot_de_passe_oublie ( $text ) {
if ($text == 'Mot de passe oublié'){
$text = '';
}
return $text;
}
add_filter( 'gettext', supprimer_mot_de_passe_oublie)
function cacher_erreurs_login(){
return '';
}
add_filter( 'login_errors', 'cacher_erreurs_login' );

Utilisez un captcha pour la connexion

login captcha WordPress

Pour ajouter un peu plus de sécurité ; n’hésitez pas à coupler avec Login No Captcha reCAPTCHA qui rajoutera un captcha sur votre page. C’est également une des fonctions proposées par Sécupress.

Sécurisez vos headers

Cette partie est bien souvent négligée par la plupart des sites et WordPress a plusieurs failles à ce niveau.

Commencez par faire une analyse de votre site internet sur ce site web :

Un site non sécurisé aura ce résultat :header securityLe site vous propose alors les différents éléments à corriger pour rendre votre site plus sécurisé.
Je ne saurais que vous conseiller http-headers

http header

Il vous permettra de couvrir tous les soucis de sécurité de votre site internet. Cependant, la mise en place peut paraître quelque peu fastidieuse pour un novice.

Ce petit tutoriel pourra donc vous être utile


Voilà vous possédez les outils nécessaires pour obtenir un site internet WordPress sécurisé.
Bien entendu, nul n’est à l’abri d’une attaque malveillante.
Pensez toujours à effectuer vos mises à jour, sauvegarder vos données et utiliser Wordfence comme antivirus de manière régulière pour prévenir toutes les attaques éventuelles.

Rédigé par

Aurélie Schmitt

Après 10 années en temps qu'infographiste salariée, j'ai ouvert ma société freelance après la naissance de mes jumeaux. Ainsi, j'accompagne mes clients dans la conception de l'identité de leur entreprise

luctus et, ut Nullam id tristique sem, diam nec libero eleifend