Skip to main content

5 façons de sécuriser Drupal 10

Écrit par
Headshot of Sushnigdha Tripathy

Sushnigdha Tripathy

feature drupal

23 août 2022

0 minutes de lecture

Drupal est un système de gestion de contenu (CMS) très apprécié, utilisé par de grandes entreprises et des organismes publics pour des applications stratégiques. Grâce à une communauté de développeurs active, à une sécurité robuste, à la prise en charge de plusieurs langues, à sa conformité aux directives WCAG et à sa facilité d’intégration, Drupal est un CMS de choix.

Drupal 10, dont la sortie est prévue en décembre 2022, apporte son lot de nouveautés intéressantes. Parmi les changements notables : la mise en place d’un système de mise à jour automatisé, le remplacement de certaines utilisations de jQuery par du JavaScript natif dans le cœur, la mise à niveau de dépendances tierces (CKEditor 5, Symphony version 6, PHP 8.1) et la suppression de certains modules du cœur comme HAL, QuickEdit, Aggregator, RDF et Activity Tracker. Ces améliorations optimiseront les performances des sites web et offriront une expérience utilisateur de qualité.

La transition de Drupal 9 à Drupal 10 devrait être aussi fluide que le passage des versions 8 à 9, mais nous ne pouvons pas baisser la garde en matière de sécurité. Après tout, notre CMS Drupal 10 reste exposé aux attaques d’acteurs malveillants. Dans cet article, nous allons donc présenter cinq bonnes pratiques de sécurité pour Drupal 10.

1. Surveillez les vulnérabilités

Pour protéger notre site Drupal, l’une des mesures les plus importantes consiste à suivre les vulnérabilités connues de Drupal dans la Snyk Vulnerability Database et à consulter les dernières alertes de sécurité Drupal pour anticiper les menaces potentielles. Plusieurs méthodes s’offrent à nous :

  • L’équipe de sécurité de Drupal publie des alertes de sécurité chaque semaine. Pour suivre l’actualité de la sécurité, connectez-vous et abonnez-vous à sa newsletter par e-mail, rejoignez le groupe Drupal sur Slack ou suivez les flux RSS.

  • Drupal intègre un visualiseur Events Logger qui nous permet de surveiller régulièrement nos sites et de repérer les activités suspectes.

  • Le gestionnaire de mises à jour, qui fait partie de l’API Drupal, recherche régulièrement les nouvelles mises à jour et nous en informe. Vous pouvez le configurer en ajoutant votre adresse e-mail dans le menu de gestion de l’administration pour recevoir les dernières mises à jour de sécurité.

  • Vous pouvez utiliser Drush pour automatiser les tâches fastidieuses et appliquer rapidement les mises à jour de sécurité. Par exemple, pour installer une mise à jour de sécurité dans l’interface Drupal, il faut se connecter, trouver le module, importer les modifications de configuration, et bien plus encore. Avec Drush, une seule commande suffit pour effectuer la même opération et appliquer régulièrement les mises à jour de sécurité plus facilement.

2. Comprenez les attaques de script intersites (XSS)

Selon la Snyk Vulnerability Database, Drupal présente peu de vulnérabilités. Cependant, parmi les vulnérabilités signalées sur une période de 20 ans, une grande partie concerne des attaques de script intersites (XSS). Les XSS sont des vulnérabilités JavaScript dans lesquelles des acteurs malveillants injectent du code malveillant dans des scripts côté client, via JavaScript ou HTML.

Ignorant le danger, les utilisateurs d’applications web sont amenés à exécuter du code malveillant. Une fois ce code exécuté par le navigateur de l’utilisateur, les attaquants peuvent voler nos jetons de session et usurper notre identité pour effectuer des actions qui devraient nous être réservées, notamment accéder à des systèmes privés.

Il existe trois types d’attaques XSS : réfléchies, stockées et basées sur le DOM.

XSS réfléchie (non persistante)

L’attaque XSS réfléchie est la plus simple : la charge utile XSS est renvoyée par une application web vers le navigateur de l’utilisateur. Comme cette attaque est non persistante, la charge utile n’est pas stockée sur le site web. Le script est plutôt intégré à la fin d’une URL. Lorsque l’utilisateur clique dessus, la charge utile malveillante est exécutée.

XSS stockée (persistante)

L’attaque par XSS stockée est la plus dangereuse pour les serveurs côté client. Elle se produit lorsqu’un acteur malveillant injecte la charge utile dans la base de données ciblée. En l’absence de validation des données, celle-ci est stockée de façon permanente sur le site web. Lorsque les utilisateurs ouvrent la page web concernée, ils exécutent involontairement la charge utile dans leur navigateur.

XSS basée sur le DOM

