WordPress étant l’un des CMS les plus utilisés au monde, il est « tout naturellement » sujet à des attaques massives et fréquentes.

Quand ce n’est pas la plateforme elle-même, ce sont les plugins populaires qui sont touchés (souvenez-vous de Revolution Slider…).

N’attendez pas de vous réveiller un matin face à un site piraté, une page blanche ou un message de votre hébergeur vous annonçant que vous avez dépassé les ressources prévues par votre abonnement suite à une attaque DDoS : renforcez la sécurité de votre site WordPress dès aujourd’hui !

Vous pensez que cela est réservé aux « gros sites » ?

Détrompez-vous : personne n’y échappe.

Bien sûr, être protégé à 100 % est impossible. Mais avec des manipulations préventives, des actions simples et un bon système de protection, vous échapperez déjà à de nombreux problèmes.

Pour vous aider dans vos démarches, j’ai réuni différentes astuces et conseils pour mieux sécuriser WordPress.

Important : Pensez bien à sauvegarder chaque fichier avant d’effectuer la moindre modification.

Faites des mises à jour régulières et immédiates

C’est l’un des conseils les plus indispensables à suivre : mettez à jour WordPress et vos plugins dès que vous en recevez la notification.

Faites des mises à jour régulières et immédiates

Bien entendu, WordPress sera toujours l’une des cibles d’opérations de piratage. Mais dans la mesure où, à chaque fois que des failles de sécurité sont détectées, cela entraîne des mises à jour de WordPress, vous n’avez pas d’excuse pour ne pas (immédiatement) les implémenter.

Une partie de ces mises à jour peut être automatisée, mais ne négligez aucun message lorsque vous vous connectez à votre tableau de bord.

Ces mises à jour sont importantes, car elles vont bien plus loin que l’ajout de nouvelles fonctionnalités : la plupart d’entre elles résolvent des bugs et des failles de sécurité.

Sur ce point d’ailleurs, si vous voyez que des thèmes ou plugins ne fonctionnent pas avec la version la plus récente de WordPress, ne les installez pas ou changez-les très rapidement. Ils sont a priori peu protégés face aux attaques qui peuvent survenir…

Protégez votre page de connexion (wp-login.php)

Cette page est l’une des cibles les plus courantes des hackers, qui cherchent à forcer l’accès à votre tableau de bord par le biais d’une attaque par force brute. Plus concrètement, il s’agit de tester automatiquement toutes les combinaisons de mots possibles, d’où l’intérêt de bien choisir ses mots de passe.

Pour réduire les risques que cela arrive, vous pouvez bloquer l’accès à wp-login.php ou limiter le nombre de tentatives de connexion.

Si quelqu’un s’acharne à essayer d’entrer dans votre tableau de bord, n’aimeriez-vous pas pouvoir l’empêcher d’agir après plusieurs connexions ratées ?

Le plugin WordPress « Login Lockdown » le permet. Vous pouvez le télécharger ici, ou considérer une alternative comme WordFence, qui comprend beaucoup d’autres fonctionnalités de sécurité.

N’utilisez pas « admin » comme nom d’utilisateur

WordPress l’a longtemps attribué par défaut, ce qui en fait une cible très courante pour les hackers.

Aujourd’hui, lors d’une nouvelle installation, il est désormais possible de configurer immédiatement un autre nom d’utilisateur.

Néanmoins, si vous êtes depuis quelques temps sur le Web, vous avez installé WordPress avant cette option. C’est le moment de trouver un nouveau nom et de supprimer « admin » !

A noter qu’il n’y a pas de risques de perte de contenu, WordPress vous demandant à quel utilisateur attribuer le contenu publié jusque-là par « admin ».

Choisissez des mots de passe complexes

Oui, c’est vrai : si vous travaillez beaucoup en ligne, vous passez une partie de votre temps à réinitialiser des mots de passe oubliés ou à multiplier les déclinaisons autour d’une même base.

Vous le savez probablement déjà :

  • Vos mots de passe doivent être complexes et intégrer des majuscules, des minuscules, des chiffres et autres caractères spéciaux (du type « COmplEXes%101 »)
  • Ils doivent être variés : n’utilisez pas plusieurs fois le même mot de passe pour différents services
  • Ils doivent être changés régulièrement
  • Vous devez éviter votre date de naissance ou des mots du dictionnaire…

