Introduction à DevSecOps
1 - Qu'est-ce que DevSecOps ?
DevSecOps = Development + Security + Operations
L'intégration de la sécurité à chaque étape du cycle de développement logiciel.
2 - DevOps vs DevSecOps
2.1 L'évolution
Approche Traditionnelle - Sécurité en fin de cycle :
Approche DevOps - Sécurité souvent oubliée :
Approche DevSecOps - Sécurité intégrée :
2.2 Comparaison
| Aspect | DevOps | DevSecOps |
|---|---|---|
| Focus | Vitesse & Collaboration | Sécurité intégrée |
| Security | En fin de cycle | À chaque étape |
| Responsabilité | Équipe sécu | Tout le monde |
| Tests | Fonctionnels | Fonctionnels + Sécurité |
| Compliance | Manuelle | Automatisée |
3 - Pourquoi DevSecOps ?
3.1 Le coût des vulnérabilités
Plus tôt = Moins cher
3.2 Statistiques
| Fait | Statistique |
|---|---|
| Vulnérabilités en prod | 70% évitables avec Shift Left |
| Coût moyen d'une breach | $4.35 millions (2022) |
| Délai détection moyen | 287 jours |
| Vulnérabilités open source | 84% des codebases affectées |
4 - Les piliers DevSecOps
4.1 Security by Design
principles:
- Defense in Depth
- Least Privilege
- Fail Secure
- Zero Trust
- Separation of Concerns
4.2 Automation First
4.3 Continuous Security
| Phase | Activités |
|---|---|
| Plan | Threat modeling, Security requirements |
| Code | SAST, Secrets scanning, Code review |
| Build | SCA, Container scanning |
| Test | DAST, Penetration testing |
| Deploy | Config scanning, Compliance |
| Operate | Runtime protection, Monitoring |
| Monitor | SIEM, Incident response |
5 - Rôles et responsabilités
5.1 Security Champions
Rôle du Security Champion :
- Point de contact sécurité
- Formation de l'équipe
- Review sécurité du code
- Remontée des problèmes
5.2 Matrice RACI
| Activité | Dev | Security | Ops | Champion |
|---|---|---|---|---|
| Code review sécurité | R | C | I | A |
| Configuration SAST | I | R | C | A |
| Réponse incidents | I | R | C | I |
| Formation sécurité | I | R | I | A |
R=Responsible, A=Accountable, C=Consulted, I=Informed
6 - Outils DevSecOps
6.1 Vue d'ensemble
| Catégorie | Outils |
|---|---|
| SAST | SonarQube, Semgrep, CodeQL |
| DAST | OWASP ZAP, Burp Suite |
| SCA | Snyk, Dependabot, OWASP Dependency-Check |
| Container | Trivy, Anchore, Clair |
| IaC | Checkov, tfsec, Terrascan |
| Secrets | GitLeaks, TruffleHog, detect-secrets |
| Runtime | Falco, Sysdig, Aqua |
| Secrets Mgmt | Vault, AWS Secrets Manager |
6.2 Pipeline type
# .github/workflows/devsecops.yml
name: DevSecOps Pipeline
on: [push, pull_request]
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Secrets scanning
- name: GitLeaks
uses: gitleaks/gitleaks-action@v2
# SAST
- name: SonarQube
uses: sonarsource/sonarqube-scan-action@master
# SCA
- name: Snyk
uses: snyk/actions/node@master
with:
args: --severity-threshold=high
# Container scanning
- name: Trivy
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
severity: 'CRITICAL,HIGH'
7 - Métriques DevSecOps
7.1 KPIs essentiels
| Métrique | Description | Cible |
|---|---|---|
| MTTD | Mean Time To Detect | < 24h |
| MTTR | Mean Time To Remediate | < 7 jours |
| Vulnerability Escape Rate | Vulns en prod | < 5% |
| Security Debt | Vulns non corrigées | Décroissant |
| Coverage | Code scanné | > 90% |
7.2 Dashboard
dashboard_metrics:
- vulnerabilities_by_severity:
critical: 0
high: 12
medium: 45
low: 128
- trends:
new_vulns_this_week: 8
fixed_this_week: 15
backlog: 185
- sla_compliance:
critical_within_24h: 100%
high_within_7d: 95%
Résumé
Dans ce chapitre, nous avons découvert :
- La définition de DevSecOps
- Les différences avec DevOps
- Les piliers fondamentaux
- Les rôles et responsabilités
- Les outils essentiels
- Les métriques à suivre
Prochaine étape
Dans le prochain chapitre, nous verrons le Shift Left Security.
→ Chapitre suivant : Shift Left Security