Les projets Drupal d'envergure s'intègrent toujours au sein d'un SI complexe avec de forts enjeux de sécurité. Pas une semaine sans un scandale d'intrusion, de piratage ou de problème de sécurité informatique, qui peuvent coûter des centaines de millions d'euros (cf. Sony).
Comment vendre Drupal vis à vis des attentes et des craintes des grands comptes vis à vis de la sécurité ?
Comment Drupal adresse les principaux risques identifiés OWASP ?
Comment sécuriser une application Drupal au plus haut niveau ?
2. jbguerraz@SKILLD:~$ whoami
● 13 ans d' IP
– Vidéo : VOD & Live (Web, Mobiles & Télé)
– Voix & Vidéo sur IP / Télécommunications
– Applications clients/serveurs (Win/Mac/Linux/Mobiles)
– Sites Web
● Dont 6 ans de Drupal
● Dir. Tech & Co-fondateur de Skilld
3. La sEcurité, hier, C'était ...
1ère icône :
la défense
gouvernementale
made in US'
<source label="Washington Post" href="http://wapo.st/1wvGybr" />
4. La sEcurité, hier, C'était ...
2ème icône
Le standard sécurité
du paiement par carte
bancaire
<source label="Washington Post" href="http://wapo.st/1wvGybr" />
5. La sEcurité, hier, C'était ...
3èMe icône :
LA NOTRE ! :)
<source label="Presse Citron" href="http://bit.ly/1tORbEo" />
6.
7. La sEcurité, aujourd'hui, qu'est-ce ?
ᄇ
2 milliards de dollars
de dommages
pour Sony
Et ça continue !
<source label="CNN" href="http://cnnmon.ie/1yDYPFR" />
<source label="La Tribune" href="http://bit.ly/1xUd8Gq" />
8. La sEcurité, aujourd'hui, qu'est-ce ?
40 Millions de
numéros de cartes
de crédits
70 millions de
données
personnelles
Et...
5 millions de dollars
de DOMMAGES Pour
target !
<source label="Silicon.fr" href="http://bit.ly/11mNeRu" />
9. La sEcurité, aujourd'hui, qu'est-ce ?
20 Millions de
numéros de cartes
de crédits
40 % de la
population sud
coréenne
Et...
3 têtes qui s'offrent !
<source label="CNN" href="http://cnnmon.ie/1aob1nw" />
10. La sEcurité, aujourd'hui, qu'est-ce ?
4.6 million de
comptes (numéros
de téléphone
compris!)
90 000 photos
9 000 vidéos
<source label="The Verge" href="http://bit.ly/1gmPevh" />
11. La sEcurité, aujourd'hui, qu'est-ce ?
150 million de
comptes (N° de
cartes de crédits
compris)
Code source des
produits Adobe
« Adobe Acrobat,
ColdFusion, ColdFusion
Builder and other
Adobe products »
<source label="The Verge" href="http://bit.ly/1pXxJdX" />
12. La sEcurité, aujourd'hui, qu'est-ce ?
Données personnelles
de 4,5 million de PATIENTS
(numéros de sécurité sociale)
<source label="Reuters" href="http://reut.rs/1tkLkcN" />
13. La sEcurité, aujourd'hui, qu'est-ce ?
Les plus grosses failles du monde !
PAR Volume PAR Sensibilité
<source label="InformationIsBeautiful" href="http://bit.ly/19xscQO" />
20. Préoccupations des Grands comptes ?
4,8 M€
3,89 M€
+20,5 %
2013
2014
Coût annuel du Cybercrime en France
<source label="Ponemon Institute" href="http://bit.ly/1urTWjW" />
21. Préoccupations des Grands comptes ?
Malware
18
16
14
12
10
8
6
4
2
Virus, Vers, Trojans
Phishing & Social
Attaque Web
Code malicieux
Enemi de l'intérieur
Matériel volé
(d)DoS
Botnets
0
2013
2014
Répartition du coût du Cybercrime en
France par type d'attaque
<source label="Ponemon Institute" href="http://bit.ly/1urTWjW" />
22. Préoccupations des Grands comptes ?
Répartition du coût du Cybercrime en
France par type d'attaque
Malware
18
16
14
12
10
8
6
4
2
Virus, Vers, Trojans
Phishing & Social
Attaque Web
Code malicieux
Enemi de l'intérieur
Matériel volé
(d)DoS
Botnets
0
2013
2014
<source label="Ponemon Institute" href="http://bit.ly/1urTWjW" />
23. Préoccupations des Grands comptes ?
Détection Restauration Containment Investigation Ex-post response Incident mngt
40
35
30
25
20
15
10
5
0
2013
2014
Répartition du coût du Cybercrime en
France par source d'activités
<source label="Ponemon Institute" href="http://bit.ly/1urTWjW" />
24. Préoccupations des Grands comptes ?
Détection Restauration Containment Investigation Ex-post response Incident mngt
40
35
30
25
20
15
10
5
0
2013
2014
Répartition du coût du Cybercrime en
France par source d'activités
<source label="Ponemon Institute" href="http://bit.ly/1urTWjW" />
25. Préoccupations des Grands comptes ?
Impact sur la clientèle / la marque ?
Perte de clientèle (%) post-piratage par pays
FR IT UK US JP DE AU ID BZ AB
France : CHAMPIONS du monde !
5
4,5
4
3,5
3
2,5
2
1,5
1
0,5
0
2013
2014
<source label="Ponemon Institute" href="http://bit.ly/1urTWjW" />
26. Comment vendre Drupal ?
Drupal est utilisé par plus de 130 nations !
(sur 197)
<source label="Acquia" href="http://bit.ly/1znS8bX" />
29. Comment vendre Drupal ?
Drupal security Team
Une équipe dédiée à la sécurité
, depuis 2005,
composée de 43 personnes
~50% de la taille
des équipes
concurrentes ?!
30. Comment vendre Drupal ?
Drupal security Team
Une capacité de communication et de mobilisation éprouvée
<source label="BBC" href="http://bbc.in/1zm1N5N" />
31. Comment vendre Drupal ?
La concurrence et la sécurité ?
Java :
● Adobe Experience
Manager (CQ5)
● HP Autonomy Teamsite
● Jive
● Lithium
.Net :
● Sitecore
● SDL Tridion
● Ektron CMS
32.
33. Comment vendre Drupal ?
La concurrence et la sécurité ?
Java :
● Adobe Experience
Manager (CQ5)
● HP Autonomy Teamsite
● Jive
● Lithium
.Net :
● Sitecore
● SDL Tridion
● Ektron CMS
<source label="White Hat Sec" href="http://bit.ly/1EIFO98" />
43. OWASp, Kezako ?
Open Web Application Security Project
LA liste des 10 risques les plus CRITIQUES pour les
applications web
(mise a jour chaque année !)
aussi, un ensemble :
● D'outils
● De méthodes
● De conseils
● ...
&
Une communauté !
45. Drupal & Owasp : tu peux pas test !
(euh...)
<source label="Drupal Security Report" href="http://bit.ly/1EIGBXI" />
46. Drupal & Owasp : tu peux pas test !
(euh...)
XSS – la réponse Drupal ?
Trop c'est mieux que
pas assez !
~
Mettez en « partout » ;)
~
P.S :
t('utilisez les
@placeholders
pour vos chaînes
traductibles');
47. Drupal & Owasp : tu peux pas test !
(euh...)
Access bypass – la réponse Drupal ?
<?php
function monmodule_menu() {
$items['admin/monmodule/configuration'] = array(
'title' => 'Configuration de MonModule',
'page callback' => 'drupal_get_form',
'page arguments' => array('monmodule_config_form'),
'access arguments' => array('administer monmodule'),
);
return $items;
}?>
<?php
function monmodule_faitletrucquivabien() {
…
if(user_access('lapermissionquivabien')) {
//Ok, faisons donc le truc qui va bien
}
…
}?>
48. Drupal & Owasp : tu peux pas test !
(euh...)
CSRF – la réponse Drupal ?
Les Jetons !
Offert par la form API, sans effort
$csrf_token = drupal_get_token() ;
…
if(drupal_valid_token($csrf_token) ){
//Ok, let's do it !
}
…
supplémentaire !
ET au besoin, pour le get :
49. Drupal & Owasp : tu peux pas test !
(euh...)
SQL Injection – la réponse Drupal ?
PHP PDO « façon Drupal » : DBTNG
<?php
function monmodule_faitletrucquivabien() {
…
$arguments = array(':name' => $name, ':uid' => $uid);
db_select('dbtng_example')
->fields('dbtng_example')
->where('uid = :uid AND name = :name', $arguments)
->execute();
…
}?>
50. ● Seckit
● Paranoia
● Google Authenticator Login
● Two Factors Authentication
● Encrypt
● Flood control
● Session limit
● Auto log out
● Secure login / secure pages
(bien que... HTTPS uniquement !)
● Md5 check MODULES
51. Recommandez Un ou deux chiens de garde !
+
=
Les WAF A la rescousse !