Protéger WordPress par de bonnes pratiques

Protéger un site WordPress commence par de bonnes pratiques qui ne nécessitent aucune connaissance en informatique.

Toujours utiliser des mots de passe forts, choisir des identifiants difficiles à trouver, mettre rapidement en place les mises à jour, supprimer les fichiers inutiles ou utiliser une extension de sécurité, autant d’actions qui rendent les intrusions plus difficiles.

Ceux qui ont des connaissances informatiques, pourront aussi consulter une série d’articles sur la sécurité.

La principale faille de sécurité
La principale faille de sécurité


Haut de page

Des mots de passe forts

Les études montrent que les mots de passe sont souvent trop faciles à trouver. Rappelons donc les règles de prudence :

  • pas moins de 8 caractères (c’est vraiment un minimum),
  • mélanger caractères alphabétiques et chiffres, majuscules et minuscules, avec des caractères spéciaux (!;/%…),
  • ne pas utiliser une phrase en clair (exemple : « monsiteamoi »),
  • changer le mot de passe régulièrement,
  • ne pas utiliser le même mot de passe pour tous ses sites.

À noter : du fait de l’augmentation des capacités de calcul et de la constatation que ces conseils aboutissaient à des effets pervers, ces recommandations viennent d’être remises en cause. Désormais, le conseil va plutôt vers des phrases longues, absurdes, mais plus facilement mémorisables (exemple : « lesartichaudsdecouleursonoresdudesertanglican »).
Personnellement, je conserve la solution du gestionnaire de mot de passe, présentée plus loin dans cet article, qui permet d’avoir des mots de passe longs et introuvables par une recherche par dictionnaire.

Les tentatives de découverte illicite de mots de passe s’appuient principalement sur deux tactiques :

  • recherche des mots de passe dont on sait qu’ils sont largement utilisés (aussi, éviter « 12345 » ou « azerty »),
  • recherche systématique de toutes les combinaisons « identifiant / mot de passe » possibles.

Comment créer ses mots de passe

Une façon de faire consiste à mémoriser non pas un mot de passe mais une phrase et à prendre la première lettre de chaque mot.
Par exemple, on mémorise « je vais souvent visiter le site de Daniel Farnier ». La base du mot de passe devient « jvsvlsdDF ». Ajoutons « > » le numéro du mois en cours et les deux premières lettres de l’adresse du site.
Nous obtenons un mot de passe (« jvsvlsdDF>10df ») à la fois fort , différent pour chaque site, changeant régulièrement, et qu’on peut recomposer car il est beaucoup plus facile de retenir une méthode qu’un mot de passe illisible.

Bien évidemment, c’est un exemple de ce qu’on peut faire, à vous de trouver la méthode qui vous convient.

Nous pouvons désormais utiliser ce type de mot de passe pour ajouter un utilisateur à un site WordPress :

Protéger WordPress - Créer un mot de passe fort pour un utilisateur WordPress
Protéger WordPress – Créer un mot de passe fort pour un utilisateur WordPress

Utiliser un gestionnaire de mots de passe

WordPress propose des mots de passe forts lorsqu’on crée un utilisateur :

Afficher le mot de passe proposé par WordPress
Afficher le mot de passe proposé par WordPress
Protéger WordPress - Mot de passe fort proposé par WordPress
Protéger WordPress – Mot de passe fort proposé par WordPress

L’inconvénient, c’est qu’il est impossible de mémoriser un pareil mot de passe. Une excellente solution consiste à utiliser un coffre fort électronique comme KeyPass. Il vous permet de stocker et utiliser vos mots de passe de façon simple et sécurisée. Voici une vidéo réalisée par la Commission Informatique et Liberté :

Protéger WordPress - Fonctions de KeyPass
Protéger WordPress – Fonctions de KeyPass

Voici un exemple de définition d’un site WordPress dans KeyPass :

Protéger WordPress - Définir un site dans KeyPass
Protéger WordPress – Définir un site dans KeyPass

On remarquera, encadré en bleu, l’icône du générateur de mot de passe.

Les fonctions disponibles sont accessibles par les icônes, les raccourcis claviers ou en double cliquant :

Protéger WordPress - Actions possibles sur un site défini dans KeyPass
Protéger WordPress – Actions possibles sur un site défini dans KeyPass

