de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée...

28
Comprendre la sécurité de Drupal et des applications web 0

Transcript of de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée...

Page 1: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Comprendre la sécuritéde Drupal et des applications web

0

Page 2: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Damien TournoudCTO @ ;

Membre de l'équipe de sécurité de

Drupal depuis 2008 ;

Et deux trois autres trucs...

Commerce Guys

Page 3: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

L'équipe de sécuritéCréée en 2005 sous l'impulsion de .Coordonne les releases de sécurité:

de Drupal core (3 en 2013),et des modules de contribution (98 en 2013)

Assure veille, documentation et formation sur les sujets liés à lasécurité.

Karoly Negashi (@chx)

Page 4: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Pour les impatients

Page 5: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Règles de base pour lesadministrateurs

Installez un minimum de modules, et choisissez les parmi lesmodules les plus populaires (évitez en particulier les modulesn'ayant pas de version stable) ;Gardez vos modules à jour ;Portez attention aux roles et permissions ;Limitez au minimum les formats d'entrée ;Considerez les modules et .Security Review Password Policy

Page 6: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Règles de base pour les développeursPour apprendre comment développer au

mieux vos modules Drupal, rendez vous surhttps://drupal.org/writing-secure-code

Page 7: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Trois types de vulnérabilitésContournement d'accèsDétournement du navigateurContournement de l'application

Page 8: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

#1. Contournement d'accèsUn utilisateur peut faire ce qu'il ne devrait

pas être autorisé à faire.

Page 9: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

#2. Détournement dunavigateur

Page 10: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Le plus évident: interceptionSi la connection entre le navigateur et le serveur n'est pas

chiffrée, elle peut être interceptée.

Page 11: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Depuis l'invention du Javascript(1995), les navigateurs sont

devenus des machines virtuellesexecutant du code arbitraire.

Page 12: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

HTML n'est pas un format de

description de page, mais un

conteneur de code.

(Prenez un peu de temps pour respirer.)

Page 13: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Le cross-site scripting (XSS)L'injection de code

Page 14: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Si vous pouvez injecter ducontenu arbitraire dans une page,

c'est game over.

Page 15: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Il s'agit de la vulnérabilité la plusfréquente parce qu'elle très facile

à introduire.

Page 16: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Un exemple minimal<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>My title</title>

</head>

<body>

<p class="test">Bonjour, Damien</p>

</body>

</html>

Page 17: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Règle de la même origineChaque site ou "origine" (protocole, host, port) est isolé :

Pas d'accès au contenu (DOM)Pas de requête HTTP

Page 18: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Exclus de la règle<img>, <script>, <link>, <video>, etc. ;Formulaires (<form>) ;Plugins tiers (Flash, Acrobat, Active X, ...).

Page 19: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Cross-site request forgery (CSRF)Ou l'exploitation des limites de la règle de la même origine.

Page 20: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

CSRF via GET<img src="http://bank.example.com/withdraw?amount=1000000"/>

Page 21: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

CSRF via <form><form method="post" action="http://bank.example.com/withdraw"> <input type="hidden" name="amount" value="1000000" /></form><script> </script>$("form").submit()

Page 22: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Le problème particulier des fichiersuploadés

Page 23: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

#3. Contournement del'application

Page 24: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Accès non sécurisé au serveurFTP (oui, en 2014)Mots de passe faibles...

Page 25: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Injection de codeInjections SQL

Injection de code scripté (PHP)

Page 26: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Mais aussi...Sauvegardes de base de donnéesLes problèmes de l'entête HostLes open-redirects

Page 27: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

En résuméUn domaine constamment en mouvement ;Quelques règles simples couvrent 99% des problèmes.

Page 28: de Drupal et des applications web · 2018-04-02 · Commerce Guys. L'équipe de sécurité Créée en 2005 sous l'impulsion de . Coordonne les releases de sécurité: de Drupal core

Merci.