La mise en place d’outil de sécurisation pour votre site est primordiale pour éviter d’avoir de mauvaises surprises…

Le fait que WordPress soit le CMS le plus utilisé sur le Web fait de cet outil l’une des cibles privilégiées pour les hackers et au « script kiddies ».

MAJ 31/03/217 : Si vous souhaitez sécuriser votre site simplement et efficacement, je vous conseille également la solution SecuPress. Un plugin également très performant en terme de sécurisation.

Dans cette optique je vous propose de mettre en place le plugin Ithemes Security qui va vous permettre d’améliorer considérablement ce point « critique ».

Pourquoi choisir Ithèmes Security ?

Cette extension va vous permettre dans un premier temps de faire un « audit » de celui-ci. Une fois que le plugin a fait le point sur votre site, il ne reste plus qu’à sécuriser les points négligés. Le plugin va ainsi vous permettre de renforcer la sécurité de votre site en sécurisant un grand nombreux point qu’il peu connu lorsque l’on débute sous WordPress.

Évidemment, il existe de nombreuses extensions pour protéger son site. Je reviendrai d’ailleurs encore sur ce point à l’avenir.

Important : Avant d’installer, de configurer et de faire des modifications sur votre site avec le plugin présenté ici, je vous conseille de faire une sauvegarde complète de votre site !

Je vous conseille notamment l’extension BackWpup (Tutoriel du plugin).

[toc]

Installation d’Ithèmes Security

Tout d’abord installer le plugins depuis votre site WordPress :

Extensions > Ajouter > taper « ithemes security » dans le champ recherche puis valider.

Plugin "ithemes security"
Plugin « ithemes security »

Cliquer maintenant sur « Installée ».

Configuration d’Ithèmes Security

Une fois l’installation de l’extension terminée, vous allez voir apparaître un « bandeau bleu » et une nouvelle entrée dans votre tableau de bord comme ci-dessous :

Bandeau de départ
Bandeau de départ
Menu ithemes security
Menu ithemes security

Suite à l’affichage du bandeau, cliquer sur « Secure Your Site Now ».

Vous allez alors voir à l’écran la fenêtre suivante :

Menu "première étape"
Menu « première étape »

Lancer alors les étapes suivantes une à une comme suit :

  1. Back up your site : Permet de sauvegarder votre site avant la sécurisation. (Je ne reviens pas sur l’importance des sauvegardes 😉 )
  2. Allow File Updates : Donne l’accès à certain fichiers du site pour le sécuriser. (wp-config.php, htaccess files.)
  3. Secure your Site : Pour terminer, on valide la 3ème étape pour lancer la sécurisation par défaut. (auto-configuration du plugin)

Avant de continuer à sécuriser votre site, il faut inscrire l’adresse IP de votre site dans la liste des IPs en liste blanche. Cela afin d’éviter que l’on soit blacklister… et de ne plus pouvoir accéder à notre site. Cliquer alors sur « Temporarily Whitelist my IP » dans le menu Settings.

Ajout de l'IP en "White-list"
Ajout de l’IP en « White-list »

Dashboard : Sécurisation automatique

Security status
Security status

Maintenant, jetons un coup à se que le plugin à déjà sécurisé :

Security > Dashboard > Completed
Dashboard > Completed

Le plugin à donc effectué les tâches suivantes  :

  • Supprime ou renomme le nom de l’utilisateur Admin.
  • Protection de la fenêtre de connexion des attaques de type « Brut Force ».
  • Le nom qui apparaît sur le site est différent du nom d’utilisateur système.
  • Suppression de la ligne de code qui indique que vous utilisez WordPress.
  • Les utilisateurs n’ayant pas publié de contenu n’apparaîtront pas sur votre site.
  • Vérifie que les préfixes de votre base de données ne commencent pas par « wp_ ».
  • Supprime les informations à la publication par « Windows Live Writer ».
  • Supprime les informations d’erreurs de connexion.

Dashboard : Sécurisation manuelle

