Méthodologie d’audit d’un site Drupal

Éléments à fournir pour l’audit du code :

  • fichiers sources du site

  • base de données du site

  • documentation fonctionnelle et technique

Démarche suivie :

Afin d’obtenir une vue d’ensemble du site, les étapes suivantes ont été observées :

  1. Recherche de la présence d’erreurs critiques remontées par les différents logs.

  2. Étude des modules coeur et contributeurs activés, recherche de hacks dans leurs fichiers.

  3. Examen du code des modules développés spécifiquement

  4. Examen du theme du site

Détails des contrôles effectués lors de ces étapes :

  • contrôle du rapport général de Drupal

  • contrôle du watchdog de Drupal

  • différentiel entre les fichiers du coeur de Drupal et le coeur du site à versions égales (annexe diff-modules-core)

  • différentiel entre les fichiers des modules contributeurs de Drupal et ceux du site à versions égales (annexe diff-modules-contrib)

  • utilisation du module drupal « hacked » pour recouper les informations avec les résultats des différentiels (voir annexe rapport-hacked)

  • examen des hacks détectés par les différentiels et de leur impact sur le site

  • vérification des modules activés et non-activés (voir stats)

  • vérification manuelle du code custom, combiné avec une vérification avec le module « coder »

  • examen du theme du site (voir annexe templates-pages)

En cas de mauvaises pratiques http://drupal.org/best-practices/do-not-hack-core il faut en évaluer les implications.

Notez qu’en cas de modification du cœur de Drupal ou d’un module cela va entraîner des difficultés lors de mises à jour de sécurités (qui vont écraser ces moficiations). Il est donc important de les repérer en amont.

Il faut éventuellement prévoir une campagne de revue du code et de conversion en hook_xxx_alter qui sont prévus pour éviter ce genre de situation. De manière pro-active il est conseillé de faire suivre à ses développeurs une formation, ou une micro-formation à distance, pour s’assurer qu’ils connaissent les bonnes pratiques, ou bien de faire valider les compétences du prestataire en charge du développement par un expert pour éviter ce genre de déboires à l’avenir.

Les problèmes détectés pendant l’audit sera classifiés de la manière suivante :

  • Problème : Description du problème.
  • Importance : critique, haute, moyenne
  • Type : sécurité, maintenabilité, évolutivité
  • Conséquences : description des conséquences selon le problème rencontré, les impacts pour les développeurs, les utilisateurs, les chefs de projets, et les clients
  • Solution : quelles actions mettre en œuvre pour corriger, les plus simplement possible le problème
  • Source : référence vers la documentation correspondante, le cas échéant

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *