Gérer la sécurité de son site Drupal     Rodolfo Ripado | Frédéric G. Marand
Nous sommes ...          Rodolfo Ripado (alias gaspaio)          Responsable offre Drupal          Contributeur Drupal    ...
Quest-ce que la sécurité dun site ?  " Un site est sécurisé si les données privées restent privées,  sil ne peut pas être ...
Les attaques les plus courantesSource : http://drupalsecurityreport.org/about-drupal-security-report
Les types de failles              Access Bypass          Authentication / Session                                     Inje...
Authentification : qui suis-je ?Lauthentification est le processus qui consiste à déterminersi quelquun est réellement qui...
LusurpationdidentitéEavesdroppingou le vol de sessions●   Protection : se connecter en HTTPSPhishingou le vol des identifi...
Lautorisation : que puis-je faire ?Lautorisation est lassociation de droits daccès à desressourcesTout affichage, toute ac...
Les XSSet les moyens de se protégerLe modèle de protection Drupal contre les XSS:● En entrée : écrire la donnée brute● En ...
Les CRSFet les moyens de se protégerLe modèle de protection Drupal contre les CSRF:● Ne jamais déclencher une action modif...
Les injectionset les moyens de se protégerLe modèle de protection Drupal contre les injections SQL:● D7/D8: DBTNG● D4/5/6:...
Les failles .... et les défenses               Access Bypass           Authentication / Session                           ...
La surface dattaque est vaste ...● Unicode invalide: plusieurs SA au fil des ans● Redirections incontrôlées● preg_replace(...
La solution en un mot : formation● RTFM: Drupal est lun des projets les mieux documentés du   monde OpenSource● Suivre les...
Prévenir, trouver, corriger les failles duCode ContribDrupal a une commission de sécuritéUne quarantaine de bénévoles qui ...
Prévenir, trouver, corriger les failles duCode spécifiqueDrupal fournit des outils de protection, encore faut-il les utili...
Une culture de la sécuritéIl ny a pas de code parfait ....● La sécurité ne sajoute pas  à lexistant ...● Ce nest pas quune...
Et quand le site est prêt ...                 Cest le premier jour                 du reste de sa vie...                 ●...
Héberger DrupalLes éléments de base ...Le système de fichiers● Accès en lecture uniquement● Effacer/cacher fichiers non ut...
Au delà de Drupal ...Drupal nest quun élément de la surface dattaque delapplication●   Sécuriser le toute la pile technolo...
La maintenanceLe monde évolue ... et votre application ?Maintenir un site, cest :● Avoir une attitude proactive envers la ...
Et un beau jour ...
Se préparerpour le pire ?Si jamais ... il nous faudra :● Des données à étudier  ○ Centralisez les logs  ○ Rendez-les acces...
Merci de votre vigilance
Upcoming SlideShare
Loading in...5
×

Drupagora 2012 - Gérer la sécurité de son site Drupal

3,356

Published on

La sécurité d'une application Web repose sur des fondamentaux communs à toutes les plateformes mais il faut également prendre en compte les spécificités de la solution utilisée. Au cours de cette conférence nous aborderons plusieurs points :
- Avant : préparer son site pour qu'il soit sûr (bonne pratiques de développement, d'infrastructures)
- Pendant : s'assurer qu'il l'est et le reste (exploitation, audit)
- Après : se préparer pour le pire

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,356
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
102
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Drupagora 2012 - Gérer la sécurité de son site Drupal

  1. 1. Gérer la sécurité de son site Drupal Rodolfo Ripado | Frédéric G. Marand
  2. 2. Nous sommes ... Rodolfo Ripado (alias gaspaio) Responsable offre Drupal Contributeur Drupal Frédéric Marand (alias fgm) Gérant Mainteneur Drupal Core
  3. 3. Quest-ce que la sécurité dun site ? " Un site est sécurisé si les données privées restent privées, sil ne peut pas être dégradé ou déconnecté par un visiteur, si les ressources du site sont utilisées correctement, et si le contenu ne peut être modifié que par des utilisateurs dûment autorisés. " Greg Knaddison (alias Greggles), Cracking Drupal
  4. 4. Les attaques les plus courantesSource : http://drupalsecurityreport.org/about-drupal-security-report
  5. 5. Les types de failles Access Bypass Authentication / Session Injection SQL CSRF, ... XSS
  6. 6. Authentification : qui suis-je ?Lauthentification est le processus qui consiste à déterminersi quelquun est réellement qui il prétend être.Par défault :● Authentification par login + mot de passe (salé, sha512)● Core optionnel: OpenID (D6/D7)● Pour se protéger davantage : password_policy, flood_controlDe nombreuses autres possibilités : LDAP, ...
  7. 7. LusurpationdidentitéEavesdroppingou le vol de sessions● Protection : se connecter en HTTPSPhishingou le vol des identifiants personnels● La meilleure protection : léducation des utilisateurs
  8. 8. Lautorisation : que puis-je faire ?Lautorisation est lassociation de droits daccès à desressourcesTout affichage, toute action doivent pouvoir être contrôlés !Les moyens de contrôler laccès :● Les utilisateurs, les rôles et les permissions● Le menu system● Les grants et node_access/entity_access
  9. 9. Les XSSet les moyens de se protégerLe modèle de protection Drupal contre les XSS:● En entrée : écrire la donnée brute● En sortie : filtrer en fonction de la destination: l(), [get_|s]t(), placeholders, check_*(), [_]filter_xss*(), drupal_strip_dangerous_protocols(), drupal_attributes()● La couche de thème ○ templates vs template.php / modules ○ D8: Twig● RTFM: http://drupal.org/writing-secure-code
  10. 10. Les CRSFet les moyens de se protégerLe modèle de protection Drupal contre les CSRF:● Ne jamais déclencher une action modificative sans une confirmation sécurisée ○ FormAPI: le jeton caché● Si GET est nécessaire ○ drupal_get_token()● Impact ○ performances ○ expérience utilisateur
  11. 11. Les injectionset les moyens de se protégerLe modèle de protection Drupal contre les injections SQL:● D7/D8: DBTNG● D4/5/6: db_query() / db_placeholders()● Views: les handlers dargumentsEt contre laccess bypass● Individuel ○ menu loaders ○ node_access()/entity_access()● Listes ○ D6: db_rewrite_sq(l() ○ D7/D8: addTag(node_access)
  12. 12. Les failles .... et les défenses Access Bypass Authentication / Session Db Abstraction Injection SQL CSRF, ... Form API, ... XSS Text filters Authentication Menu system / Node grants
  13. 13. La surface dattaque est vaste ...● Unicode invalide: plusieurs SA au fil des ans● Redirections incontrôlées● preg_replace(/e)● Lexploitation des exports ○ Logs ○ Backups● Laccès aux fichiers ○ D7/8: les espaces de stockage sur stream wrappers ○ D4/5/6: laccès privé● La révélation des ids de session● Session vs $_COOKIE
  14. 14. La solution en un mot : formation● RTFM: Drupal est lun des projets les mieux documentés du monde OpenSource● Suivre les SA-Core|Contrib● Les livres● Les formations gratuites: tutr.tv, blogs, événements communautaires● Les formations payantes: ○ Traditionnelles ○ Vidéo
  15. 15. Prévenir, trouver, corriger les failles duCode ContribDrupal a une commission de sécuritéUne quarantaine de bénévoles qui :● Veillent à la correction des failles rapportées● Communiquent autour des mises à jour de sécurité● Eduquent lensemble de la communauté
  16. 16. Prévenir, trouver, corriger les failles duCode spécifiqueDrupal fournit des outils de protection, encore faut-il les utiliser àbon escientIl ny a pas de recettes, uniquement des principes à respecter :● Principe des moindres privilèges● Minimiser surface dattaque● Éviter la sécurité par lobscurité● Défense en profondeur
  17. 17. Une culture de la sécuritéIl ny a pas de code parfait ....● La sécurité ne sajoute pas à lexistant ...● Ce nest pas quune question de technique ...● Ça concerne toute léquipe ....● Léducation et la formation sont capitales !
  18. 18. Et quand le site est prêt ... Cest le premier jour du reste de sa vie... ● Il faut sécuriser le reste de larchitecture matérielle ● Assurer la maintenance du site ● Se préparer pour le pire
  19. 19. Héberger DrupalLes éléments de base ...Le système de fichiers● Accès en lecture uniquement● Effacer/cacher fichiers non utilisés● Limiter laccès aux controleurs frontaux (cron.php, install.php, update.php, xmlrpc.php)● Bien placer son privateLe serveur Web● Nginx / Lighttpd ? -> config spécifiqueLa base de données● Un site : un utilisateur et une base de données dédiés
  20. 20. Au delà de Drupal ...Drupal nest quun élément de la surface dattaque delapplication● Sécuriser le toute la pile technologique (OS, Apache, PHP, serveur SQL, etc ...)● Minimiser la pile technologie● Sécuriser les autres applications sur le même serveur● "Publier" le moins dinformation possible● Logger soigneusement ... tout ... et lexploiter ! ○ D8 : Monolog et extensions ○ D6/7: syslog, mongodb_watchdog ○ Agrégation: logstash, kibana
  21. 21. La maintenanceLe monde évolue ... et votre application ?Maintenir un site, cest :● Avoir une attitude proactive envers la sécurité● Étudier et appliquer les MAJ de sécurité ○ Drupal core, modules contrib, librairies externes● Rester exigent et vigilant : ○ Respect des bonnes pratiques ○ Audits internets et/ou externes
  22. 22. Et un beau jour ...
  23. 23. Se préparerpour le pire ?Si jamais ... il nous faudra :● Des données à étudier ○ Centralisez les logs ○ Rendez-les accessibles● Des responsables de crise ○ Pour décider et agir rapidement● Des sauvegardes ... utilisables ! Mais surtout ... Un Plan !
  24. 24. Merci de votre vigilance
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×