Une fois un site défini, voici comment s’y connecter :

  1. cliquer sur la définition du site dans KeyPass puis sur l’icône en forme de terre; si vous aviez défini l’adresse (url) de la page de connexion dans la description du site, la page s’ouvre dans votre navigateur par défaut :

    Protéger WordPress - Ouvrir un site depuis KeyPass
    Protéger WordPress – Ouvrir un site depuis KeyPass
  2. cliquer sur le champ de saisie de l’identifiant si celui-ci n’est pas déjà sélectionné,

    Protéger WordPress - Page de connexion WordPress
    Protéger WordPress – Page de connexion WordPress
  3. faire ALT TAB pour revenir dans KeyPass,
  4. cliquer sur la saisie automatique ou taper CTRL V

    Protéger WordPress - Saisie automatique KeyPass
    Protéger WordPress – Saisie automatique KeyPass
  5. KeyPass recopie identifiant et mot de passe dans la page de connexion
    Protéger WordPress - Recopie automatique de l'identifiant et du mot de passe par KeyPass
    Protéger WordPress – Recopie automatique de l’identifiant et du mot de passe par KeyPass

    Si les informations saisies dans KeyPass sont exactes, vous êtes désormais connecté à votre site.

Un outil comme KeyPass permet d’oublier complètement ses mots de passe, à l’exception de celui qui protège KeyPass qu’il ne faut surtout pas oublier, sinon, KeyPass devient inutilisable.
Il est possible d’installer KeyPass sur ses différents ordinateurs, mais aussi des clés USB.
Vous pouvez recopier la liste de vos sites d’une installation KeyPass à une autre afin de la garder à jour sur chaque installation.

Haut de page

Protéger le compte administrateur

En analysant mes logs, (fichiers journaux) j’ai trouvé différentes tentatives d’intrusions aux adresses : « wp-admin.php », « admin.php », « admin », « administrator »… Manifestement, l’assaillant cherchait l’identifiant du compte administrateur et s’il l’avait trouvé, il aurait été à la moitié du chemin pour prendre le contrôle total de mon site.

Pour l’éviter, voici deux dispositions :

  • utiliser un identifiant difficile à deviner,
  • créer un compte pour rédiger ses articles.

Choisir son identifiant de compte administrateur

Lorsque vous avez installé WordPress, un identifiant vous a été demandé :

Protéger WordPress - Choix de l'identifiant du compte administrateur à l'installation de WordPress
Protéger WordPress – Choix de l’identifiant du compte administrateur à l’installation de WordPress

Cet identifiant devient l’identifiant du compte administrateur. Pour protéger ce précieux compte, il convient de choisir un nom qui ne se réfère pas… à l’administration WordPress (admin, wp-admin…) et qui soit suffisamment difficile à trouver.

Si vous n’avez pas fait un choix judicieux au moment de l’installation, vous pouvez changer l’identifiant du compte administrateur, mais il faut suivre une procédure particulière. En effet, WordPress vérifie qu’il existe toujours un compte administrateur. Sage précaution car sans compte administrateur, impossible de réaliser certaines actions réservées aux administrateurs. Le Codex WordPress consacre une page à décrire les actions (capabilities) que peut effectuer chaque rôle. Parmi les actions que seul un administrateur peut réaliser : la gestion des extensions (plugins), la gestion des thèmes et la gestion des utilisateurs.

Pour changer l’identifiant du compte d’administrateur de site WordPress, il faut procéder ainsi :

  1. en étant connecté au compte d’administrateur, créer un deuxième compte d’administrateur (en choisissant judicieusement son identifiant),

    Protéger WordPress - Créer un deuxième compte administrateur
    Protéger WordPress – Créer un deuxième compte administrateur
  2. se déconnecter de l’ancien compte administrateur et se reconnecter avec le nouveau compte,
  3. supprimer l’ancien compte administrateur

    Protéger WordPress - Supprimer l'ancien compte administrateur
    Protéger WordPress – Supprimer l’ancien compte administrateur

Affecter les articles de l’ancien compte administrateur au nouveau compte administrateur (ou mieux, à un compte d’éditeur) :

Protéger WordPress - Affecter les articles au nouvel administrateur
Protéger WordPress – Affecter les articles au nouvel administrateur
Haut de page

Créer un compte d’éditeur

Il n’est pas conseillé d’utiliser un compte d’administrateur pour rédiger les articles car vous augmentez le risque de voire les identifiants de connexion découverts de deux façons :

  • vous multipliez les connexions à votre administration avec le risque de vous faire intercepter votre identifiant / mot de passe,
  • par défaut, l’identifiant de l’auteur d’un article apparaît dans le permalien quand on survole son nom :
    Protéger WordPress - L'identifiant du compte de l'auteur apparaît dans le permalien
    Protéger WordPress – L’identifiant du compte de l’auteur apparaît dans le permalien

    Pour se protéger, il suffit de créer deux comptes :

  • un pour rédiger et publier les articles (rôle d’éditeur), qui s’il est découvert ne permettra au pirate que de rédiger et publier des articles;
    en cas de piratage de ce compte, il suffira de se connecter avec un compte d’administrateur pour :

    • supprimer les articles publiés par le pirate,
    • modifier le compte découvert pour que le pirate ne puisse plus se connecter.
  • l’autre pour administrer le site, notamment gérer les extensions (plugins), les thèmes et les utilisateurs.