Une attaque par le Document Object Model (DOM) est une attaque côté client dont la charge utile n’est pas envoyée au serveur. Ces attaques sont difficiles à détecter, car elles n’apparaissent pas dans les journaux du serveur.

Voyons comment se déroule une attaque XSS.

Prenons l’exemple d’un site de commerce en ligne spécialisé dans les articles de sport. Il dispose d’une fonction de recherche qui reçoit les données saisies par l’utilisateur dans un paramètre d’URL, comme ceci :

https://notsecured-website.com/search?term=tennisracquet

L’application ci-dessus affiche les détails de la raquette de tennis recherchée :

<p>You searched for: tennisracquet</p>

Comme nous pouvons le constater, aucune validation des entrées n’est effectuée. Les pirates peuvent donc facilement modifier l’URL et y insérer des scripts malveillants, par exemple :

https://notsecured-website.com/search?term=<script>/*+malicious script+*/</script>

Lorsqu’un utilisateur accède à l’URL du pirate, le script malveillant s’exécute dans son navigateur et produit la réponse suivante :

<p>You searched for: <script>/*+malicious script+*/</script></p>

Pour prévenir efficacement les attaques XSS, nous devons :

  • Mettre en place une politique de sécurité du contenu (CSP) pour détecter et neutraliser les attaques XSS.

  • Utiliser des frameworks qui échappent les balises HTML.

  • Investir dans un système de gestion des journaux qui consigne toutes les activités.

  • Suivre les bonnes pratiques de sécurité OWASP.

  • Convertir les caractères de contrôle HTML en encodage adapté au contexte.

  • Ne jamais afficher de code HTML brut provenant des données saisies par les utilisateurs.

  • Analyser régulièrement nos bases de données à l’aide de scanners de vulnérabilités web.

3. Utilisez toujours HTTPS

Des acteurs malveillants peuvent exploiter les vulnérabilités de votre site Drupal en HTTP pour mener des attaques de pharming, d’hameçonnage et de l’intercepteur (MITM), car le protocole HTTP transmet les données en texte brut. Pour sécuriser la connexion entre les deux parties, nous devons toujours utiliser HTTPS. Pour cela, il nous faut un certificat SSL, un protocole sécurisé qui chiffre le trafic du site web.

Les certificats SSL utilisent la cryptographie asymétrique et symétrique pour chiffrer les communications et les sécuriser. Ainsi, même si nos données sont interceptées, elles ne pourront pas être exploitées par un pirate, car elles seront brouillées.

4. Appliquez le principe du moindre privilège

Il n’est pas rare que les organisations utilisent des comptes privilégiés. Cependant, ces comptes offrent davantage de possibilités aux acteurs malveillants pour exfiltrer des données des systèmes et causer des dommages importants. Vous devez donc toujours appliquer le principe du moindre privilège (POLP), qui consiste à limiter les droits d’accès aux seules ressources nécessaires aux utilisateurs pour effectuer leurs tâches.

Appliquer le POLP consiste à accorder aux utilisateurs le niveau d’autorisation minimal nécessaire à leurs tâches, et rien de plus. En limitant leur accès aux différentes parties de notre site Drupal, ainsi qu’à notre infrastructure, à nos bases de données et à nos ressources, nous réduisons le risque que des acteurs malveillants, internes ou externes à notre organisation, accèdent à des éléments qui ne leur sont pas destinés. La principale méthode d’application du POLP consiste à attribuer des rôles définis par des autorisations spécifiques.

Dans Drupal, les utilisateurs se voient attribuer des rôles qui leur permettent de consulter et de modifier du contenu. Nous pouvons définir précisément ces autorisations sur la page Permissions. La configuration des autorisations dans Drupal est simple. Commencez par accéder au panneau Admin, cliquez sur le menu People, puis sur Permissions pour accorder aux utilisateurs des droits en fonction de leurs rôles.

Les autorisations Drupal se répartissent dans les catégories suivantes.

Utilisateur anonyme

Le rôle d’utilisateur anonyme s’applique à tous les utilisateurs qui ne sont pas connectés. En général, ils disposent d’autorisations en lecture seule et des droits d’accès les plus limités.

Utilisateur authentifié

Les utilisateurs authentifiés sont ceux qui sont connectés. Ils disposent généralement de droits plus étendus que les utilisateurs anonymes et leur identité est habituellement vérifiée au moyen d’un nom d’utilisateur ou d’une adresse e-mail et d’un mot de passe.

Administrateur

L’administrateur, ou utilisateur root, dispose de privilèges root qui lui permettent d’apporter d’importantes modifications au système. Soyez toujours prudent lorsque vous accédez à notre site Drupal en tant qu’administrateur root : la moindre erreur peut avoir des conséquences désastreuses pour votre site web.

Contrôle d’accès RBAC

