#NSD17 - DevSecOps
De la Théorie à la Pratique
#NSD17 - DevSecOps : de la Théorie à la Pratique
About me
 Passionné par l’innovation et la sécurité
numérique
 Secrétaire-adjoint du CLUSIR NdF
 CISO @wegravit
 Fondateur d’Incloudio
  @gritche_
#NSD17 - DevSecOps : de la Théorie à la Pratique
#NSD17 - DevSecOps : de la Théorie à la Pratique
#NSD17 - DevSecOps : de la Théorie à la Pratique
Le contexte
• wegravit : un beau projet et un challenge
• Startup avec une plateforme en version
MVP / Refonte pour 2018
• Développement agile = désorganisé
• Peu d’industrialisation
• Pas de vraie culture sécurité
#NSD17 - DevSecOps : de la Théorie à la Pratique
DevOps, d’abord un processus
#NSD17 - DevSecOps : de la Théorie à la Pratique
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
DEV OPS
DevOps, un rythme pour le time-to-market
#NSD17 - DevSecOps : de la Théorie à la Pratique
CodeDesign DeployTest
Design
Design
Cycle en V (Waterfall)
Agile
Tempus fugit…
DevOps
Code Test DeployCode Test Code Test
De l’agile au DevOps
#NSD17 - DevSecOps : de la Théorie à la Pratique
Plan Code Build Test Release Deploy Operate
DevOps
Continuous Delivery
Continuous Integration
Agile
L’usine DevOps
#NSD17 - DevSecOps : de la Théorie à la Pratique
Plan Code Build Test Release Deploy Operate
Repository
Documentation
Cloud & Infrastructure
Monitoring & Alerting
Monitor
APM
Log Management
Performance
Quality
Functional
Business
IDE
Collaboration
Orchestration
Build tool
Continuous Integration & Continuous Delivery
La boîte à outils DevOps
#NSD17 - DevSecOps : de la Théorie à la Pratique
Repository git / Bitbucket / GitLab / TFS
Cloud & Infra IaaS / PaaS / Docker / DB
Exemples non-représentatifs du Gartner et non-exhaustifs
Collaboration JIRA / Redmine / Slack / Trello
Documentation Wiki / ReadTheDocs / Confluence
Build Maven / Grunt / Ant CI / CD Jenkins / Bamboo / Travis
Orchestration Ansible / Puppet / SaltStack / Docker / Kubernetes / API Gateway / Load Balancer / Rudder
Test JUnit / PHPUnit / Selenium / Jmeter / Sonar / cucumber / LoadRunner
Log Management ELK / Graylog2 / Splunk Monitoring Nagios / Incinga / Shinken
APM
New Relic / Dynatrace /
AppDynamics
Misc A vous d’ajouter vos outils !
Vision du CNCF pour exemple
#NSD17 - DevSecOps : de la Théorie à la Pratique
SEC
CONFIDENTIALITY
INTEGRITY
AUDITABILITY
Du DevOps au DevSecOps
#NSD17 - DevSecOps : de la Théorie à la Pratique
DEV
CODE &
BUILD
SOFTWARES
OPS
AVALAIBILITY
PERFORMANCE
SCALING
DevOps
IT SecuritySecure
development
DevSecOps
http://web.devopstopologies.com/
DevSecOps, et donc !?
#NSD17 - DevSecOps : de la Théorie à la Pratique
Sécuriser le DevOps
Intégrer la sécurité dans le DevOps
Sécuriser le DevOps
• Maîtriser ses assets et éviter le Shadow IT
• Segmenter les environnements
• Gérer les droits d’accès
• Auditer son usine à développement
• Sécuriser les postes de travail
#NSD17 - DevSecOps : de la Théorie à la Pratique
Le Secure-SDLC appliqué au DevSecOps
#NSD17 - DevSecOps : de la Théorie à la Pratique
Plan
Politique de sécurité
Analyse de risques
Modélisation des menaces
Sensibilisation DevSec
Code
Référentiel de
bonnes pratiques
Revue de code
Build
Audit de code
Audi de vulnérabilités
Test
Audit de code
Audit d’intrusion
Audit de vulnérabilités
Release & Deploy
Audit d’infrastructure
Audit de vulnérabilités
Operate
Audit de vulnérabilités
Pentest / Bug Bounty
Protection des applications
Monitor
Gestion des vulnérabilités
Détection d’attaques
DEV OPS
L’usine DevSecOps
#NSD17 - DevSecOps : de la Théorie à la Pratique
Plan Code Build Test Release Deploy Operate
Repository
Documentation
Cloud & Infrastructure
Monitoring & Alerting
Monitor
APM
Log Management
Performance
Quality
Functional
Business
IDE
Collaboration
Orchestration
Build tool
Continuous Integration & Continuous Delivery
Code review Code audit Bug Bounty
Vulnerability
audit
Pentest / Audit
Vulnerability Management
SOC
Risk analysis
Awareness
La boîte à outils DevSecOps
#NSD17 - DevSecOps : de la Théorie à la Pratique
Exemples non-représentatifs du Gartner et non-exhaustifs
SAST Sonar / Checkmarx / Fortify DAST Netsparker / AppSpider / OWASP Zap
Vuln. Scan Nessus / Rapid7 / OpenVAS Bug Bounty Yogosha / Bounty Factory
SOC IDS/IPS (Snort, Suricata, OSSEC…) / WAF (Mod_Security, NAXSI…) / SIEM / Threat Intel
Best practices OWASP / MITRE CWE / SANS Institute
Pourquoi le Sec est important ?
• Diminuer la durée de vie des vulnérabilités
• Donc de la probabilité d’exploitation
• Sécuriser mais aussi protéger !
#NSD17 - DevSecOps : de la Théorie à la Pratique
Shift security left
Une roadmap piloté par la maturité
#NSD17 - DevSecOps : de la Théorie à la Pratique
Level 3 - MANAGED
Démarche maîtrisée
avec KPI
Amélioration itérative
de l’usine DevSecOps
selon les besoins
Level 2 - ADVANCED
Organisation et
processus fluide
Boîte à outils
satisfaisante
Industrialisation efficace
des MeP
Level 1 - INIT
Organisation en
mutation
Boîte à outils en cours
de fourniture
Début d’industrialisation
des MeP avec un
décloisonnement des
environnements
Level 0
Dev vs Ops vs Sec
Un peu d’agile
Le bilan @wegravit - les points positifs
• Bonne accueil car "souffrance" du manque
d'industrialisation et aspect "moderne" de
la démarche
• Intégration de la sécurité directement dans
le cycle de développement
• Adoption assez rapide : test de
Snuffleupagus par exemple
#NSD17 - DevSecOps : de la Théorie à la Pratique
Le bilan @wegravit - les points à améliorer
• Casser les habitudes : sortir les Dev et les
Ops de leur zone de confort
• DevSecOps ne se résume pas à des outils
• Chemin encore long pour arriver à
maturité
#NSD17 - DevSecOps : de la Théorie à la Pratique
Mes conseils
• DevSecOps ne s'applique pas à toutes les
organisations et les SI
• Impliquer les équipes dans la mise en œuvre
• Se faire accompagner
• Persévérer
#NSD17 - DevSecOps : de la Théorie à la Pratique
Objectif du DevSecOps
#NSD17 - DevSecOps : de la Théorie à la Pratique
Créer un système coopératif
pour un objectif unique :
Délivrer en continu &
Opérer une application sécurisée
Philosophie du DevSecOps
#NSD17 - DevSecOps : de la Théorie à la Pratique
DevSecOps est une culture interne
de collaboration structurée sur
une organisation et des outils.
DEV vs OPS vs SECDEV vs OPS vs SEC
Un dernier mot
#NSD17 - DevSecOps : de la Théorie à la Pratique
Le DevSecOps
est à l’industrie numérique
ce que
le Lean Management
est à l’industrie automobile.
Pour aller plus loin
• https://fr.wikipedia.org/wiki/Devops
• https://www.devopsdays.org/
• https://blog.octo.com/devops/
• http://blog.xebia.fr/2017/04/21/introduct
ion-a-devops/
#NSD17 - DevSecOps : de la Théorie à la Pratique
DevSecOps : de la théorie à la pratique

