Zdjęcie główne wpis na blogu

Pourquoi Drupal est plus sécurisé que tout autre CMS

Vous pouvez trouver de nombreuses comparaisons entre les systèmes CMS populaires sur internet. Chaque fois que Drupal est mentionné, il est toujours décrit avec des mots tels que : sûr, open, régulièrement mis à jour. Aujourd'hui, je vais expliquer pourquoi il a une telle réputation (indice : ce n'est pas seulement parce que nous sommes une agence Drupal). Je présenterai également des preuves que le niveau de sécurité revendiqué par la communauté Drupal n'est pas que des mots vides.

Voici cinq raisons derrière la sécurité de Drupal :

1. Open source

Vous direz sûrement : la plupart des systèmes CMS sont distribués selon le modèle Open Source. Pourquoi cela serait-il un avantage pour Drupal ? Mais prenez une vue d'ensemble des écosystèmes CMS. Presque tous sont disponibles sous licences open, mais leurs modules, plug-ins et thèmes sont également distribués selon un modèle purement commercial. Dans le cas de WordPress – la vente de modules complémentaires est assez répandue, et cela limite l'ouverture de leur code. 

La communauté Drupal a développé un modèle centré totalement différent. Il consiste principalement en des modules complémentaires gratuits, disponibles directement depuis le site drupal.org, en outre couverts par un programme de sécurité interne. Une telle approche complique quelque peu la création de modules et de thèmes, mais en même temps – rend difficile l'introduction de code malveillant. Le modèle centralisé révèle également ses avantages en cas de découverte de failles de sécurité dans Drupal lui-même. Cela a été parfaitement démontré par la mise à jour de sécurité SA-CORE-2019-003 récente, qui couvrait non seulement le noyau, mais aussi les modules populaires.

2. Équipe de sécurité

Vous pouvez souvent entendre parler d'erreurs critiques dans Drupal. En 2018 et 2019, nous avons dû gérer certaines mises à jour très critiques, certaines ont même été nommées "Drupalgeddon". Cependant, cela n'est pas le résultat d'un code de mauvaise qualité. C'est le résultat du travail titanesque effectué par la communauté, notamment sa partie consacrée à la sécurité.

L'équipe de sécurité de Drupal se compose actuellement de plus de 30 personnes issues de diverses entreprises et organisations du monde entier. Elle a acquis une réputation bien méritée – grâce à son efficacité et sa concentration presque paranoïaque sur les problèmes de sécurité. Elle est soutenue par des bénévoles – travaillant également dans le cadre de programmes "bug bounty" rémunérés.

3. Soutien des organisations

Sur l'exemple de WordPress – la sécurité ne va pas de pair avec la portée, bien que la façon dont un CMS donné est utilisé soit très importante. Drupal est un système souvent choisi par les grandes entreprises et agences gouvernementales (certaines d'entre elles se trouvent sur cette liste https://groups.drupal.org/government-sites). Même des géants tels que Tesla, Nokia, l'Université Harvard, Londres et Los Angeles, ainsi que la NASA, lui ont fait confiance. Chacune de ces organisations prend grand soin des mesures de sécurité sur leurs sites web et mène d'innombrables audits internes. Les vulnérabilités trouvées sont généralement transmises à l'équipe de sécurité Drupal mentionnée précédemment.

Le soutien des grands acteurs est très important et nécessaire – grâce à cela, un projet open-source devient un bien commun, dont le développement profitera à tous les intéressés. À titre de curiosité, je voudrais mentionner qu'au début de 2019, la Commission européenne a annoncé le programme EU FOSSA 2 (The European Commission Free and Open Source Software Audit) – dont le deuxième plus grand bénéficiaire est en fait Drupal. Dans le cadre du programme, les personnes traquant les erreurs recevront une récompense monétaire, dont le montant dépend de l'importance de la vulnérabilité signalée. Il y a 89 000 € en jeu.

4. Composer et les composants de Symfony

Depuis la version 8, Drupal est intégré avec les composants Symfony. C'est un énorme pas en avant vers la standardisation du code. L'utilisation de modules éprouvés, tels qu'EventDispatcher, HttpFoundation/HttpKernel et Routing, décharge les développeurs de la nécessité de maintenir leurs propres solutions. Dans le même temps, la communauté Symfony gagne de nouveaux développeurs et de nouveaux sponsors. Grâce à cela, le niveau de sécurité s'élève constamment, car les bibliothèques de base deviennent de plus en plus "solides".

Symfony n'est pas seulement une collection de bibliothèques, il est également équipé de Composer – un excellent gestionnaire de paquets créé sur le modèle npm. Il était déjà possible de l'utiliser avec Drupal 7, mais dans la version 8, il est devenu un ajout carrément obligatoire, sans lequel il est difficile d'imaginer la maintenance continue des pages. Il peut gérer des dépendances complexes, télécharger des bibliothèques autres que PHP, appliquer des correctifs et exécuter des scripts d'installation. Aujourd'hui, alors que le fonctionnement de Composer est très bien développé, on peut dire en toute sécurité que c'est une étape importante dans la mise à jour du code Drupal.

5. Mécanismes de sécurité

J'ai déjà écrit sur de nombreux facteurs organisationnels, financiers et de conception. Je n'ai cependant pas mentionné spécifiquement quels mécanismes protègent un webmaster d'une attaque sur son site. En voici quelques-uns :

  • Les mots de passe des utilisateurs sont stockés sous forme de hash, en utilisant une fonction de hachage avec salage et multiplication. Cela rend les attaques par force brute plus difficiles à réaliser.
  • La configuration du site peut être enregistrée dans des fichiers .yml et comparée à sa version précédente. De plus, vous pouvez l'enregistrer dans le dépôt de code à l'aide du module Features. C'est une excellente solution qui limite grandement la possibilité d'une infection invisible de la base de données.
  • La gestion avancée des permissions vous permet de définir des rôles d'utilisateur et de leur attribuer des activités qu'ils peuvent effectuer sur le site. Les créateurs de Drupal ont mis beaucoup d'accent sur cette question, et aujourd'hui cela résulte en un degré de sécurité élevé.
  • Le système de rapport d'erreurs enregistre chaque violation de sécurité, y compris les fichiers .htaccess manquants dans les répertoires sensibles.
  • Le système de mise à jour permet de télécharger et d'installer les dernières versions des modules depuis le panneau d'administration. C'est très pratique sur les hébergements mutualisés, qui n'ont pas toujours la possibilité d'utiliser Composer.
  • Le langage Twig utilisé pour créer des templates dispose de mécanismes avancés utilisés pour se défendre contre les attaques XSS et CSRF.
  • Le cache étendu vous permet de vous défendre efficacement contre les attaques DoS.
  • Il est possible de crypter entièrement la base de données.

Il est bon d'ajouter que Drupal est conforme à la norme OWASP (Open Web Application Security Project), définissant les principes de sécurité de base qu'un projet web moderne doit respecter.

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