WebSentinel.
Tutoriels

Sécurité Drupal : mises à jour, modules et bonnes pratiques en 2026

· Nicolas Pivaut

Drupal est réputé pour sa sécurité — et à juste titre. L’équipe Drupal Security Team publie des correctifs rapidement, le cœur du CMS est audité régulièrement, et l’architecture en couches limite la surface d’attaque. Mais une sécurité solide dans l’absolu ne dispense pas d’une maintenance active. Un Drupal non maintenu est aussi vulnérable qu’un WordPress abandonné.

Ce guide s’adresse aux administrateurs de sites Drupal (institutions, associations, grandes PME) qui veulent comprendre comment maintenir leur site sécurisé sans expertise en sécurité offensive.

Comprendre les Security Advisories Drupal

La Drupal Security Team publie des Security Advisories (SA) dès qu’une vulnérabilité est identifiée dans le cœur Drupal ou dans un module contribué. Ces avis sont classés par criticité :

  • Critical — à corriger immédiatement, souvent dans les 24 à 72h
  • Moderately critical — à corriger dans la semaine
  • Less critical — à intégrer dans la prochaine mise à jour planifiée

Comment suivre les SA :

  • Abonnez-vous aux alertes email sur drupal.org/security
  • Suivez @drupalsecurity sur X/Twitter
  • Le module Security Review (contrib) scanne votre site et vous alerte sur les problèmes de configuration

La règle d’or : ne jamais ignorer un SA Critical. Drupalgeddon (2018) et d’autres failles critiques ont compromis des milliers de sites en quelques heures après la publication de la faille — les exploits automatisés sont déployés très rapidement.

Mettre à jour Drupal avec Composer

Depuis Drupal 8, Composer est le gestionnaire de dépendances standard. Une mise à jour du cœur ou d’un module se fait en ligne de commande.

Vérifier les mises à jour disponibles

composer outdated drupal/*

Cette commande liste tous les packages drupal/* avec une version plus récente disponible.

Mettre à jour le cœur Drupal

composer update drupal/core-recommended drupal/core-composer-scaffold --with-all-dependencies

Suivi d’une mise à jour de la base de données :

drush updatedb
drush cache:rebuild

Mettre à jour un module spécifique

composer update drupal/nom_du_module
drush updatedb
drush cache:rebuild

Mettre à jour tous les modules en une fois

composer update drupal/*
drush updatedb
drush cache:rebuild

Attention : une mise à jour globale peut créer des conflits entre modules. Privilégiez les mises à jour ciblées en production, et testez toujours sur un environnement de staging en premier.

La procédure de mise à jour sécurisée

1. Sauvegarde complète avant toute modification

# Sauvegarde base de données
drush sql:dump --result-file=/backup/drupal-$(date +%Y%m%d).sql

# Sauvegarde fichiers (depuis le serveur)
tar -czf /backup/drupal-files-$(date +%Y%m%d).tar.gz /var/www/html/web/sites/default/files

Ne procédez jamais à une mise à jour sans sauvegarde récente vérifiée.

2. Tester sur staging

Si vous disposez d’un environnement de staging (fortement recommandé), appliquez la mise à jour là-bas en premier. Testez les fonctionnalités critiques : formulaires, authentification, intégrations tierces.

3. Activer le mode maintenance

drush state:set system.maintenance_mode 1
drush cache:rebuild

Cela affiche une page de maintenance à vos visiteurs pendant la mise à jour.

4. Appliquer la mise à jour

composer update drupal/core-recommended --with-all-dependencies
drush updatedb
drush cache:rebuild

5. Désactiver le mode maintenance

drush state:set system.maintenance_mode 0
drush cache:rebuild

6. Vérifier le site

Parcourez les pages principales, testez les formulaires, vérifiez les logs (drush watchdog:show) pour détecter d’éventuelles erreurs.

Les modules de sécurité essentiels

Security Kit (seckit)

Ajoute des en-têtes HTTP de sécurité : Content Security Policy, X-Frame-Options, X-XSS-Protection, Strict-Transport-Security. Crucial pour protéger contre les attaques XSS et clickjacking.

composer require drupal/seckit
drush en seckit

Automated Logout

Déconnecte automatiquement les utilisateurs inactifs après un délai configurable. Réduit le risque de session hijacking sur des postes partagés.

Password Policy

Impose des règles de complexité de mot de passe pour tous les comptes. Indispensable pour les sites avec plusieurs administrateurs.

Two-factor Authentication (TFA)

Ajoute l’authentification à deux facteurs pour les comptes administrateur. Un compte admin compromis est le scénario de piratage le plus fréquent et le plus dévastateur.

Paranoia

Désactive les fonctionnalités Drupal qui permettent l’exécution de PHP depuis l’interface d’administration. Empêche un attaquant qui aurait accès au back-office d’exécuter du code arbitraire.

Durcissement de la configuration

Protéger les fichiers sensibles

Dans votre fichier .htaccess (Apache) ou configuration Nginx, bloquez l’accès direct aux fichiers sensibles :

# Bloquer l'accès aux fichiers de configuration
<Files ~ "\.(yml|yaml|json|lock|sh|sql)$">
  Require all denied
</Files>

# Bloquer l'accès direct à settings.php
<Files "settings.php">
  Require all denied
</Files>

Permissions fichiers

Les fichiers du cœur Drupal doivent être en lecture seule pour le processus web :

find /var/www/html -type f -exec chmod 644 {} \;
find /var/www/html -type d -exec chmod 755 {} \;
chmod 440 web/sites/default/settings.php

Désactiver PHP dans le dossier files

Le dossier sites/default/files est accessible publiquement. Si un attaquant y dépose un fichier PHP, il peut l’exécuter. Bloquez l’exécution PHP dans ce dossier :

# Dans web/sites/default/files/.htaccess
php_flag engine off

Surveillance continue

Monitoring des logs

# Voir les erreurs récentes
drush watchdog:show --severity=error --count=50

# Surveiller les tentatives de connexion échouées
drush watchdog:show --type=user --count=100 | grep "failed"

Audit de sécurité automatisé

Le module Security Review effectue une vérification automatisée de votre configuration et identifie les problèmes courants (fichiers accessibles, permissions incorrectes, modules dangereux actifs).

composer require drupal/security_review
drush en security_review
drush secrev

Quand faire appel à un expert

La sécurité Drupal demande des compétences techniques spécifiques — gestion de Composer, configuration serveur, lecture des logs. Si votre équipe n’a pas ces compétences en interne, ou si vous gérez un site critique (institution, e-commerce, données personnelles), un prestataire de maintenance externe est un investissement justifié.

Notre service de maintenance Drupal inclut la veille sur les Security Advisories, les mises à jour sur staging avant production, et la surveillance continue des logs. Pas de surprise, pas de Drupalgeddon.

Ressources complémentaires

Articles similaires

Conformité légale

Bouton de rétractation conforme

Module sur-mesure + installation + support 12 mois. WooCommerce, PrestaShop, Shopify. 149 €.

En savoir plus