Une fois la sécurisation automatique du plugin au point, il ne nous reste qu’à appliquer manuellement 3 types de modification. Soit High, Médium, Low. Même si le plugin donne des niveaux de priorités, il est important de s’occuper attentivement de chacune.

Pour les niveaux de priorités, je vais simplement faire un point sur les tâches qu’il reste par défaut.

High priority

Tâches prioritaires hautes restantes par défaut :

  • Définir un planning de sauvegarde de la base de votre site.
  • Activer le scanner de malwares.

Médium priority

Tâches prioritaires moyennes restantes par défaut :

  • Activer la détection des erreurs 404
  • Supprimer l’ID 1 de l’utilisateur par défaut
  • Activer le planning de connexion à l’interface d’administration
  • Activer la vérification de changement des fichiers
  • Changer l’adresse de connexion de votre tableau de bord
  • Empêcher l’accès à certains fichiers de base
  • Activer la détection des éléments compromettants dans les URLs
  • Empêcher les utilisateurs sans « user-agent » de poster des commentaires
  • Désactiver l’utilisation de XML-RPC sur votre site
  • Empêcher l’exécution de fichiers PHP à partir du répertoire d’upload du site

Low priority

Tâches prioritaires légères restantes par défaut :

  • Activer le bannissement automatique des utilisateurs connus comme étant à problème
  • Forcer l’utilisation du HTTPS pour se connecter à votre interface d’administration
  • Forcer l’utilisation de mot de passe fort
  • Empêcher la lecture distante de vos répertoires web
  • Bloquer les requêtes par HTTP non utiles
  • Bloquer les jeux de caractères dans les URL
  • Empêcher l’utilisation d’URLs de plus de 255 caractères
  • Forcer les fichiers wp-config.php et .htaccess en lecture seule
  • Supprimer l’affichage des informations RSD dans l’en-tête de votre site
  • Modifier le numéro de version de WordPress
  • Rendre la modification des fichiers des plugins et des thèmes impossibles à partir de votre interface d’administration
  • Connaître votre version de jQuery
  • Renommer le fichier wp-content

Configuration Avancée

Menu "Advanced"
Menu « Advanced »

Advanced : Admin User

Nous allons dans ce menu configurer plus finement le plugin.

Tout d’abord, il va vous falloir renommer et changer l’ID du compte « admin » (si ce n’est pas déjà fait).

Advanced > Admin User
Advanced > Admin User

Advanced : Change Content Directory

Attention ! cette partie concerne uniquement les personnes qui viennent de mettre en place leur site wordpress !

Par défaut, toutes vos images sont envoyées dans le répertoire « wp-content/uploads ». Ainsi, si vous activez le changement du répertoire vous allez vous retrouver votre site sans images, et vous perdrez le référencement de ces dernières.

Appliquer alors la modification du répertoire si votre installation et récente.

Advanced > Change Content Directory
Advanced > Change Content Directory

Advanced : Change Database Prefix

Autre point important, modifier les préfixes de vos votre base de données. Ithemes Security en générera un nouveau bien plus sécurisé.

Advanced > Change Database Prefix
Advanced > Change Database Prefix

Paramètrages d’Ithèmes Security (Settings)

Menu "Settings"
Menu « Settings »

Nous allons ici passer à une phase plutôt fastidieuse, mais nécessaire. Prenez malgré tout le temps de la mener à bien.

Settings : Global Settings

Dans cette fenêtre vous trouverez toutes les options de base du plugin. L’autorisation d’écriture, le mail de réception, white-list, etc.

Je ne m’éternise pas sur ce menu, car la configuration par défaut est généralement suffisante.

Settings > Global Settings
Settings > Global Settings

Settings : 404 Detection

Activer la détection 404, permet de détecter un script qui tenterait de deviner ce qu’il y « derrière » votre site WordPress.

Settings > 404 Detection
Settings > 404 Detection

On coche ainsi la case « Enable 404 detection ».

