Un site web piraté : c’est le cauchemar de bien des entrepreneurs. En comprenant mieux les menaces liées à la cybersécurité et avec de la vigilance, vous pouvez réduire les risques.
WordPress est le gestionnaire de contenu (Content Management System, ou CMS) le plus utilisé au monde, et près de 40% des sites sont créés avec cet outil. Voilà pourquoi les pirates informatiques en font une cible de choix. Bien que WordPress présente quelques points vulnérables, il est heureusement possible d’accroître ses niveaux de sécurité.
Nous avons fait le tour pour vous de toutes les actions à poser pour sécuriser un site web construit avec WordPress.
1. Faire des sauvegardes régulières des fichiers et de la base de données
La plupart des hébergeurs offrent des solutions de sauvegardes automatiques ou manuelle. Les sauvegardes sont généralement envoyées vers des centres de données externes aux serveurs d’hébergement.
Nous recommandons tout de même de sauvegarder à l’occasion les fichiers et la base de données physiquement, c’est-à-dire sur un disque dur interne ou externe. En cas de piratage ou de faille de sécurité, il sera alors possible de récupérer vos données même si votre hébergeur éprouve des soucis avec ses sauvegardes.
Il faut garder en tête que la gestion des sauvegardes manuelles est une tâche qui demande du temps et qui peut être oubliée. Il existe plusieurs extensions WordPress qui permettent de sauvegarder automatiquement les fichiers d’un site en infonuagique, mais ailleurs que sur l’hébergement, comme UpdraftPlus, Backup Buddy et BackWPup.
2. Suivre les mises à jour de WordPress
Il est recommandé de télécharger la dernière version de WordPress dès que celle-ci est disponible. Ces mises à jour du système sont importantes afin de corriger d’éventuelles failles de sécurité.
Même recommandation pour les extensions WordPress. Ces extensions sont régulièrement mises à jour afin de maximiser la compatibilité avec la version WordPress en cours.
Pour en savoir davantage sur l’aspect plus technique du sujet, vous pouvez consulter cet article.
3. Ajouter une extension de sécurité
Les extensions de sécurité sont conçues spécialement pour assurer la sécurité générale des sites WordPress. En plus d’une protection contre les attaques malveillantes, ces extensions informent le propriétaire du site en temps réel s’il se passe de quoi d’inquiétant avec le site web. Voici quelques extensions efficaces, dont certaines sont payantes en version pro :
Notez par contre que bien que ces extensions soient utiles pour accroître la sécurité de votre site web, elles ne garantissent pas une protection totale contre les menaces potentielles.
4. Utiliser seulement des extensions officielles
On pourrait être tenté d’installer une extension non officielle afin d’éviter des frais. C’est fortement déconseillé car souvent, une version gratuite d’une extension normalement payante peut contenir du code malveillant qui donnerait accès au site au distributeur de l’extension trafiquée. Il pourrait alors accéder aux données du site en entier et même de vos autres sites, si vous en avez plusieurs sur le même hébergement.
5. Utiliser autre chose que « admin » comme nom d’utilisateur
La connexion à l’administration WordPress se fait via un identifiant par défaut nommé « admin ». C’est une information que les pirates utilisent largement pour s’introduire dans les sites WordPress. À la place de « admin », il est suggéré de créer un identifiant personnel plus difficile à deviner pour un visiteur. Ensuite, la meilleure option est tout simplement de supprimer le compte « admin ».
6. Activer l’authentification en 2 étapes
Le premier niveau de sécurité se traduit par le processus habituel : l’utilisateur est invité à saisir son identifiant et son mot de passe. Pour ce qui est d’un second niveau, un courriel ou un SMS est envoyé. Il contient un code unique que l’utilisateur doit saisir suite à son authentification. Étant donné qu’un autre périphérique est utilisé pour la deuxième étape de connexion, il y a peu de risque qu’un logiciel malveillant y ait accès.
La façon la plus simple de bénéficier de l’authentification à 2 facteurs est de télécharger une extension WordPress spécifiquement dédiée. Google Authenticator et Two Factor Authentication sont de bonnes suggestions.
7. Bloquer l’accès aux URLs par défaut de WordPress
Par défaut, la structure d’une installation WordPress respecte toujours la même nomenclature pour ce qui est des URLs (l’URL est l’adresse qui apparait dans votre navigateur). Il existe une URL pour se connecter, pour les mots de passe perdus, pour s’inscrire en tant qu’utilisateur, pour les fichiers médias, pour les fichiers du cœur de WordPress, les catégories, les étiquettes, etc. Les pirates et les scripts malicieux utilisent toujours ces URLs pour tenter d’exploiter les failles de sécurité et il peut être judicieux de les modifier ou d’empêcher aux visiteurs d’y accéder. Les conditions d’accès aux dossiers peuvent être modifiées dans le fichier « .htaccess ». Si la simple idée d’aller jouer dans les fichiers sources de votre installation WordPress vous donne des sueurs froides, sachez qu’il est possible d’installer l’extension Hide My WordPress pour vous simplifier la tâche.
8. Activer le protocole HTTPS
Ce protocole garantit que les données qui circulent entre le navigateur et le serveur web sont encryptées. Quiconque essaierait de les intercepter se retrouverait à lire un charabia impossible à décrypter. Chez la majorité des hébergeurs, un certificat SSL est inclus dans les forfaits d’hébergement et est activé par défaut. Il est également possible d’acheter des certificats d’encryption encore plus forte, à plusieurs prix différents. Peu importe le certificat, ils changent la partie “http” de l’URL pour “https”.
Il est fortement conseillé de vous assurer que vous en avez un certificat activé et fonctionnel sur votre site. Ainsi, les moteurs de recherche prendront votre site plus au sérieux et les navigateurs de vos visiteurs afficheront un cadenas à gauche de l’URL pour signifier aux visiteurs que votre site est sécurisé. Sinon, ils verront en grosse lettres rouges l’avis de Chrome disant que leur connexion n’est pas privée! installé.
9. Encourager ou forcer les utilisateurs à utiliser des mots de passe forts
Tel que mentionné au point 5, les attaques de type « force brute » utilisent des combinaisons de noms d’utilisateurs et de mots de passe en très grand nombre. Un nom d’utilisateur est difficile et peu pratique à complexifier mais ce n’est pas le cas pour un mot de passe.
Il faut vous assurer que votre mot de passe ne peut pas se retrouver dans un dictionnaire de mots de passe. La meilleure pratique est de laisser WordPress générer un mot de passe pour vous (ou utiliser un générateur de mot de passe disponible gratuitement en ligne) et d’ensuite utiliser un gestionnaire de mots de passe comme LastPass ou simplement celui de votre navigateur. Si vous préférez pouvoir taper votre mot de passe au clavier à chaque connexion, vous pouvez créer un mot de passe compliqué en vous assurant qu’il est long d’au moins 8 à 10 caractères et d’y parsemer des minuscules, des majuscules, des chiffres et quelques caractères spéciaux. Ainsi, il y aura très peu de chances que votre mot de passe se trouve dans un dictionnaire de mots de passe. Assurez-vous enfin que votre mot de passe ne contienne ni votre nom, votre nom d’utilisateur, ni le nom de domaine du site ou quelque chose facile à deviner.
10. Restreindre l’accès à la zone d’administration
La zone d’administration de votre site WordPress, ainsi que celle de votre hébergement et nom de domaine devraient être accessibles au moins de personnes possible. Vous ne devriez jamais partager vos accès, mais créer des accès distincts. Si ce n’est pas possible, changer le mot de passe de votre compte dès que la personne n’aura plus besoin de votre accès.
11. Éviter l’utilisation de thèmes et d’extensions obsolètes
Au point 2, nous avons vu qu’il est très important de tenir le cœur de WordPress, les thèmes et les mises à jour. Cependant, certains thèmes ou certaines extensions sont parfois abandonnés par leurs développeurs. C’est donc une bonne pratique de régulièrement faire un tour d’horizon de tous vos thèmes et extensions pour vérifier qu’ils ont été mis à jour récemment, entre six mois à un an au maximum. Certaines extensions de sécurité vous aviseront également si ce n’est pas le cas ou si WordPress ne les supporte plus.
12. Surveiller les journaux d’activité du site
Les extensions de sécurité pour WordPress permettent de surveiller les journaux d’activité de votre site. Vous pouvez également accéder à ces journaux en vous connectant à votre compte d’hébergement web et en consultant les fichiers de journalisation de votre site. Cependant, ils ne sont pas aussi conviviaux que les rapports émis par une extension de sécurité.
Les journaux d’activité contiennent toutes les actions effectuées sur votre site. On parle entre autres des tentatives de connexion, des changements de paramètres et des mises à jour de contenu. Il est important de surveiller régulièrement ces journaux. Vous pourrez facilement y déceler toute activité suspecte ou tentative d’attaque.
13. Utiliser un CDN et / ou un service de sécurité tiers pour la protection contre les attaques DDoS et les injections SQL
Pour vous protéger contre les attaques DDoS (Distributed Denial-of_service) et les injections SQL, deux types d’attaques très courantes contre les sites web, vous pouvez utiliser un CDN (Content Delivery Network). Un CDN est un service tiers qui copie toutes les données statiques de votre site web sur un réseau de serveurs éparpillés un peu partout sur la planète. Pour utiliser un CDN, vous pouvez vous abonner à un service tiers comme Cloudflare ou Sucuri.
L’avantage premier du CDN est de rendre votre site aussi rapide pour un visiteur du même pays que pour un visiteur à l’autre bout du monde. Ce plus, cela permet de réduire l’utilisation des ressources sur votre serveur principal. Et, au niveau sécurité, comme le CDN se trouve entre le registraire (où est votre nom de domaine) et le serveur (où se trouve votre site web), les services de CDN offrent aussi des services de protection tel qu’un pare-feu pour contrer les attaques DDoS et des tentatives d’injection SQL.
Ces services ne garantissent pas une protection totale contre toutes les menaces mais ils sont un excellent complément à tous les autres points mentionnés dans cet article.
14. Mettre en place des limites sur le nombre de tentatives de connexion
Une dernière bonne protection contre les attaques de type force brute est tout simplement de configurer une limite sur le nombre de tentatives de connexion pour les utilisateurs. Ainsi, dès qu’un même utilisateur (ou plutôt une même adresse IP) échoue à se connecter pour un certain nombre de fois en un certain temps (par exemple, 3 fois en 5 minutes), il perdra complètement l’accès à votre site web pour une durée pré-déterminée. Vous pouvez décider le nombre de tentatives et les durées.
Bien que cette protection soit parfois un inconvénient pour un réel utilisateur qui a oublié son nom d’utilisateur ou son mot de passe, elle empêche les pirates de faire des milliers de tentatives successives en quelques minutes. Cette fonctionnalité est déjà intégrée à plusieurs extensions de sécurité mais il existe également l’extension « Limit Login Attempts Reloaded » qui est actuellement utilisée sur plus de deux millions de sites WordPress.
En conclusion
Plusieurs des actions à prendre pour améliorer la sécurité de votre site WordPress sont faciles et rapides à mettre en place. D’autres sont plus complexes. Si vous avez besoin d’aide ou souhaitez en discuter, l’équipe de Bonheur en vrac est là.