Mais le faites-vous vraiment ?

N’optez pas pour la facilité. Si vous n’utilisez pas un mot de passe long et complexe, vous compromettez sérieusement la sécurité de votre installation WordPress.

Pour vous aider à générer un mot de passe de qualité, vous pouvez utiliser le site www.strongpasswordgenerator.com.

Enfin, si vous avez des employés ou collaborateurs qui accèdent à votre tableau de bord, soyez intransigeant sur la qualité de leurs mots de passe.

Protégez votre fichier .htaccess

Vous pouvez modifier votre fichier .htaccess depuis votre client FTP (Filezilla par exemple), ou avec le plugin WordPress SEO By Yoast.

Afin de renforcer la sécurité de ce fichier WordPress (en empêchant son accès extérieur), vous pouvez ajouter les lignes de code suivantes :

<Files .htaccess>
order allow,deny
deny from all
</Files>

C’est depuis ce même fichier (et sur la même base) que vous pouvez en fait protéger n’importe quel dossier de votre installation, à l’exemple de wp-config (qui contient vos données de connexion):

<Files wp-config.php>
order allow,deny
deny from all
</Files>

Sécurisez wp-includes

Toujours dans votre fichier .htaccess, ajoutez ces quelques lignes extraites du Codex WordPress :

# Block the include-only files. 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
RewriteRule ^wp-admin/includes/ - [F,L] 
RewriteRule !^wp-includes/ - [S=3] 
RewriteRule ^wp-includes/[^/]+.php$ - [F,L] 
RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L] 
RewriteRule ^wp-includes/theme-compat/ - [F,L] 
</IfModule> 
# BEGIN WordPress

Masquez votre version de WordPress

Même si cette manipulation n’empêche pas les attaques, vous augmentez la sécurité de votre installation WordPress, en empêchant de pouvoir très facilement identifier la version WordPress utilisée.

Pour cela, ouvrez votre fichier functions.php et ajoutez-y une fonction :

function masquer_version() { 
return ''; 
} 
add_filter('the_generator', 'masquer_version');

Elle vous permettra de masquer la version de votre WordPress à différents endroits de votre site, et pas seulement au niveau du header.

Empêchez les internautes d’accéder à votre répertoire de fichiers

Lorsque vous ajoutez /wp-content/uploads (ou autre) à l’URL d’un site WordPress non protégé, voici ce à quoi vous pouvez avoir accès :

Empêchez les internautes d’accéder à votre répertoire de fichiers

Pour éviter que des personnes ne parcourent vos dossiers de la même manière, ajoutez ces lignes à votre fichier .htaccess :

# Disable directory browsing
Options All -Indexes

Utilisez les bonnes permissions pour vos dossiers et fichiers pour mieux sécuriser WordPress

Il est important de bien configurer vos « files permissions », que vous avez peut-être déjà croisées : 755, 644, 600…

Ces nombres déterminent les droits liés aux différentes composantes de votre site : écrire, lire, exécuter… et surtout, qui peut le faire.

Pour sécuriser WordPress au maximum, vous devez en éviter certaines et leur en préférer d’autres.

Par exemple, un répertoire de fichiers avec une permission de 777 risque de permettre à des tiers de modifier votre site ou d’y injecter leurs propres fichiers.

D’après WordPress, vous devriez par exemple privilégier les permissions suivantes :

  • 755 pour un dossier
  • 644 pour un fichier
  • 400 pour wp-config.php

Vous pouvez changer les permissions depuis votre client FTP (Clic droit > File Permissions) ou dans votre manager de fichiers, selon votre type d’hébergement.

Limitez le hotlinking de vos images

Vous ne vous en êtes peut-être jamais aperçu, mais de nombreux sites se font non seulement voler leurs images, mais aussi une partie de leur bande passante.

Cette pratique a un nom : le hotlinking. Concrètement, un site diffuse votre contenu tout en continuant à l’héberger chez vous et généralement sans vous créditer.

Pour limiter les dégâts, vous pouvez ajouter ces lignes à .htaccess :

# Empêche le hotlinking image. Remplacez les URLs avec les vôtres
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?votresite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?votreautresite.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ http://i.imgur.com/MlQAH71.jpg [NC,R,L]