Une fois la case cochée, de nombreux paramètres d’optimisation apparaissent. Modifier alors les éléments à votre guise.

Settings : Away Mode

Depuis cette fenêtre vous avez la possibilité de rendre accessible votre site durant une période donnée. Tout le reste du temps, votre site sera indisponible.

Pour activer cette option, cliquez sur « Enable away mode ».

Faites bien attention à la date et à l’heure affichée dans la partie grise ! Si vous définissez une page horaire, et que votre serveur n’a pas la même heure que vous, vous risqueriez de ne plus pouvoir accéder à votre interface d’administration… Vous devrez alors l’ajuster au niveau de WordPress ou de votre serveur.

Settings > Away Mode
Settings > Away Mode

Settings : Banned Users

Cette partie comme son nom l’indique permet de bannir des utilisateurs. Vous avez ainsi le choix de faire confiance à la liste « HackRepair.com », d’ajouter manuellement des IPs, ou les deux !

Settings > Banned Users
Settings > Banned Users

Settings : Brute Force

Cette fenêtre permet de bloquer les attaques de type « Brute Force ». Ce type d’attaque se passe sur la page de connexion au tableau de bord de votre site. L’attaquant va tenter de deviner votre mot de passe en envoyant un grand nombre de requêtes. Cette option est activée par défaut.

Par défaut, la partie de bannissement automatique sur une tentative de connexion depuis l’utilisateur Admin n’est pas actif. Comme nous avons fait la modification plus haut, nous allons pouvoir l’activer.

Cela permettant de bannir une adresse IP tentant de « forcer » le passage.

Settings > Brute Force
Settings > Brute Force

Settings : Database Backup

Dans cette partie, nous avons les différents paramètres de sauvegarde. Malgré tout je vous conseille de vous diriger vers BackWpup pour la gestion de vos backups.

Settings > Database Backup
Settings > Database Backup

Settings : File Change detection

Cette option vous permet d’être au courant dès lors qu’une modification se passe sur votre site. Il est surtout conseillé de l’activer si vous avez un serveur qui dispose de beaucoup de ressources. Je ne rentre pas dans les détails, mais cette fonctionnalité et plutôt lourde en terme de charge CPU.

is-file-change

Settings : Hide Login Area

Avec WordPress certains points critiques sont paramétrés par défaut. Comme l’accès à l’interface de gestion notamment. Vous pourrez ici pallier à cela en activant l’option.

Vous devrez ensuite choisir le terme permettant d’accéder à votre tableau de bord.

Settings > Hide Login Area
Settings > Hide Login Area

Settings : Malware Scanning

Cette fonctionnalité va vous permettre de ne pas avoir de malware sur votre site. Il vous faudra cependant récupérer une clés API sur le site VirusTotal.com pour l’activer.

Settings > Malware
Settings > Malware

Settings : Secure Socket layers

Attention, activé seulement cette option si votre serveur le supporte ! auquel cas, vous ne pourrez plus accéder à votre interface d’administration.

Cette fenêtre vous donne la possibilité de gérer votre site en SSL. Évidemment, il vous faudra que vous disposiez de cette fonction sur votre serveur…

Settings : Strong Passwords

Un mot de passe fort est primordial si vous souhaitez éviter de vous faire pirater facilement votre compte. Je vous conseil évidemment de cocher la case « Strong Password » et de penser à mettre en place un mot de passe complexe.

Settings > Strong Password
Settings > Strong Password

Settings : System Tweaks

Dans cette fenêtre nous allons trouver des options pour accentuer encore la sécurisation.

Settings > System Tweaks
Settings > System Tweaks

Je vous conseille notamment de cocher les options suivantes :

  • Protect System Files : Protéger le système de fichier
  • Disable Directory Browsing: Désactiver la navigation dans les répertoires
  • Filter Request Methods : Permets de filtrer les requêtes
  • Filter Non-English Characters : Empêcher l’utilisation de requêtes avec des caractères non anglais
  • Filter Suspicious Query Strings in the URL : Stopper les requêtes trop longues
  • Remove File Writing Permissions : Retirer les permissions d’écriture sur certains fichiers
  • Disable PHP in Uploads : interdire l’exécution de fichiers PHP à partir de votre répertoire Uploads.

