.

Comment réaliser un audit de sécurité Drupal ? Vue d'ensemble des modules et bibliothèques

Un audit de sécurité est le processus d'identification des menaces de sécurité pouvant entraîner un accès non autorisé au contenu, des fuites de données, un contournement de la sécurité, et d'autres dangers. Dans la première partie de la série sur la réalisation d'un audit de sécurité, nous nous concentrerons sur l'aperçu des versions des modules Drupal que nous utilisons chez Droptica à cette fin, ainsi que des bibliothèques PHP et JavaScript.

Audit de sécurité Drupal

Chez Droptica, nous faisons tous les efforts pour garantir que les solutions que nous fournissons soient aussi sûres que possible. Nous utilisons les outils fournis par la communauté Drupal, tels que le module Security Review, pour optimiser le processus de détection des erreurs de sécurité les plus courantes. Nous utilisons également le Security Kit pour rendre le projet sur lequel nous travaillons plus résistant aux attaques. Vous pouvez en apprendre plus sur la fonctionnalité de ces modules dans les articles liés, et l'information sur leur fonctionnement sera utile dans les prochaines parties, dans lesquelles nous parlerons de la révision de la configuration de Drupal et de l'analyse du code.

Vérification des versions des modules Drupal installés

Mettre à jour les modules et les bibliothèques est l'activité la plus simple que nous puissions effectuer pour améliorer la sécurité de notre application. Drupal fournit une vue listant tous les modules, qui indique en outre si un module donné est à jour, et si ce n'est pas le cas – si la mise à jour contient des correctifs de sécurité.

Pour vérifier si les modules sont à jour, allez à /admin/modules/update

Vérification des versions des modules Drupal dans le cadre de l'audit de sécurité

Dans la capture d'écran ci-dessus, vous pouvez voir que certains des modules nécessitent une mise à jour. Bien sûr, dans de tels cas, nous recommandons toujours de mettre à jour tous les modules possibles. Si l'un des modules contient un correctif de sécurité, la mise à jour est nécessaire pour garantir un niveau de sécurité élevé pour l'application.

Dans le cas de Drupal, l'information sur la présence d'une faille de sécurité dans un module donné est rendue publique lorsque l'auteur du module publie sa version corrigée. Les auteurs de modules essaient généralement de cacher quel code a été modifié pour corriger une faille de sécurité, mais cela signifie toujours que l'attaquant a juste besoin de plus de temps pour trouver un moyen de provoquer le bug et de l'exploiter. Le temps est important, donc vous devriez suivre régulièrement les mises à jour de sécurité, pas seulement lors d'un audit de sécurité Drupal. Comme mentionné précédemment, c'est l'une des étapes les plus simples que nous pouvons prendre pour assurer un niveau de sécurité plus élevé pour notre application.

Révision des correctifs

Lors de la mise à jour des modules Drupal, vous devez également vérifier si un correctif a été appliqué à un module donné. Le cas échéant, nous procédons comme suit :

  1. Nous vérifions si le correctif a été créé par la communauté et s'il concerne un problème spécifique sur drupal.org. Le cas échéant, nous recherchons le problème dont provient le correctif. Il est possible que le correctif ait été appliqué à l'une des versions plus récentes du module. Dans un tel cas, nous recommandons de mettre à jour le module et de supprimer le correctif en indiquant que le code qui corrige le bug ou ajoute une fonctionnalité donnée a été appliqué à la version officielle et plus récente du module. Si le correctif n'a pas encore été appliqué à la version plus récente du module, nous recommandons tout de même de mettre à jour et de tester si la dernière version du correctif remplit son objectif.
  2. Si le correctif n'a pas été créé par la communauté Drupal, mais est le résultat du travail sur le projet, nous recommandons toujours de mettre à jour le module. Dans ce cas, cependant, garantir le bon fonctionnement du correctif incombe aux personnes responsables du code personnalisé du projet. Après la mise à jour, vous devez vérifier si le correctif fonctionne comme prévu. Sinon, nous recommandons d'apporter les corrections appropriées au correctif qui assureront son bon fonctionnement sur la dernière version du module.

Révision des bibliothèques PHP

La prochaine étape consistera à revoir les bibliothèques PHP utilisées. Pour les lister, nous pouvons utiliser la commande composer show ou le paquet local-php-security-checker. Nous recommandons la dernière solution car elle accélère considérablement le processus.

Résultat de la commande composer show lors de la révision des bibliothèques PHP utilisées

Résultat de la commande composer show.

Si vous choisissez d'installer le paquet local-php-security-checker, suivez les directives dans le fichier README.md.

Résultat de l'analyse utilisant local-php-security-checker lors d'un audit de sécurité Drupal

Résultat de l'analyse utilisant local-php-security-checker.

Il existe également le petit module Drupal méconnu Composer Security Checker qui utilise le paquet security-checker. Actuellement, ce module ne remplit pas sa tâche et le paquet security-checker lui-même n'est pas développé activement (depuis janvier 2021), nous nous concentrerons donc sur le paquet local-php-security-checker lui-même. Si vous identifiez un risque de sécurité, notre recommandation sera de mettre à jour la bibliothèque, bien sûr – comme dans tous les cas. Un audit des bibliothèques PHP doit être effectué régulièrement, tout comme dans le cas des modules Drupal.

Révision des bibliothèques JavaScript

La prochaine étape consistera à vérifier si les bibliothèques JavaScript utilisées sont à jour et si elles contiennent des correctifs de sécurité. Pour ce faire, vous devez réviser le répertoire de la bibliothèque et les fichiers package.json utilisés.

Dans le cas du répertoire de la bibliothèque, vous devez vérifier manuellement la version. Dans le cas de package.json, nous utilisons la commande npm-audit.

Résultat de la commande npm-audit lors de la vérification des fichiers package.json pendant la révision des bibliothèques JavaScript

Résultat de la commande npm-audit

La commande npm-audit listera toutes les vulnérabilités connues, déterminera le niveau de menace, le paquet, les dépendances, le chemin du paquet, et affichera un lien avec des informations sur la vulnérabilité.

La commande npm-audit montre toutes les vulnérabilités dans les bibliothèques JavaScript

Si vous trouvez une vulnérabilité, comme toujours, nous recommandons la mise à jour. Les analyses des bibliothèques JS doivent être effectuées régulièrement, plus souvent qu'un audit de sécurité complet.

Amélioration de la sécurité Drupal - étapes ultérieures

Dans cette partie du cycle d'audit de sécurité Drupal, nous avons appris comment vérifier si les versions des modules et des bibliothèques utilisées sont à jour et ne contiennent pas de bugs de sécurité connus. Nous comprenons également comment procéder s'il existe un correctif disponible pour un module – à la fois lorsque le correctif provient de la communauté Drupal et lorsqu'il a été préparé par le développeur travaillant sur l'application.

Acquérir la connaissance fournie dans ce post est le moyen le plus simple d'améliorer la sécurité de votre application. Vérifier les versions des solutions utilisées est la première étape que nous effectuons lors d'un audit de sécurité - notre équipe de support Drupal recommande des vérifications périodiques des mises à jour. Dans le cas où une mise à jour contenant des correctifs de sécurité est publiée, nous recommandons d'effectuer une mise à jour dès que possible.

Dans la prochaine partie de cette série d'articles, nous apprendrons plus sur la configuration Drupal visant à accroître la sécurité de notre application. Nous apprendrons également comment réduire le nombre de vecteurs d'attaque et nous découvrirons plus sur les modules qui nous aideront à cela.

As part of Drupal support, we maintain existing websites and expand them with new functionalities