La dernière ligne renvoie l’image que vous voulez faire afficher en cas de tentative de hotlinking. Que pensez-vous de celle-ci ?

Protégez le fichier .htaccess lui-même

Pour cela, ajoutez-lui les lignes suivantes. Ce code apporte une protection plus forte que le code présenté plus haut, car il empêche l’accès à tout fichier contenant « HTA », « hta » ou n’importe quelle combinaison de casse de ceux-ci (l’autre code protégeant uniquement l’accès à la combinaison « htaccess ») :

# protège htaccess
<Files ~ "^.*.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>

Changez le préfixe de votre base de données WordPress

Votre base de données est indispensable à votre site WordPress. Le problème est que c’est l’une des cibles favorites des hackers, qui tentent notamment d’y effectuer des injections SQL.

Prévenir une attaque dans son intégralité est difficile. Mais vous pouvez leur compliquer la tâche en modifiant le préfixe par défaut (wp_).

N’hésitez pas à visionner cette vidéo pour bien comprendre la marche à suivre :

Si vous êtes déjà à l’aise avec les manipulations qui touchent à votre base de données, rendez-vous directement dans PhpMyAdmin !

Scannez régulièrement votre site ou investissez dans une solution complète de nettoyage

Si certaines attaques se voient immédiatement, d’autres sont plus insidieuses. Heureusement, des solutions existent pour surveiller votre site, afin de détecter d’éventuelles intrusions ou anomalies.

La plupart ne se contentent pas de scanner votre site, mais aussi de le sauvegarder régulièrement (voire quotidiennement) et de nettoyer votre installation WordPress en cas de souci.

  • CodeGuard

CodeGuard est une bonne solution pour sauvegarder automatiquement votre site WordPress et le restaurer en quelques clics si un problème survient (pas nécessairement suite à une attaque, d’ailleurs).

En cas d’anomalie, vous êtes immédiatement alerté.

CodeGuard

Site Internet – A partir de 3 $ / mois, selon l’offre choisie et la durée d’engagement

  • Sucuri

Sucuri est l’un des leaders dans le domaine de la sécurité WordPress. En plus de son scan gratuit (que vous pouvez tester à cette adresse), il permet de surveiller et nettoyer votre installation.

Sucuri

Site Internet – A partir de 199 $ / an

  • Theme Authenticity Checker (TAC)

Theme Authenticity Checker scanne votre installation pour voir si votre thème abrite des lignes de code malicieux qui ne devraient pas être là. Il n’est pas là pour résoudre le problème, mais vous révèle l’emplacement exact de l’anomalie. Et si WordPress incluait un jour cette fonction ?

Theme Authenticity Checker (TAC)

Page du plugin

Vous pouvez aussi regarder du côté de VaultPress, l’un des experts en sécurité WordPress.

Enfin, le plugin Block Bad Queries vous aidera à lutter contre les requêtes mal intentionnées lancées contre votre site.

Utilisez une connexion SFTP (plutôt que FTP)

Lorsque vous vous connectez à votre serveur, privilégiez le protocole SFTP (Secure File Transfer Protocol), qui est la même chose que FTP, mais en plus sécurisé.

Si vous avez un doute, demandez à votre hébergeur de vous renseigner.

Empêchez des utilisateurs fictifs de spammer votre site de membres

Si vous avez installé BBPress ou BuddyPress, vous ne connaissez que trop bien le problème des inscriptions « spam » d’utilisateurs aux pseudos douteux.

Il n’existe pas de solution miracle, mais vous pouvez vous tourner vers les plugins WangGuard ou Stop Spammers Spam Prevention.

 

Sauvegardez régulièrement votre site

Bien sûr, ce point ne renforcera pas la sécurité de votre site WordPress en tant que telle, mais au-delà d’éviter des pertes de données, vous pourrez rapidement réagir en réinstallant un site propre après un piratage.

Parmi les solutions robustes à votre disposition, vous pouvez utiliser UpdraftPlusVaultPress, BackUpBuddy ou encore WordPress Backup to Dropbox.

Pour finir…

Avec cette première liste de techniques, vous devriez déjà pouvoir considérablement renforcer la sécurité de votre installation WordPress.

Vous avez des questions, remarques, solutions ou autres astuces à partager pour mieux sécuriser WordPress ? Laissez un commentaire dès maintenant !

Crédit photo : David Goehring