On voit que si le compte administrateur est découvert et que le pirate a modifié les mots de passe, vous ne pouvez plus vous connecter.
À savoir : si vous avez accès à la Base de Données, vous pouvez encore réinitialiser le mot de passe et reprendre ainsi le contrôle de votre site.

Limiter les inscriptions

WordPress permet de décider si on souhaite laisser la possibilité aux visiteurs de créer un compte d’utilisateur, ou si les comptes d’utilisateurs doivent être uniquement créés via l’administration.

L’option est accessible via le menu « Réglages / Général » de l’administration :

Protéger WordPress - gestion des inscriptions
Protéger WordPress – gestion des inscriptions

Si vous n’avez pas la nécessité d’autoriser les visiteurs à s’inscrire sans contrôle, mieux vaut décocher cette case. Même si WordPress est sécurisé, il peut y avoir une faille, et le fait de pouvoir créer un compte peut aider un pirate à s’introduire au cœur de votre site.

Haut de page

Mettre rapidement à jour le noyau WordPress

Les versions du noyau WordPress apportent des fonctionnalités nouvelles, mais aussi des améliorations de sécurité.  L’article ci-dessous décrit comment gérer l’installation des versions sur un site WordPress :

Les versions du noyau WordPress

 

Tenir à jour les extensions, les thèmes et les traductions

La gestion des mises à jour de thèmes, extensions et traductions installés sur un site se situe :

  • sur la même page que le noyau :

    Protéger WordPress - mise à jour des extensions, thèmes et traductions
    Protéger WordPress – mise à jour des extensions, thèmes et traductions
  • sur la page des extensions
Protéger WordPress - Mise à jour d'une extension
Protéger WordPress – Mise à jour d’une extension

Chaque extension, thème ou traduction du noyau a son propre rythme de développement. Il est important de se connecter régulièrement à l’administration du site pour vérifier si une ou plusieurs mises à jour sont disponibles.
À la sortie d’une version majeure de WordPress, il est courant de voir apparaître des mises à jour de thèmes et extensions.
Un conseil : mettez à jour rapidement vos thèmes et extensions lorsque la mise à jour concerne la sécurité. Dès qu’une faille est connue sur une extension ou un thème, les attaques fusent.

Le principal risque couru lorsqu’on installe une nouvelle version d’extension ou de thème, c’est qu’une incompatibilité de programme (par exemple deux fonctions php de même nom) fasse tomber le site.
Il vaut donc mieux mettre à jour extension par extension, car en cas de problème, vous saurez quelle extension retirer (via FTP car vous risquez de ne plus pouvoir accéder à l’administration du site).
Pour désactiver une extension, il suffit de modifier le nom du répertoire ou du fichier de l’extension. Votre site redeviendra donc disponible rapidement, mais il restera à corriger le problème, éventuellement en contactant l’auteur de l’extension.

Protéger WordPress - Désactiver une extension en modifiant son nom
Protéger WordPress – Désactiver une extension en modifiant son nom
Haut de page

Choisir son préfixe des tables

WordPress utilise une Base de Données composée de 12 tables en mono-site. Garder le préfixe par défaut (« wp_ ») c’est faciliter le travail des pirates. Il vaut donc mieux choisir un préfixe personnalisé qui leur compliquera le travail.

Le préfixe des tables peut être choisi au moment de l’installation de WordPress :

Protéger WordPress - choisir le préfixe des tables
Protéger WordPress – choisir le préfixe des tables

Il est toujours possible de modifier le préfixe des tables après une installation. On trouvera la procédure à suivre dans le tutoriel : « modifier le préfixe des tables WordPress ».

Haut de page

Supprimer les fichiers inutiles

Pour la sécurité, il vaut mieux ne conserver sur son site que ce qui est utile. Une faille est bien souvent une procédure qui part d’une petite faiblesse  et d’étape en étape entre plus profondément dans le système. Il suffit que le pirate ne puisse réussir une étape, pour bloquer la tentative d’intrusion.

Il y a trois sources de fichiers inutiles qu’il est préférable de supprimer :

Les fichiers créés lors de l’installation

Les fichiers « license.txt », « readme.html » et « wp-config-sample.php » ne sont pas nécessaires au fonctionnement d’un site WordPress. Si vous êtes sur une installation hébergée, vous pouvez les supprimer (sous « wordpress.com » vous n’avez pas accès aux fichiers de programme de WordPress).

À savoir : lors d’une réinstallation de WordPress, ces fichiers seront recréés.

