Aller au contenu principal
- 18 février 2022

10 modules en Drupal 9 pour augmenter votre niveau de sécurité

10-Modules-Drupal-9-sécurité-site-web

Le souci de la sécurité, voici l’une des raisons pour lesquelles Drupal est couramment choisi. Il faut dire que, pour être sélectionné comme système à l’origine de sites gouvernementaux (l’Etat français en fait largement usage), la sécurité est un prérequis.

Si Drupal est « naturellement » sécurisé, il n’en reste pas moins régulièrement sujet à des failles de sécurité, comme tous les systèmes informatiques, et si votre administrateur choisit « admin » comme pseudo et mot de passe, le site restera ouvert aux quatre vents.

Sachant donc que notre Drupal n’est pas une forteresse totalement inaccessible, comment dès lors renforcer son niveau de sécurité ? Comme souvent, quand on parle de Drupal, la réponse est : « il y a un module pour ça » ! Ou plus exactement des modules, de nombreux modules.

Alors tour d’horizon des modules must have de votre site Drupal : 

1 – Admin Rename Path

On commence par un module pas forcément connu et pourtant indispensable : le module admin rename path, comme son nom l’indique, renomme les chemins d’administration (en drupal admin/xxx), mais également de connexion (user/xxx). En effet, la menace la plus fréquente reste l’intrusion par les robots. Les adresses menant aux sites Drupal leur sont connues, mais  il suffit qu’elles aient été changées pour que leur script échoue, quand bien même une faille serait exploitable. Et si votre site Drupal ne possède pas d’accès utilisateur et aucun lien pointant vers le formulaire de connexion, vous pouvez opter pour une URL très sécurisé (longue), la désindexer des moteurs de recherche, … Et la mettre en favori !

2 – Password Policy

Plus connu que le précédent, ce module n’en est pas moins indispensable : il faut en effet forcer vos utilisateurs à utiliser des mots de passe décents, donc a minima d’une bonne longueur / complexité. Voire les obliger à en changer de temps à autre.

3 – Disable User 1 

Le module possède lui aussi un nom explicite. L’utilisateur initial, portant le numéro 1 est le « super administrateur » du site, avec tous les droits. En production, c’est une mauvaise pratique de le conserver. Le désactiver élimine le risque qu’un hackeur s’en serve pour ses besoins ! Si vous souhaitez le conserver, installez au moins  Disable User 1 edit pour éviter qu’une personne ayant les droits, d’administrer tous les utilisateurs puisse éditer le super-administrateur, et donc en prendre facilement le contrôle.

4 – Automated logout

Par défaut, la session d’un utilisateur Drupal (le temps pendant lequel le navigateur reste connecté) est longue… très longue. Automated Logout permet de mieux l’administrer… pour la réduire !

5 – 403 to 404

403 est le numéro d’erreur signifiant en web « accès refusé », ce qui donne l’indication aux hackers qu’il y a bien quelque chose de sécurisé derrière. C’est donc une information en soi. Le module 403 to 404 les transforme donc toutes en 404, i.e. « page non trouvée ».

6 – Username enumeration prevention

Comme pour les 403, certains messages comme « L’utilisateur Bidule est bloqué ou n’a pas été activé » donne une information qui peut s’avérer un jour, précieuse pour un hacker. Ce module vous en débarrasse.

7 – Login security

Le module Login Security renforce un peu le formulaire de connexion et vous permet de bloquer définitivement un compte après un certain nombre de tentatives infructueuses de connexion et de bloquer certaines Ips. Le module logue scrupuleusement les soucis rencontrés.

8 – Autoban

Dans le même genre, le module autoban et le module Advanced Ban permettent de bannir les IPs qui vous dérangent. Par exemple les IPs qui sont à l’origine de tentatives de connexion infructueuses ou les crawlers qui testent des URLs. Notez que dans le cas d’un intranet accessible uniquement à partir d’un lieu précis (sans doute de plus en plus rare de nos jours), il est possible ainsi de définir quelles sont les IPs pouvant avoir accès à un applicatif Drupal (Restric IP fera aussi l’affaire !).

9 – Gestion des en-têtes HTTP

Sans entrer dans le détail technique, une page possède des en-têtes qui informent le navigateur d’un certain nombre d’informations qui ne sont pas affichées à l’écran. Les modules Content security Policy ou Security Kit permettent de les définir pour mieux sécuriser votre site. Par exemple, c'est une en-tête http qui autorise ou non à insérer un site dans un autre site par la technique de l’iframe.

10 – Protection contre les robots spammeurs

Last but not least, vos formulaires doivent bien entendu être protégés par une CAPTCHA, ce petit test agaçant à la soumission des formulaires mais qui vous assure de ne pas être floodé par les robots. Le module CAPTCHA et ses sous-modules (reCAPTCHA, reCAPTCHA v3, hCAPTCHA) ou encore la technique du « pot de miel » (un champ masqué à l’utilisateur qui, s’il est rempli démontre la soumission par un robot) utilisé par Spamicide. Plus subtil, le module Antibot étudie le comportement des utilisateurs (mouvement souris par exemple) avant d’afficher le formulaire. Un module qui a le vent en poupe !

Notez que nous n’avons pas parlé encryptage, RGPD etc. : ce sera l’occasion d’un autre article !


Tags: Cyber-sécurité
Partager :