Outre les autorisations présentées ci-dessus, Drupal utilise le contrôle d’accès basé sur les rôles (RBAC). Grâce au RBAC, Drupal applique le POLP et nous permet de contrôler ce que les utilisateurs peuvent voir et faire sur notre site. En accordant les accès selon les rôles et le principe du besoin d’en connaître, nous veillons à ce que seules les personnes de confiance puissent accéder aux données essentielles à notre activité.

5. Renforcez la sécurité avec les modules Drupal

Un module est un ensemble de fichiers JavaScript et PHP qui ajoutent de nouvelles fonctionnalités à votre site Drupal. Drupal propose plusieurs modules pour renforcer la sécurité de ses sites, notamment les suivants.

Module Login Security

Le module Login Security est essentiel pour limiter le nombre de tentatives de connexion infructueuses. Il peut aussi bloquer définitivement ou temporairement certaines adresses IP. De plus, les administrateurs Drupal peuvent le configurer pour recevoir une notification en cas d’attaque par force brute ou d’autre activité indésirable.

Security Review

Le module Security Review vérifie si des erreurs mineures de développement sur notre site pourraient le rendre vulnérable aux attaques. Il n’apporte aucune modification, mais effectue un test de sécurité qui met en évidence les vulnérabilités exploitables par des acteurs malveillants. Une fois le rapport reçu, nous pouvons examiner les éléments signalés et renforcer la sécurité de notre site.

Security Kit

Le module Security Kit (SecKit) propose plusieurs options pour détecter les vulnérabilités web courantes, comme le détournement de clics, les attaques de script intersites et la falsification de requêtes intersites. Il permet également d’utiliser les en-têtes de réponse HTTP pour prévenir les attaques MITM.

Module Password Policy

Le module Password Policy, développé par la communauté, nous aide à configurer des règles de mot de passe pour certains rôles. Il permet aux administrateurs du site de définir différents types de règles, chacune assortie de contraintes (sous-modules) à respecter avant la modification d’un mot de passe. Ces contraintes portent notamment sur :

  • Les majuscules

  • Les minuscules

  • Le délai

  • Les lettres et les chiffres (alphanumériques)

  • La longueur

  • La ponctuation

  • Le nom d’utilisateur

  • La position des chiffres

Module d’authentification à deux facteurs

L’authentification à deux facteurs (2FA) ajoute une couche de sécurité à notre site Drupal et garantit que seuls les utilisateurs correctement authentifiés y ont accès. Le module TFA propose des interfaces qui permettent de choisir différentes solutions 2FA, comme les codes envoyés par SMS, les mots de passe à usage unique générés à intervalles réguliers ou les codes prédéfinis.

Sécurisez votre CMS Drupal

Avec 1 site web sur 30 qui l’utilise, Drupal est une solution populaire et fiable pour nos sites web. Alors, qu’est-ce qui rend Drupal si sûr ?

Drupal respecte les normes de sécurité OWASP, propose des contrôles d’accès robustes et précis, et repose sur une base de code sécurisée étroitement surveillée par l’équipe de sécurité Drupal. L’ensemble de ces éléments en fait un CMS très sûr. Cela ne signifie toutefois pas qu’il est à l’abri des vulnérabilités.

Lorsque nous utilisons Drupal comme CMS, nous devons bien comprendre les techniques d’exploitation web et appliquer les bonnes pratiques pour sécuriser notre site. En plus des cinq mesures de sécurité présentées ici, nous pouvons mettre en place l’analyse de sécurité des sites web et l’analyse des vulnérabilités pour assurer la disponibilité et la sécurité de nos sites Drupal.

Lancez-vous dans les compétitions Capture The Flag

Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.

Lire la suite

illustration hero ai
Blog

PHP corrige deux vulnérabilités RCE critiques exploitables sans authentification (CVE-2026-109618, CVE-2026-109619) : mettez à jour dès maintenant

Deux vulnérabilités critiques dans le cycle de traitement des requêtes de PHP peuvent permettre l’exécution de code à distance sans authentification. Passez à une version corrigée ou installez un correctif rétroporté par votre fournisseur pour les versions antérieures.

blog feature ai lilac
Blog

Transformez votre backlog de vulnérabilités en pull requests grâce à la remédiation agentique

Evo Remediation Agent est désormais disponible en aperçu ouvert et apporte la résolution automatisée des dépendances à Evo Agentic AppSec. Les équipes AppSec peuvent désormais lancer des campagnes de remédiation continues

AI Background min crop
Blog

L’IA fait surgir tous les risques que vous avez acceptés : sept enseignements du panel de sécurité de l’IA sans filtre

L’IA rend les attaques moins coûteuses et plus rapides, exposant des risques déjà présents dans les organisations. Quatre responsables de la sécurité expliquent pourquoi une défense à la vitesse des machines et une remédiation accélérée sont désormais indispensables.