Pour les options suivantes, c’est à vous de voir 😉 :

  • Filter Non-English Characters : Ne surtout pas activer si vous possédez un site multilingue.
  • Filter Long URL Strings : Fonction de limitation des URLs.

Settings : WordPress Tweaks

Enfin dans cette dernière fenêtre nous allons trouver des options pour la sécuriser spécifiquement WordPress.

Settings > WordPress Tweaks
Settings > WordPress Tweaks

Voici l’ensemble des fonctionnalités de cette fenêtre :

  • Retirer l’information de la version du WordPress utilisé
  • Retirer l’en-tête « Windows Live Writer »
  • Retirer l’en-tête RSD
  • Empêcher la publication d’un commentaire sans « reffer »
  • Afficher un numéro de version aléatoire
  • Désactiver l’éditeur de thèmes et plugins dans le tableau de bord
  • Désactiver la fonction XML-RPC
  • Charger une version saine de jQuery
  • Retirer les informations lors d’un login erroné
  • Forcer les utilisateurs à posséder un identifiant unique
  • Supprimer les pages d’archives des auteurs s’ils n’ont rien publié

Vous pouvez cocher toutes les options de WordPress Tweaks sans risque. Je vous le conseille même fortement.

Conclusion

Voilà pour ce petit tutoriel sur Ithemes Security qui va vous permettre de sécuriser grandement votre site WordPress.

Même si le plugin est complet, cela ne suffit pas à bloquer toutes les attaques possibles. Je vous présenterai à l’avenir d’autres plugin de sécurisation.

A Très vite ! 🙂


Source: ithemes security.

Si vous avez trouvé une faute d’orthographe, merci de nous en informer en sélectionnant le texte en question et en appuyant sur « Ctrl + Entrée« .

    6 replies to "Sécuriser son site WordPress avec IThemes Security"

    • moustik

      un grand merci pour ce tuto !

      • Régis

        Merci ! content d’avoir pu vous aider. 😉

    • DrKokai

      Hello,

      J’ai un ptit problème, ce plugin me retire l’accès à l’éditeur de plugin et l’éditeur dans apparence!
      Petit idée d’ou ça vient?
      Merci a++

      • Régis

        Salut,

        C’est peut-être un problème en lien avec ton thème pour WordPress.
        Tu as vérifié dans les paramètres du plugin si tu trouve quelque chose qui peut bloquer ?

    • DrKokai

      Hello,
      Merci de ton aide mais, j’ai finalement trouvé 🙂
      Il y a une petite box à décocher tout en bas dans le dernier chapitre WordPress Tweaks => File Editor => Disable File Editor.
      A++

    • JustWannaHaveFun

      Bonjour,

      Déjà merci pour le tuto, ça m’a permis de faire les premiers réglages sans avoir peur de me tromper !
      Ceci j’ai une question : je débute en matière de site web et je n’ai pas encore mettre les mains dans tout ce qui est fichier wp-config.php et .htaccess. Je n’ai donc pas appliqué vos conseils concernant « admin user » et « Change Database Prefix ». Je n’ose pas vraiment m’y aventurer pour le moment par peur de faire une énorme connerie.

      Je me demandais donc si, dans la mesure où je n’ai pas modifié tout ce que j’ai précédemment mentionné, je pouvais tout de même appliquer la partie « Settings : Hide Login Area » sans risque ? Je ne voudrais pas me retrouver dans l’impossibilité d’accéder à mon site.

      Oh et je me demandais aussi : est-ce qu’en appliquant tous vos conseils je pourrais toujours me connecter avec différentes adresse IP ? Je bouge beaucoup, donc ça ne m’arrangerait pas vraiment.

      Merci d’avance !

Leave a Reply

Your email address will not be published.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.