Sécuriser un site Drupal

Technologie et développement

Drupal est l’un des CMS (Content Management System) les plus utilisés pour la création de sites Internet. C’est d’ailleurs le 3e CMS le plus utilisé dans le monde, après WordPress et Joomla.

Mais qui dit forte popularité dit aussi forte probabilité que cela attire les convoitises des hackers…

Heureusement, l’un des points forts de Drupal est l’attachement porté à la sécurité. Le code du CMS et de ses modules est méticuleusement passé en revue afin de limiter au maximum les vulnérabilités.

Ceci dit, toutes ces précautions demeurent insuffisantes et vous devez doter votre site Drupal d’une couche supplémentaire de sécurité afin de dissuader même les pirates les plus acharnés…

En 2018, une faille importante, surnommée « Drupalgeddon 2 », permettait à un pirate d’exécuter du code malveillant et prendre le contrôle du système. Ensuite, le pirate pouvait faire à peu près ce qu’il voulait sur le site : voler des données, installer un logiciel de ransomware, voler de la cryptomonnaie…Cette faille, affectant plusieurs versions majeures de Drupal, a rendus vulnérables plusieurs centaines de milliers de sites à travers le monde.

Voici donc une check-list afin de rendre votre site développé avec Drupal quasi invulnérable…

 

Effacez l’utilisateur créé par défaut

Lorsque vous installez Drupal pour la première fois, le système vous demande de créer un utilisateur, qui ensuite aura tous les droits sur le site. Une bonne pratique consiste à effacer cet utilisateur et à en recréer un autre avec les mêmes droits.

Attention : créez d’abord le nouvel utilisateur avant d’effacer le premier, sinon vous n’aurez plus accès à rien ! Choisissez un nom d’utilisateur assez complexe (et pas « admin » !) ainsi qu’un mot de passe fort.

 

Maintenez un minimum de droits d’administration

Si vous êtes amenés à créer plusieurs utilisateurs, veillez à ne pas trop multiplier les utilisateurs possédant des droits d’administrateurs. De simples collaborateurs n’ont pas vocation à opérer des changements importants sur le site. Ils n’ont donc pas de raison de disposer de droits étendus.

 

Utilisez un certificat SSL

L’utilisation d’un certificat sécurisé (« https ») permet de crypter vos données de connexion.

Sans cette sécurité, ces données vont voyager en clair sur le réseau et pourront sans difficulté être récupérées par des robots malveillants.

Cette précaution est d’autant plus importante si votre site est alimenté par plusieurs collaborateurs possédant chacun leur propre compte.

 

Mettez régulièrement à jour les différents modules

Votre installation de Drupal ainsi que tous les modules additionnels doivent toujours être à jour.

Beaucoup de gens remettent au lendemain les mises à jour car elles prennent du temps, mais c’est un tort. Plus vous utilisez de vieilles versions, plus vous avez de chances de vous faire pirater.

En effet, les mises à jour concernent souvent des problèmes liés à la sécurité : un code obsolète est un code vulnérable, tenez-vous le pour dit !

 

Supprimez les modules Drupal non utilisés

Pourquoi ? Tout simplement parce que ces modules, si vous ne les utilisez pas, ne sont certainement plus à jour. Et donc plus vulnérables aux attaques. Et puis si vous ne les utilisez pas, à quoi bon les laisser ? Vous allégerez d’autant votre site.

 

N’installez que des modules reconnus et approuvés

Les modules approuvés sont ceux dont la sécurité a été testée par la communauté des utilisateurs de Drupal et dont les éventuelles failles ont été détectées et corrigées.

Vous disposez donc d’une garantie de sécurité maximum.

N’oubliez pas que chaque jour, des milliers de robots malveillants parcourent le Web à la recherche de failles de sécurité.

Sur le site Drupal.org, il est très facile de vérifier si le module est toujours maintenu à jour ou s’il est obsolète et si sa maintenance est toujours assurée ou non.

Vous pouvez également consulter les questions concernant un problème de fonctionnement d’un module et vérifier quelle réponse le développeur du module a apporté à la question.

 

Choisissez un bon hébergeur

La rapidité est bien souvent le critère principal pour le choix d’un hébergeur. Cependant, vous ne devez pas négliger la sécurité.

