Sécuriser un site Drupal 7

Sécuriser un site Drupal 7

Mardi, Janvier 20, 2015

Les failles les plus courantes
 

  • Les L’injection notamment SQL mais pas uniquement
    L’injection de code peut se faire soit dans une URL soit dans un formulaire et consiste à insérer du code de façon à ce que le système l’interprète et ressorte des informations censées rester secrètes.
  • Le vol de session/mot de passe
    Le vol de session/mot de passe peut se faire notamment grâce aux vols de cookies et permet d’usurper l’accès à une plateforme d’un utilisateur.
  • Les XSS
    ou Cross Site Scripting, est le fait d’injecter du code et d’exécuter un script dans le navigateur d’une victime voire de défigurer un site.
  • La visualisation des données dans une requête HTTP
    La visualisation des données de structure d’un site ou d’une infrastructure est faisable lorsque le développeur expose une référence dans un objet, un dossier, un fichier, sans y apposer une forme de contrôle, permettant ainsi à un attaquant de manipuler les données sans avoir d’accès autorisé à ces données.
  • Les paramètres par défaut des outils utilisés
    Le paramétrage par défaut n’est pas tant un problème technique qu’un problème humain. Il faut savoir qu’un grand nombre d’attaques sont perpétrées parce que les personnes laissent les paramètres par défaut de leurs matériels ou de leurs logiciels. Par exemple, l’outil dont le login/mot de passe est admin/admin.
  • L’absence de protection des données sensibles
    L’absence d’accès sécurisé aux données sensibles vient souvent du fait que la plupart des applications Web ne protège pas suffisamment les données sensibles. Il faut construire une chaîne de sécurité complète, de part et d’autre, notamment avec un SSL et du chiffrement.
  • L’absence de contrôle d’accès aux éléments sensibles
    De la même manière, l’absence de contrôle des données uploadées fait peser des risques commerciaux et juridiques sur une entreprise.
  • Les CSRF
    ou Cross Site Request Forgery est une attaque qui oblige le navigateur d’une personne à envoyer une requête HTTP forgée, en y incluant les cookies et toutes les informations d’authentification de façon automatique, à une application Web vulnérable.
  • L’utilisation de components tiers
    L’utilisation de components tiers telles que les librairies ou autres applications logicielles qui fonctionnent avec certains privilèges d’administration, peuvent également être source d’insécurité.
  • Les redirections invalides.
    Enfin, les redirections et transferts invalides peuvent rediriger les victimes vers des pages de phishing ou contenant des malwares.

 

Les Fondamentaux
 

  • La gestion des rôles et des droits des utilisateurs ne doit pas être négligé.
    - Gestion des utilisateurs --> Paramètres des utilisateurs et tu coches "Seuls les administrateurs du site peuvent créer de nouveaux comptes".
    - Verifier les droits d'accès aux formats texte : Full HTML, Filtred HTML et Text brut.
    - Vérifier les droits sur les modules
    - Verifier les droits sur les contenus et les commentaires
  • Activer les urls simplifiées.
  • Mettre à jour systématiquement le coeur de Drupal.
  • Appliquer les mises à jour de sécurité des modules contribués.
  • Activer les modules système BanIP, syslog, tracker, trigger qui permettront de suivre presque à la trace ce qui se passe sur le site.

 

Modules de sécurité complémentaires
 

  • Contre le spam installer le module HoneyPot qui sera moins pénalisant qu'un Captcha ou reCaptcha de google. (utilisé sur la plateforme officielle de Drupal.org.)
  • Installer le module de détection d'intrusion comme Tiny-IDS
  • Installer le module http:BL pour bannir des IPs selon les blacklist du site HoneyPot.
  • Installer le module AutoBanIP pour bannir automatiquement des IPs selon les alertes du watchdog.

     

Les bonnes pratiques
 

  • Le monitoring
    Monitorer un site signifie étudier méticuleusement son activité et surtout les activités qui peuvent s’avérer dangereuse pour un site. Par défaut, Drupal propose d’inscrire dans son journal toutes les activités qui ont lieu sur une plateforme, l’administrateur n’ayant qu’à configurer le nombre de messages à sauvegarder.
    Je vous conseille vivement d'installer le module de monitoring d'intrusion Tiny-IDS qui vous alertera d'une tentative d'intrusion et vous permettra de réagir rapidement.
    Verifier la disponibilité 24/24 de votre site : Le site Uptime robot est un service en ligne de monitoring (gratuit) qui vous alerte lorsque votre site est "tombé".
  • Monitoring des fichiers : Le module Hacked. Il ne vous avertit pas si vous avez fait l’objet d’une intrusion mais vous signale si un fichier appartenant à un module, de core ou complémentaire, a été modifié.
  • La sauvegarde et la restauration
    Verifier la disponibilité des Snapshot de l'hébergeur
    Installer et configurer le module Backup & Migrate pour des sauvegardes automatiques de la base de Drupal.
  • Supprimez les fichiers suivants :
    Install.php,
    Changelog,
    Les fichiers d’installation des bases de données.
    Les modules dont vous n’avez pas besoin ainsi que les modules que l’on utilise en phase de
    développement comme simpletest.
  • Les droits d'accès (CHMOD) aux dossiers et fichiers Drupal conseillés:


    Nom du dossier/ FichierDroit
    includes755
    misc755
    modules755
    profiles755
    scripts755
    sites
    sites 0755
    sites/default 0555
    sites/default/files 0770
    sites/default/files/private 0770
    sites/default/files/tmp 0755
    sites/default/files/styles 0755

    sites/all 0755
    sites/all/modules 0750

    755
    themes755
    .gitignore644
    htaccess644
    authorize644
    cron644
    index644
    probots644
    update644
    web644
    xmlrpc644

    On n’oubliera pas de cocher la case «appliquer ces droits aux sous-dossiers».
    Quoiqu’il en soit, on vérifie qu’aucun dossier ou fichier n’a pour droit le 777.
     

    Voir plus de détails ICI, ces informations sont en partie extraites d'un document du site hackersrepublic.org.

Bienvenue sur le blog !

Il s'agissait au départ d'un recueil de notes donc certains billets sont plutôt succincts.
J'espère que vous y trouverez l'info qu'il vous manque dans votre recherche.
Vos commentaires sont les bienvenus.

Bonne lecture !

Mois / Années

Recherche