Sélectionner une page

Très souvent, on me demande comment sécuriser son site WordPress et survivre à un hacking?

Avant de penser à sécuriser son site WordPress, il faut tout d’abord commencer par sécuriser son poste de travail. En effet, de nombreux sites internet sont piratés depuis l’ordinateur du webmaster sur lequel se retrouvent les accès FTP et les identifiants pour se connecter à son hébergeur. Un cheval de troie installé sur l’ordinateur de l’entreprise peut pirater un site sans que cela se remarque dans les logs de connexion puisque les bons mots de passe sont employés.

Pensez donc à utiliser un antivirus à jour et à sécuriser votre ordinateur avec un mot de passe. Ne négligez pas non plus votre messagerie puisqu’elle contient souvent les identifiants envoyés par votre hébergeur.

A propos des mots de passe

Pour les mots de passe WordPress, évitez d’utiliser votre mot de passe habituel. En effet, de nombreux pirates créent des sites qui proposent une offre exceptionnelle ou un abonnement gratuit après une inscription gratuite en ligne où l’on vous demande de choisir un login et un mot de passe. Or, beaucoup de personnes utilisent partout le même mot de passe. Il suffit alors aux pirates de se connecter à votre site avec le mot de passe que vous venez de leur donner en vous inscrivant.

A propos des plugins et des thèmes

Choisissez-les bien! Utilisez toujours les plugins officiels et évitez à tout prix ceux que l’on peut trouver sur le net non officiel. Ne testez pas vos nouveaux plugins en production (directement en ligne sur votre site) mais bien en environnement de test (sur une version locale de votre site).

Désinstallez tous les plugins qui ne sont pas utilisés. En effet, moins vous avez de plugins installés, plus vous éviterez les failles de sécurité.

Les plugins non activés sont inutiles. Supprimez-les:

Il en va de même pour les thèmes. Vous ne pouvez utiliser qu’un thème à la fois. Les autres sont donc inutiles et peuvent servir de porte d’entrée vers votre site même s’ils ne sont pas employés. Testez aussi vos thèmes en local et pas en production.

Evitez l’utilisateur Admin

La plupart des attaques brute force[1] WordPress se font sur l’utilisateur « admin ». Désactivez-le ou supprimez-le après avoir créé un autre identifiant administrateur. De plus, évitez les classiques « webmaster », « administrator », « admin », votre nom, …

N’utilisez que des mots de passe forts. Il existe de nombreux outils pour générer de bons mots de passe dont Norton Générateur de mot de passe disponible en ligne:

https://my.norton.com/extspa/idsafe?path=pwd-gen

Paramétrez vos différents critères dans la colonne de droite et Norton générera un ou plusieurs mots de passe en fonction de votre choix:

Comment utiliser le plugin iThemes Security (better WP security)?

Introduction

Les fonctions standards de ce plugin vous permettront de corriger de nombreuses failles sous WordPress.

Commencez d’abord par l’installer.

Dans le menu Extensions, cliquez sur Ajouter

Effectuez une recherche.

Installation du plugin IThemes Security

Cliquez sur Installer maintenant:

Activez-le:

Vous le retrouverez ensuite dans le menu principal.

Secure Site

Commencez par vérifier si votre site utilise les recommandations basiques en matière de sécurité. Cliquez sur Secure Site.

Vous le retrouverez ensuite dans le menu principal.

Commencez par vérifier si votre site utilise les recommandations basiques en matière de sécurité. Cliquez sur Secure Site.

Vous devez obtenir l’écran suivant:

Les Réglages

Procédez ensuite aux réglages en choisissant Réglages principaux dans le menu Réglages. Indiquez au minimum l’adresse e-mail de notification pour rester informé(e) des problèmes détectés par iThemes Security. Les autres options par défaut offrent une bonne protection et vous pouvez les laisser telles quelles.

Autres paramètres

Les autres paramétrages sont très performants mais parfois fort techniques. Nous allons découvrir ensemble les plus importants:

La protection brute force vous permet de vous prémunir contre les tentatives automatisées de connexion. Dès qu’un utilisateur a tenté x connexions infructueuses, son ordinateur ne pourra plus se connecter à votre site pendant une certaine durée.

Si vous n’avez pas d’utilisateur « admin », vous pouvez bannir immédiatement toute tentative de connexion avec ce login (dernière case):

Vous pouvez bloquer complètement des utilisateurs de votre site sans avoir à gérer une configuration particulière de votre serveur. Toutes les adresses IP ou les agents utilisateurs que vous ajouterez dans la liste ne seront pas autorisés à accéder à votre site. La liste noire par défaut contient des utilisateurs repérés comme malveillants et vous pouvez l’inclure automatiquement dans votre propre listing d’hôtes bannis.

 

Si vous constatez dans les logs qu’un utilisateur tente de nombreuses connexions sur votre site, vous pouvez indiquer son adresse IP dans la case Hôtes bannis.

 

Comme la plupart des sites ne sont pas mis à jour à certains moments de la journée, il n’est pas toujours nécessaire de fournir un accès au tableau de bord de WordPress 24 heures sur 24 et 7 jours sur 7. Le Mode Absent vous permet de désactiver l’accès au tableau de bord de WordPress pendant  la période spécifiée. Vous éviterez ainsi des tentatives de piratages lancées pendant la nuit par exemple. Notez bien que vous ne pourrez plus administrer votre site durant la tranche horaire spécifiée. Faites donc attention à ce que vous paramétrez.

