Les audits de sécurité mettent souvent en exergue que pour éviter un piratage de site Drupal, il faut éviter autant que possible de dévoiler la version de Drupal que l'on utilise. On voit dès lors régulièrement des développeurs s'atteler à masquer le plus d'informations possibles. Cela va de la suppression de tous les fichiers *.TXT dans le docroot, jusqu'à la suppression du meta tag "generator" dans la sortie HTML.
<meta name="generator" content="Drupal" />
Oui, mais c'est peine perdue. Je ne vous dévoilerai pas ici toutes les façons de découvrir si un site tourne sous Drupal (et sur quelle version), mais j'aimerais juste attirer votre attention sur la base : abandonnez l'idée de cacher les fichiers .txt dès maintenant. Quelqu'un d'un tout petit peu curieux finira par trouver ce qu'il cherche. Prenez un docroot tout ce qu'il y a de plus banal avec sa centaine de modules. Il "expose" des centaines de fichiers potentiellement accessibles par tout le monde et renseignera non seulement votre version de Drupal mais si vous avez des modules avec des failles de sécurité connues :
$ find '.' -type f | grep '.txt' | wc -l
446
Ainsi, un simple fichier tel que http://monsite.com/sites/all/modules/contrib/views/README.txt que vous n'aurez probablement pas pensé à supprimer dévoilera que vous utilisez Views 3 (par exemple). Certes vous pourriez utiliser des règles .htaccess pour interdire l'accès aux fichiers .txt ou toute autre astuce mais ça ne sera probablement jamais suffisant tant il y a de méthodes plus futées les unes que les autres pour arriver à ses fins. En voici quelques unes évidentes en vrac :
- Est-ce que /user existe et est-ce qu'il renvoie le formulaire de login Drupal ?
- Est-ce que vos fichiers multimédia résident dans sites/default|monsite.com/files...?
- Est-ce que drupal.js existe dans le code source de la page ?
- Est-ce que views-row et views-field existent dans le code source de la page ?
- Est-ce /node renvoie les articles promus en page d'accueil ?
Ou vous pouvez également utiliser les add-ons Firefox Wappalyzer ou Live HTTP Headers pour vous faciliter la vie encore un peu plus.
Alors que faire ? Rien. Restez juste à jour sur Drupal core et les modules utilisés, et bien entendu, suivez la liste de sécurité Drupal core et celles des modules de la communauté pour vous tenir informé. En outre lisez, retenez et appliquez les bonnes pratiques de développement ainsi que les Sanitization functions.












Drupal France et francophonie
DrupalCamps français
Drupal Belgique
Acquia
Drupal Gardens
Drupal Commons
Drupal Commerce
Open Atrium
Pressflow
Open Publish