Checklist_audit_sécurité_Drupal
Transcription
Checklist_audit_sécurité_Drupal
Version 1.0 Ce document est sous contrat Creative Commons Attribution - Pas d'Utilisation Commerciale Partage dans les Mêmes Conditions 2.0 France (CC BY-NC-SA 2.0) . Vous n'avez pas le droit de commercialiser le document et ses versions amendées mais pouvez l'utiliser dans le cadre d'une collaboration client/fournisseur. Les auteurs de ce document déclinent toute responsabilité quant à l'utilisation qui en est faite. État Commentaire Configuration sécurisée de Drupal Verrouillage des comptes Drupal Désactiver la création de comptes utilisateurs anonymes Bloquer les logins vers des comptes Drupal génériques Créer des rôles utilisateurs Assigner les rôles aux utilisateurs Fixer les permissions des rôles Activer le login SSL Restreindre les contenus que les utilisateurs peuvent créer Créer un filtre de contenu « sûr » pour les utilisateurs anonymes Créer un filtre de contenu « sûr » pour les utilisateurs de confiance Restreindre l'accès aux formats d'entrée non filtrés Installer un module anti-spam Restreindre l'accès aux champs de code PHP Empêcher l'accès au PHP en désactivant les permissions « administer filters » Empêcher l'accès au PHP en désactivant les permissions « administer bocks » Empêcher l'accès au PHP en désactivant les permissions « administer views » Empêcher l'accès au PHP en désactivant les permissions « administer content types » Restreindre les nœuds listés Restreindre les vues aux seuls nœuds publiés Restreindre les vues aux seuls nœuds non administratifs Restreindre les accès administrateurs aux vues Bloquer les listing de vocabulaires administratifs dans la carte publique du site Bloquer les listing de vocabulaires administratifs dans les vues sur les taxonomies Restreindre les nœuds affichés et indexés par la recherche IDEIA Checklist d'audit de sécurité pour Drupal – v1.0 Page : 1/3 État Commentaire Bloquer les listing de nœuds administratifs dans le « XML site map » Restreindre l'accès via la recherche Drupal Restreindre le contenu que les utilisateurs peuvent voir Ne pas dépendre de contenu non publiés qui seraient inaccessibles Restreindre l'accès à des nœuds ou des types de contenus spécifiques Restreindre l'accès à des menus spécifiques Restreindre l'accès à des blocs spécifiques Restriction sur les fichiers Restreindre les fichiers listés Désactiver le listing des répertoires Apache Restreindre la listes des fichiers Drupal uploadés Limiter et vérifier les modules de type « gestion de fichier » Restreindre les fichiers auquel PHP peut accéder Limiter l'accès de PHP à des répertoires spécifiques Utiliser drupal_get_path( ) dans le code PHP qui construit des chemins d'accès Restreindre les types de fichiers servis Empêcher Apache de servir les fichiers cachés Restreindre Apache pour ne servir que les types de fichiers « sûrs » Restreindre l'upload de fichier aux types de fichiers « sûrs » Restreindre le contexte dans lequel vous servez les fichiers Restreindre les scripts PHP exécutés Autoriser l'accès à « index.php » et « xmlrpc.php » pour tout le monde Autoriser l'accès à « cron.php » pour les utilisateurs de confiance seulement Autoriser l'accès à « install.php » et « update.php » pour les utilisateurs de confiance seulement Rediriger les accès 404 non autorisés aux fichiers vers des erreurs « non trouvé » Se cacher des hackers Retirer les noms et versions du software publié Minimiser les informations servies par Apache dans les messages HTTP Désactiver ou restreindre les pages d'information serveur d'Apache Restreindre les pages de statut serveur d'Apache Désactiver les informations PHP dans les messages HTTP Désactiver la signature serveur d'Apache Changer le nom par défaut du cookie de session PHP Enlever les pages qui affiche du « phpinfo() » Retirer le contenu qui ne doit pas être servi Empêcher Apache de servir son manuel Déplacer les fichiers texte de Drupal IDEIA Checklist d'audit de sécurité pour Drupal – v1.0 Page : 2/3 État Commentaire Déplacer le « install.php » de Drupal Supprimer les entrées supplémentaires de Drupal du « robots.txt » Cacher les commentaires de versionning Retirer le numéro de version de Drupal du « robot.txt » Retirer les numéros de version Drupal dans les fichiers CSS ou autoriser l'agrégation CSS Retirer les numéros de version Drupal des fichiers javascript ou autoriser l'agrégation CSS Retirer le contenu qui annonce le software utilisé Retirer les images « badge » et les soutiens publicitaires Utiliser un favion personnalisé plutôt que celui de Drupal Utiliser un logo personnalisé plutôt que celui de Drupal Désactiver les informations et erreurs de débug Désactiver les erreurs « on-page » de PHP Désactiver les erreurs « on-page » de Drupal Désactiver le module devel Désactiver les réponses TRACE d'Apache Installer des modules additionnels suivant les besoins SpamSpan filter : obscurcit les mails dans le contenu Content Security Policy : permet d'indiquer des sources valides pour les images, les scripts, les frames, les objets, etc... GoAway : permet de bannir des IP Flood control : permet de limiter de nombre d'essais de login ou de posts dans des formulaires Password policy permet de faire expirer des mots de passes afin de les renouveler régulièrement Security Review : lance des tests automatisés pour améliorer la sécurité d'un site System Permissions : permet d'affiner les permissions d'administration IDEIA Checklist d'audit de sécurité pour Drupal – v1.0 Page : 3/3