Vérifiez quelles sont les mesures de sécurité qu’il propose. Parmi celles qu’il doit absolument offrir, on peut citer la connexion sécurisée par le biais d’un certificat SSL (voir plus haut), la protection anti-DDoS (les attaques visant à saturer le serveur et l’empêcher de fonctionner normalement), un nombre de sauvegardes suffisant du site afin de le restaurer en cas d’attaque…

 

Installez des modules de sécurité pour Drupal

De nombreux modules existent afin de renforcer la sécurité des sites Drupal. Chacun d’entre eux possède une spécificité qui lui est propre :

  • Login Security : ce module sécurise la page de connexion à l’administration du site en vous permettant de bloquer certaines adresses IP de l’accès à cette page, en limitant le nombre de connexions invalides avant de bloquer le compte, en bloquant les tentatives de connexion par force brute.

  • Password Policy : ce module vous permet de fixer des contraintes pour la définition d’un mot de passe (utiliser des majuscules, des chiffres), de définir une date d’expiration d’un mot de passe, de forcer l’utilisateur à définir un nouveau mot de passe à sa prochaine connexion.

  • Captcha : le but d’un captcha est de vérifier que l’utilisateur désirant se connecter est bien un être humain en lui proposant de résoudre une « énigme » que seul un humain peut résoudre. Ce peut être d’effectuer une opération mathématique, déchiffrer des éléments particuliers dans une image.

  • Two-Factor Authentication : ce module permet de mettre en place sur votre site Drupal une authentification à double facteur. Plusieurs mécanismes sont disponibles : codes délivrés par SMS, code pré-générés, mots de passe à usage unique et limités dans le temps.

  • Username Enumeration Prevention : cette technique d’attaque repose sur l’énumération par le robot pirate de noms d’utilisateurs choisis au hasard dans l’espoir de tomber sur un nom d’utilisateur valide. Lorsqu’un nom d’utilisateur valide est trouvé (et que le mot de passe entré est invalide), Drupal affiche un message informant de l’invalidité du mot de passe, ce qui du même coup renseigne l’attaquant sur la validité du nom d’utilisateur. Ce module remplace ce message par défaut afin de rendre impossible ce type d’attaque.

  • Automated Logout : ce module permet de définir une période d’inactivité à l’issue de laquelle l’utilisateur est déconnecté automatiquement du site. Différentes périodes peuvent être définies selon les rôles de chaque utilisateur.

  • Session Limit : ce module permet de limiter le nombre de sessions simultanées pour chaque utilisateur. Il peut être configuré d’après le rôle des utilisateurs ou pour chaque utilisateur individuellement.

  • Block Anonymous Links : la plupart des commentaires générés par des robots contiennent des liens et leurs auteurs ne sont pas identifiés. Ce module bloque automatiquement les liens sur tous les commentaires anonymes.

 

Faites un audit de sécurité de votre site Drupal

Le module Security Review permet de réaliser de façon très simple un audit sécurité de votre site.

Une fois sa vérification faite, Security Review va générer un rapport avec toutes les erreurs qu’il aura rencontrées dans les domaines suivants (la liste est non exhaustive) : permissions de fichiers correctes, fichiers privés sécurisés, erreurs dans la base de données, nombre anormalement élevé de tentatives de connexion (ce qui peut signifier des tentatives de connexion par force brute), nom d’utilisateur utilisé comme mot de passe, exécution de code PHP et Javascript correct…

Ce module ne procède pas automatiquement aux changements requis sur votre site mais vous pouvez utiliser la liste qu’il génère afin de sécuriser ce dernier manuellement.
Une façon rapide et pratique d’avoir un état des lieux de la sécurité de votre installation Drupal.

 

Tenez-vous au courant de l’actualité Drupal

Faites une veille régulière sur l’actualité de Drupal, des mises à jour du CMS et de ses modules.

En effet, un grand nombre d’actualités concernent des problèmes de sécurité et les solutions qui leur sont apportées.

 

Cette liste, évidemment non exhaustive, devrait vous permettre de sécuriser votre site Drupal de façon appropriée et tester votre code afin de détecter d’éventuelles failles de sécurité.

Mais le plus important reste de bien suivre les bonnes pratiques de Drupal concernant la sécurité et de mettre en place un process à suivre afin de détecter les éventuelles failles et de pouvoir y remédier rapidement et efficacement.

FIDESIO vous accompagne dans la création de votre site Internet grâce à ses experts en CMS Drupal.

Notre agence Web est capable de répondre à tous vos besoins et d'élaborer une véritable stratégie digitale.

N'hésitez pas à nous contacter en remplissant notre formulaire de contact.