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

Documents pareils