DevSecOps : de la théorie à la pratique

  • 2.
    #NSD17 - DevSecOps Dela Théorie à la Pratique #NSD17 - DevSecOps : de la Théorie à la Pratique
  • 3.
    About me  Passionnépar l’innovation et la sécurité numérique  Secrétaire-adjoint du CLUSIR NdF  CISO @wegravit  Fondateur d’Incloudio   @gritche_ #NSD17 - DevSecOps : de la Théorie à la Pratique
  • 4.
    #NSD17 - DevSecOps: de la Théorie à la Pratique
  • 5.
    #NSD17 - DevSecOps: de la Théorie à la Pratique
  • 6.
    Le contexte • wegravit: un beau projet et un challenge • Startup avec une plateforme en version MVP / Refonte pour 2018 • Développement agile = désorganisé • Peu d’industrialisation • Pas de vraie culture sécurité #NSD17 - DevSecOps : de la Théorie à la Pratique
  • 7.
    DevOps, d’abord unprocessus #NSD17 - DevSecOps : de la Théorie à la Pratique Plan Code Build Test Release Deploy Operate Monitor DEV OPS
  • 8.
    DevOps, un rythmepour le time-to-market #NSD17 - DevSecOps : de la Théorie à la Pratique CodeDesign DeployTest Design Design Cycle en V (Waterfall) Agile Tempus fugit… DevOps Code Test DeployCode Test Code Test
  • 9.
    De l’agile auDevOps #NSD17 - DevSecOps : de la Théorie à la Pratique Plan Code Build Test Release Deploy Operate DevOps Continuous Delivery Continuous Integration Agile
  • 10.
    L’usine DevOps #NSD17 -DevSecOps : de la Théorie à la Pratique Plan Code Build Test Release Deploy Operate Repository Documentation Cloud & Infrastructure Monitoring & Alerting Monitor APM Log Management Performance Quality Functional Business IDE Collaboration Orchestration Build tool Continuous Integration & Continuous Delivery
  • 11.
    La boîte àoutils DevOps #NSD17 - DevSecOps : de la Théorie à la Pratique Repository git / Bitbucket / GitLab / TFS Cloud & Infra IaaS / PaaS / Docker / DB Exemples non-représentatifs du Gartner et non-exhaustifs Collaboration JIRA / Redmine / Slack / Trello Documentation Wiki / ReadTheDocs / Confluence Build Maven / Grunt / Ant CI / CD Jenkins / Bamboo / Travis Orchestration Ansible / Puppet / SaltStack / Docker / Kubernetes / API Gateway / Load Balancer / Rudder Test JUnit / PHPUnit / Selenium / Jmeter / Sonar / cucumber / LoadRunner Log Management ELK / Graylog2 / Splunk Monitoring Nagios / Incinga / Shinken APM New Relic / Dynatrace / AppDynamics Misc A vous d’ajouter vos outils !
  • 12.
    Vision du CNCFpour exemple #NSD17 - DevSecOps : de la Théorie à la Pratique
  • 13.
    SEC CONFIDENTIALITY INTEGRITY AUDITABILITY Du DevOps auDevSecOps #NSD17 - DevSecOps : de la Théorie à la Pratique DEV CODE & BUILD SOFTWARES OPS AVALAIBILITY PERFORMANCE SCALING DevOps IT SecuritySecure development DevSecOps http://web.devopstopologies.com/
  • 14.
    DevSecOps, et donc!? #NSD17 - DevSecOps : de la Théorie à la Pratique Sécuriser le DevOps Intégrer la sécurité dans le DevOps
  • 15.
    Sécuriser le DevOps •Maîtriser ses assets et éviter le Shadow IT • Segmenter les environnements • Gérer les droits d’accès • Auditer son usine à développement • Sécuriser les postes de travail #NSD17 - DevSecOps : de la Théorie à la Pratique
  • 16.
    Le Secure-SDLC appliquéau DevSecOps #NSD17 - DevSecOps : de la Théorie à la Pratique Plan Politique de sécurité Analyse de risques Modélisation des menaces Sensibilisation DevSec Code Référentiel de bonnes pratiques Revue de code Build Audit de code Audi de vulnérabilités Test Audit de code Audit d’intrusion Audit de vulnérabilités Release & Deploy Audit d’infrastructure Audit de vulnérabilités Operate Audit de vulnérabilités Pentest / Bug Bounty Protection des applications Monitor Gestion des vulnérabilités Détection d’attaques DEV OPS
  • 17.
    L’usine DevSecOps #NSD17 -DevSecOps : de la Théorie à la Pratique Plan Code Build Test Release Deploy Operate Repository Documentation Cloud & Infrastructure Monitoring & Alerting Monitor APM Log Management Performance Quality Functional Business IDE Collaboration Orchestration Build tool Continuous Integration & Continuous Delivery Code review Code audit Bug Bounty Vulnerability audit Pentest / Audit Vulnerability Management SOC Risk analysis Awareness
  • 18.
    La boîte àoutils DevSecOps #NSD17 - DevSecOps : de la Théorie à la Pratique Exemples non-représentatifs du Gartner et non-exhaustifs SAST Sonar / Checkmarx / Fortify DAST Netsparker / AppSpider / OWASP Zap Vuln. Scan Nessus / Rapid7 / OpenVAS Bug Bounty Yogosha / Bounty Factory SOC IDS/IPS (Snort, Suricata, OSSEC…) / WAF (Mod_Security, NAXSI…) / SIEM / Threat Intel Best practices OWASP / MITRE CWE / SANS Institute
  • 19.
    Pourquoi le Secest important ? • Diminuer la durée de vie des vulnérabilités • Donc de la probabilité d’exploitation • Sécuriser mais aussi protéger ! #NSD17 - DevSecOps : de la Théorie à la Pratique Shift security left
  • 20.
    Une roadmap pilotépar la maturité #NSD17 - DevSecOps : de la Théorie à la Pratique Level 3 - MANAGED Démarche maîtrisée avec KPI Amélioration itérative de l’usine DevSecOps selon les besoins Level 2 - ADVANCED Organisation et processus fluide Boîte à outils satisfaisante Industrialisation efficace des MeP Level 1 - INIT Organisation en mutation Boîte à outils en cours de fourniture Début d’industrialisation des MeP avec un décloisonnement des environnements Level 0 Dev vs Ops vs Sec Un peu d’agile
  • 21.
    Le bilan @wegravit- les points positifs • Bonne accueil car "souffrance" du manque d'industrialisation et aspect "moderne" de la démarche • Intégration de la sécurité directement dans le cycle de développement • Adoption assez rapide : test de Snuffleupagus par exemple #NSD17 - DevSecOps : de la Théorie à la Pratique
  • 22.
    Le bilan @wegravit- les points à améliorer • Casser les habitudes : sortir les Dev et les Ops de leur zone de confort • DevSecOps ne se résume pas à des outils • Chemin encore long pour arriver à maturité #NSD17 - DevSecOps : de la Théorie à la Pratique
  • 23.
    Mes conseils • DevSecOpsne s'applique pas à toutes les organisations et les SI • Impliquer les équipes dans la mise en œuvre • Se faire accompagner • Persévérer #NSD17 - DevSecOps : de la Théorie à la Pratique
  • 24.
    Objectif du DevSecOps #NSD17- DevSecOps : de la Théorie à la Pratique Créer un système coopératif pour un objectif unique : Délivrer en continu & Opérer une application sécurisée
  • 25.
    Philosophie du DevSecOps #NSD17- DevSecOps : de la Théorie à la Pratique DevSecOps est une culture interne de collaboration structurée sur une organisation et des outils. DEV vs OPS vs SECDEV vs OPS vs SEC
  • 26.
    Un dernier mot #NSD17- DevSecOps : de la Théorie à la Pratique Le DevSecOps est à l’industrie numérique ce que le Lean Management est à l’industrie automobile.
  • 27.
    Pour aller plusloin • https://fr.wikipedia.org/wiki/Devops • https://www.devopsdays.org/ • https://blog.octo.com/devops/ • http://blog.xebia.fr/2017/04/21/introduct ion-a-devops/ #NSD17 - DevSecOps : de la Théorie à la Pratique