La détection des erreurs 404 se concentre sur les utilisateurs générant un très grand nombre d’erreurs de types 404. La détection des erreurs 404 part du principe qu’un utilisateur qui atteint un large nombre d’erreurs 404 en très peu de temps est en train d’analyser votre site à la recherche de vulnérabilités, et donc le bloquera. Cela vous offre aussi l’avantage de découvrir des erreurs 404 sur des parties invisibles de votre site. Toutes les erreurs sont enregistrées dans la page des journaux.

Il existe beaucoup d’autres réglages qui nécessitent prudence et réflexion. En effet, si vous ne les paramétrez pas correctement, vous pouvez vous bannir vous-même, ne plus avoir accès à l’interface de connexion, … Ne réglez donc que ce que vous connaissez! Ils se trouvent dans l’onglet Avancés.

Réglages avancés

Masquer la page de connexion (wp-login.php, wp-admin, admin et connexion) la rend plus difficile à trouver par les attaques automatiques et peut la rendre plus facile à se souvenir pour les utilisateurs non familiers avec la plate-forme WordPress. Ce réglage se trouve dans les avancés:

Vous pouvez aussi modifier les répertoires de vos fichiers, les préfixes de vos tables, … mais à vos risques et périls car vous touchez là aux paramètres de base de WordPress. N’oubliez pas d’effectuer un backup avant de vous lancer dans ces réglages.

A titre d’exemple, voici un e-mail envoyé par iThemes Security qui informe du blocage d’un utilisateur:

 

La version gratuite est déjà très performante mais il existe une version Pro (80 $ /an) qui permet la double authentification (par mot de passe et par sms par exemple), le scanning des virus et des malwares, l’utilisation de CAPTCHA pour éviter les robots, …

Que faire si votre site s’est fait hacker?

Testez d’abord s’il n’y a pas de virus sur votre site à l’aide de virustotal:

https://www.virustotal.com/fr/

Cliquez sur le menu URL et saisissez l’URL de votre site:

Le résultat Clean site vous informe que tout est en ordre:

Si malheureusement ce n’est pas le cas, téléchargez tout votre site par FTP et testez-le à l’aide de l’antivirus de votre ordinateur.

Vous pouvez aussi comparer tous les fichiers avec un backup sain en procédant fichier par fichier. Très souvent, les hackers modifient quelques lignes de code dans plusieurs fichiers. Soyez donc attentif aux dates et à la taille des fichiers quand vous comparez votre site avec votre backup.

Aesecure Quickscan

C’est un outil gratuit qui va scanner votre site, comme le ferait un logiciel anti-virus. Il va analyser le contenu des fichiers à la recherche de signatures, c’est-à-dire de mots- clés, d’appels de fonctions qui pourraient être la marque d’un code vérolé. Le scanner dispose d’une base de données de signatures et soumettra vos fichiers à celles-ci. À la fin du scan, une liste de fichiers potentiellement suspects sera affichée et vous aurez alors le loisir de l’analyser pour déterminer si votre site est effectivement « virusé ».

Si vous pensez que votre site est contaminé, commencez par télécharger aeSecure QuickScan: https://www.aesecure.com/logiciel/telecharger

 

On vous demande de créer un compte gratuit. Si cela vous intéresse, vous pouvez le faire afin de télécharger l’exécutable. Décompressez le fichier zip et récupérez le fichier php ainsi que les fichiers json et placez-là à la racine de votre site web (local ou de production).

A l’aide de votre navigateur web, rendez-vous à l’adresse suivante: http://votresite/aesecure_quickscan.php (en remplaçant votresite par le nom de votre site):

Une fois dans l’interface du scanner, cliquez, dans l’ordre, sur les boutons « 1. Nettoyer les dossiers cache et temp« , puis « 2. Obtention de la liste des fichiers » et, enfin, « 3. Scanner le site« . Notez que, selon l’importance de votre site, le processus va prendre un certain temps,

aeSecure QuickScan va d’abord analyser les 500 premiers fichiers, puis les 500 suivants, et ainsi de suite.

Tous les fichiers repérés ne sont pas des virus! Vous devez les analyser en vous appuyant sur les explications fournies et ne les effacer que si vous êtes certain(e) de ce que vous faites car votre site pourrait ne plus fonctionner.

Dans cet exemple, aeSecure QuickScan a repéré le mot « cracking ». Il ne s’agit pas d’un virus mais bien d’un élément du plugin Wordfence.

Lorsque vous n’aurez plus besoin du script, cliquez sur le bouton « 4. Supprimer ce script du serveur » pour que le script « s’auto-supprime » et qu’une personne malveillante ne puisse l’utiliser à nouveau.

Comment survivre à un hack?

Si votre site est piraté et que vous ne parvenez pas à repérer et à supprimer facilement les fichiers contaminés, commencez par effacer tout le contenu de l’hébergement par FTP. Restaurez ensuite votre dernier backup sain et sécurisez votre site. Remettez ce dernier à jour en fonction de ce qui n’a pas été enregistré dans votre dernier backup: nouveaux articles, nouvelles pages, nouvelles extensions, … Vous ne pourrez pas recréer de commentaires par contre.