Avec FileZilla, cliquer sur les noms de fichiers en gardant la touche « CTRL » enfoncée, cliquer droit sur un des noms de fichiers sélectionnés et cliquer sur « Supprimer ».

Attention :

  • supprimer « index?.html » mais surtout pas « index.php ».
  • supprimer « wp-config-sample.php » mais surtout pas « wp-config.php ».
Suppression des fichiers : index???.html, license.txt, readme.html et wp-config-sample.php
Sélection et suppression des fichiers inutiles

Supprimer les thèmes inactifs

Le fait qu’un thème soit utilisé ou non est sans effet sur les tentatives de piratage : si le fichier contenant un code défaillant est présent sur l’installation du site, il peut être exploité. Il vaut donc mieux supprimer les thèmes inutilisés, quitte à les réinstaller lorsqu’on souhaite les utiliser.

Pour supprimer les thèmes inactifs, il faut se rendre dans l’administration, et accéder à l’option « Thèmes » du sous-menu « Apparence » :

Dans l'administration du site, cliquer sur "Apparence" puis "Thèmes"
Cliquer sur « Apparence » puis « Thèmes »

Cliquer dans la zone visualisant le thème à supprimer (dans l’exemple ci-dessous, le thème « Twenty Thirteen ») :

Cliquer sur la zone de visualisation d'un thème à supprimer
Sélectionner un thème à supprimer

Cliquer sur l’option « Supprimer » :

Cliquer sur le bouton "Supprimer" apparaissant en-dessous de la visualisation du thème
Cliquer sur le bouton « Supprimer »

Confirmer la suppression si cela est demandé :

Une zone de dialogue peut apparaître pour demander la confirmation de la suppression
Confirmer la suppression

On peut constater que le sous-répertoire contenant les fichiers du thème a été supprimé du répertoire « Thèmes » de l’installation WordPress :

Il n'y a plus de sous-répertoire "twenty thirteen" dans le répertoire des thèmes
Le thème « twenty thirteen » n’apparaît plus dans la liste des thèmes

L’opération de suppression doit être réalisée pour tous les thèmes autres que le thème actif.

Supprimer les extensions inactives

La plupart des failles de sécurité attribuées à WordPress sont en fait des failles situées dans le code des extensions. Elles peuvent être exploitées si l’extension est installée, qu’elle soit active ou non. Mieux vaut donc supprimer les extensions qu’on n’utilise pas.

Se connecter à l’administration et cliquer sur l’option « Extensions installées » du menu « Extensions :

Cliquer sur l'option "Extensions installées" du menu "Extensions dans l'administration.
Option « Extensions installées » dans l’administration

Cliquer sur l’option « Supprimer » de l’extension. La suppression n’est possible que si l’extension est désactivée (l’option « Désactiver » n’est pas proposée) :

Une option supprimer apparaît sous le nom des extensions désactivées
Cliquer sur « Supprimer » qui apparaît si l’extension est désactivée

Confirmer la demande de suppression :

Cliquer sur "Oui, supprimer les fichiers"
Confirmer la suppression des fichiers

WordPress retourne à la liste des extensions installées et confirme la suppression de l’extension :

Affichage de la confirmation de la suppression de l'extension en haut de la page listant les extensions installées
Message de confirmation de la suppression (des fichiers) de l’extension

À noter : il est important de comprendre les différences entre désactiver et supprimer une extension.

  • une extension désactivée n’est plus exécutée par WordPress, mais ces fichiers de programme et ses paramètres sont conservés.
    Il suffit de la réactiver pour qu’elle s’exécute de la même façon qu’avant sa désactivation,
  • une extension supprimée n’est plus présente sur le site; elle n’est plus exécutée car ses fichiers de programmes ne sont plus présents.
    Pour l’exécuter de nouveau, il faudra la réinstaller et éventuellement rétablir ses paramètres (une procédure de suppression d’extension conforme aux bonnes pratiques de WordPress ne doit laisser aucune trace : plus aucun fichier de programme ou de mise en forme, plus d’information dans la base de données).

Certains articles de ce site sont relatifs à l’installation, la gestion et la création d’extensions.

Haut de page

Des extensions pour améliorer la sécurité

Il existe des extensions qui aident à gérer la sécurité d’un site. En voici quatre qui sont les plus souvent citées.

Secupress

Une extension développée par un expert français reconnu de la sécurité :

Sucuri Security

Protéger WordPress - Sucuri security
Protéger WordPress – Sucuri security

Intéressant : Pour vérifier que votre site n’a pas été piraté, Sucuri propose un test en ligne gratuit.

iThemes Security

Protéger WordPress - iThemes Security
Protéger WordPress – iThemes Security

Wordfence

Wordfence - extension WordPress de sécurité
Protéger WordPress – Wordfence
Haut de page

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *