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/ Fichier Droit includes 755 misc 755 modules 755 profiles 755 scripts 755 sites
sites 0755
sites/default 0555
sites/default/files 0770
sites/default/files/private 0770
sites/default/files/tmp 0755
sites/default/files/styles 0755sites/all 0755
sites/all/modules 0750755 themes 755 .gitignore 644 htaccess 644 authorize 644 cron 644 index 644 probots 644 update 644 web 644 xmlrpc 644 On n’oubliera pas de cocher la case «appliquer ces droits aux sous-dossiers».
Voir plus de détails ICI, ces informations sont en partie extraites d'un document du site hackersrepublic.org.
Quoiqu’il en soit, on vérifie qu’aucun dossier ou fichier n’a pour droit le 777.
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 !
Catégorie
Tags
- Androïd
- Apache
- Ardour
- Atom
- bash
- BEM
- Bootstrap
- calDAV
- carDAV
- Casque
- Cheat sheet
- CKEditor
- Commerce
- Compass
- Composer
- CSS
- Docker
- docker4drupal
- Drupal
- Drupal 7
- Drupal 8
- DrupalVM
- Drush
- faderport
- Fancy
- Features
- Font-awesome
- Git
- Github
- GitLab
- GNU
- grid
- Hacking
- htaccess
- html5
- Imce
- Jack
- Javascript
- jplayer
- jQuery
- Lavalamp
- Less
- Lightning
- Linux
- locahost
- memtest usb .img .iso
- Music
- Mysql
- Omega
- owncloud
- Pageant
- Parallax
- php
- phpMyAdmin
- Portainer
- Puphpet
- Putty
- Regex
- Responsive
- Samba
- Sass
- Sécurité
- SEO
- Solcalendar
- Solr
- ssh
- suggestions
- Taxonomy display
- TouchDaw
- Traefik
- Utilitaire
- Vagrant
- vidéo
- VirtualBox
- vlc
- Wamp
- Webform