0% ont trouvé ce document utile (0 vote)
378 vues44 pages

Dev Sec Ops

Transféré par

Mavla-Deven
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
378 vues44 pages

Dev Sec Ops

Transféré par

Mavla-Deven
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

DEVSECOPS

Cédric PINTO

Expériences (Orange 2014-Now)


❑ Support/Exploitation Système/BDD
❑ Auditeur Sécurité
❑ Ingénieur Réseau (Sécurité)
❑ Expert Cyber sécurité

Certifications
❑ Certifié ISO/IEC 27005 Provisional Risk Manager
❑ Certifié Lead Ethical Hacker
❑ Certifié ISO/IEC 27001 Lead Auditor
❑ Certified Ethical Hacker (CEHv9)

Formations
❑ Ingénieur en informatique et réseaux
Introduction à DevSecOps

❑ Intégrer la sécurité dans le


développement et les opérations

❑ Automatiser les processus de sécurité.

❑ Encourager une culture de collaboration


entre les équipes de développement, de
sécurité et d'opérations.
Sommaire des modules

I Comprendre les principes de base du DevSecOps

II Découvrir les outils et pratiques courants

Apprendre à intégrer la sécurité dans le cycle de


III développement

Encourager une culture de collaboration entre les


IV équipes
Programme / Evaluation

Programme sur 2 jours :


- Jour 1 – Cours / TD à rendre / Projet
- Jour 2 : Projet + démo

Notation :
QCM + TD (Coef 1)
Projet (Coef 2)
Comprendre les principes de base du
I DevSecOps
1.1 Avant le DevSecOps ?

Avant l'émergence de DevSecOps, le développement logiciel et la gestion de la sécurité étaient souvent traités de manière
distincte et compartimentée. Voici un aperçu de comment les choses se déroulaient :

Développement Traditionnel et Sécurité


[Link] de Développement en Cascade : Le modèle de développement le plus courant était le modèle en cascade (ou Waterfall). Ce
modèle est linéaire et séquentiel, avec des phases distinctes pour la conception, le développement, les tests et le déploiement. Chaque
phase devait être complétée avant que la suivante ne commence.
2.Sécurité en Bout de Chaîne : La sécurité était souvent intégrée à la fin du cycle de développement. Les équipes de sécurité faisaient
des évaluations et des tests de sécurité juste avant la mise en production. Cette approche pouvait conduire à des retards si des vulnérabilités
critiques étaient découvertes tardivement.
[Link] de Collaboration : Les équipes de développement et de sécurité travaillaient souvent en silos. Les développeurs étaient
principalement concentrés sur la livraison rapide des fonctionnalités, tandis que les équipes de sécurité se concentraient sur l'identification
des vulnérabilités. Cela pouvait entraîner des tensions et un manque de communication efficace.
[Link] de Réponse Lents : En raison de l'approche en cascade et de la séparation des équipes, les temps de réponse aux problèmes de
sécurité étaient souvent lents. Corriger une vulnérabilité identifiée en fin de cycle pouvait nécessiter des révisions majeures et entraîner des
retards significatifs.
[Link] de Sécurité Traditionnels : Les outils de sécurité utilisés étaient principalement conçus pour fonctionner indépendamment des
pipelines de développement. Les analyses de sécurité statiques et dynamiques étaient effectuées manuellement, augmentant le temps
nécessaire pour détecter et corriger les vulnérabilités.
1.1 Qu'est-ce que le DevSecOps ?

❑ DevSecOps = Développement + Sécurité +


Opérations

❑ Une approche pour intégrer la sécurité à chaque


étape du cycle de développement logiciel

❑ Objectif : Détection et correction des vulnérabilités


le plus tôt possible

Le DevSecOps, c'est la fusion du développement, de la sécurité et des opérations. C'est une approche qui vise à
intégrer la sécurité à chaque étape du cycle de développement logiciel. L'objectif est de détecter et corriger les
vulnérabilités le plus tôt possible, tout en assurant une livraison continue et de haute qualité
1.2 Principes Clés du DevSecOps

❑ Shift-Left Security : Intégrer la sécurité dès le début Pour réussir en DevSecOps, nous devons suivre certains
principes clés. Le 'Shift-Left Security' consiste à intégrer
❑ Automatisation : Utiliser des outils pour automatiser la sécurité dès les premières étapes du cycle de
les tests de sécurité développement. L'automatisation est cruciale pour
assurer des tests de sécurité cohérents et réguliers.
❑ Collaboration : Encourager la communication entre Enfin, la collaboration est essentielle pour que les
les équipes de développement, sécurité et équipes de développement, de sécurité et d'opérations
opérations travaillent ensemble de manière harmonieuse.
1.3 Processus DevSecOps

Déploiement
Développement Continu (CD)
Adopter des normes de
codage sécurisées et former Vérifier la sécurité avant le
les développeurs déploiement

Intégration Surveillance et
Planification Continue (CI) Opérations
Définir les exigences de
Intégrer des tests de sécurité Surveiller continuellement les
sécurité et évaluer les risques
automatisés applications en production
1.3 OWASP

OWASP : "Open Web Application OWASP Top Ten :


Security Project,« Une liste des dix principales vulnérabilités de sécurité des applications web

Organisation mondiale à but non lucratif OWASP Web Security Testing Guide :
dédiée à la sécurité des applications Un guide complet pour tester la sécurité des applications web. Il fournit des
web. méthodologies et des techniques pour identifier les vulnérabilités.

L'objectif principal d'OWASP : OWASP ZAP (Zed Attack Proxy) :


Améliorer la sécurité des logiciels en Un outil open source pour trouver les vulnérabilités dans les applications web.
sensibilisant et en éduquant les
développeurs, les gestionnaires et les Projets OWASP :
organisations sur les meilleures OWASP héberge de nombreux projets qui fournissent des outils, des
pratiques et les menaces courantes en bibliothèques, des frameworks et des documents sur la sécurité des
matière de sécurité des applications. applications. OWASP Dependency-Check, OWASP ASVS (Application Security
Verification Standard), et OWASP SAMM (Software Assurance Maturity Model).
1.3 OWASP - WSTG
Cherchez sur internet des informations sur Web Security Testing Guide ! (20 min)

N° Questions Réponses

Qu'est-ce que l'OWASP Web Security Testing


1 Guide (WSTG) et quel est son objectif principal
?

Quels sont les principaux types de


2
vulnérabilités couvertes par l'OWASP WSTG ?

Quels sont les outils couramment


3 recommandés par l'OWASP WSTG pour
effectuer des tests de sécurité web ?

Quelles sont les 5 phases de test des


4
Framework selon OWASP

Comment le WSTG conseille-t-il de tester les


5 vulnérabilités liées à l'authentification et à la
gestion des sessions ?
1.3 OWASP - WSTG
Cherchez sur internet des informations sur Web Security Testing Guide ! (20 min) – correction

N° Questions Réponses

Qu'est-ce que l'OWASP Web Security L'OWASP Web Security Testing Guide (WSTG) est un guide exhaustif publié par l'Open Web Application Security Project (OWASP). Son
objectif principal est de fournir des directives et des meilleures pratiques pour tester la sécurité des applications web. Il couvre une gamme
1 Testing Guide (WSTG) et quel est son étendue de tests de sécurité, y compris l'identification et la mitigation des vulnérabilités courantes, afin d'aider les développeurs et les
objectif principal ? professionnels de la sécurité à améliorer la résilience de leurs applications face aux menaces.

Les principaux types de vulnérabilités couvertes par l'OWASP WSTG incluent :


Quels sont les principaux types de - Injection (SQL, Command, etc.) : Vulnérabilités qui permettent l'exécution de commandes non prévues par l'application.
- Cross-Site Scripting (XSS) : Vulnérabilités qui permettent l'injection de scripts malveillants dans des pages web.
2 vulnérabilités couvertes par l'OWASP - Cross-Site Request Forgery (CSRF) : Vulnérabilités qui permettent de forcer un utilisateur authentifié à exécuter des actions non
WSTG ? souhaitées.
- Security Misconfiguration : Erreurs dans la configuration des systèmes qui exposent des failles de sécurité.
- OWASP ZAP (Zed Attack Proxy) : Un outil open-source pour trouver des vulnérabilités dans les applications web.
Quels sont les outils couramment - Burp Suite : Une plateforme intégrée pour effectuer des tests de sécurité des applications web.
3 recommandés par l'OWASP WSTG pour - Nmap : Un outil pour le scanning réseau et la détection des ports [Link] : Un scanner de serveur web open-source pour détecter des
effectuer des tests de sécurité web ? vulnérabilités.
- SQLMap : Un outil d'injection SQL automatisé pour tester les bases de données.
3.2 Phase 1 Before Development Begins
3.3 Phase 2 During Definition and Design
Quelles sont les 5 phases de test des
4 3.4 Phase 3 During Development
Framework selon OWASP 3.5 Phase 4 During Deployment
3.6 Phase 5 During Maintenance and Operations
- Tests de Force Brute : Vérifier si les comptes peuvent être compromis par des attaques de force brute.
Comment le WSTG conseille-t-il de - Tests de Sessions Simultanées : S'assurer qu'une session utilisateur ne peut pas être utilisée simultanément à partir de plusieurs appareils
tester les vulnérabilités liées à ou adresses IP.
5 - Tests de Déconnexion : Vérifier que les sessions sont correctement invalidées lors de la déconnexion.
l'authentification et à la gestion des
sessions ? - Gestion des Jetons de Session : S'assurer que les jetons de session sont sécurisés et changés régulièrement pour prévenir les attaques de
fixation de session.
Découvrir les outils et pratiques
II courants
2.1 Outils DevSecOps

❑ Analyse Statique du Code : SonarQube,


Checkmarx, Fortify
❑ Gestion des Dépendances : OWASP
Dependency-Check, Snyk
❑ Tests de Sécurité des Applications (DAST) :
OWASP ZAP, Burp Suite
❑ Infrastructure as Code (IaC) : Terraform,
Ansible
❑ Surveillance et Logging : ELK Stack,
Prometheus, Grafana
2.2 Ansible

❑ Ansible est un outil open source d'automatisation des


configurations, de gestion des déploiements et d'orchestration IT. Il
permet de gérer les infrastructures informatiques en automatisant
des tâches répétitives telles que le provisionnement des serveurs,
la gestion des configurations, le déploiement d'applications et
l'exécution de scripts ad hoc. Ansible utilise une syntaxe simple
basée sur YAML pour définir des tâches dans des fichiers appelés
"playbooks".

❑ Fonctionnalités Clés :
- Sans Agent : Ne nécessite pas d'agent sur les nœuds gérés, simplifiant ainsi l'installation et la gestion.
- Basé sur SSH : Utilise SSH pour communiquer avec les nœuds, garantissant la sécurité et la simplicité.
- Playbooks : Fichiers YAML pour définir des tâches et des rôles.
- Modules : Une large bibliothèque de modules pour diverses tâches (ex : gestion des fichiers,
configurations réseau, services cloud).
2.3 SonarQube

❑ SonarQube est une plateforme open-source


conçue pour effectuer une analyse continue
de la qualité du code. Il examine le code
source et fournit des rapports détaillés sur
les défauts, les bugs, les vulnérabilités, les
mauvaises pratiques de codage et les
duplications de code.

❑ SonarQube aide les équipes de


développement à améliorer la qualité et la
sécurité de leurs applications en intégrant
ces analyses dans le cycle de vie du
développement logiciel (SDLC).
2.4 Dependency-Check

❑ OWASP Dependency-Check est un outil open


source qui permet d'identifier les
vulnérabilités connues dans les bibliothèques
et les dépendances utilisées par un projet
logiciel. Cet outil est particulièrement utile
pour les développeurs et les équipes de
sécurité afin de garantir que les composants
tiers utilisés dans leurs applications sont
sécurisés et à jour.
2.5 OWASP ZAP

❑ OWASP ZAP est un outil open source utilisé


pour effectuer des tests de sécurité
automatisés et manuels sur les applications
web. Il aide à identifier les vulnérabilités
courantes telles que les injections SQL, les
failles XSS (Cross-Site Scripting), et les
problèmes d'authentification.

❑ Fonctionnalités Clés :
- Scanner de vulnérabilités automatisées
- Proxy d'interception pour l'analyse manuelle
- Outils d'exploration des applications web
- Rapports détaillés de vulnérabilités
- Extensible via des plugins
2.6 ELK Stack

❑ ELK Stack est une suite d'outils open source pour la


recherche, l'analyse et la visualisation des données de
logs en temps réel. Elle est composée de trois
principaux outils :
Elasticsearch : Moteur de recherche et d'analyse
distribué, utilisé pour indexer et rechercher les données
de logs.
Logstash : Pipeline de traitement de données, utilisé pour
collecter, transformer, et acheminer les logs vers
Elasticsearch.
Kibana : Interface de visualisation, utilisée pour explorer
et visualiser les données indexées dans Elasticsearch à
l'aide de tableaux de bord interactifs.
2.7 docker

Docker est une plateforme logicielle qui permet de créer,


déployer et gérer des applications dans des conteneurs.

❑ Conteneurs: Commandes de base


Les conteneurs sont des environnements légers docker --version : Vérifie la version de Docker installée.
docker info : Affiche des informations détaillées sur l'installation Docker.
et portables qui regroupent tout ce dont une Gestion des images
application a besoin pour fonctionner : code, docker pull <image> : Télécharge une image depuis le Docker Hub (ou un autre registre Docker).
bibliothèques, dépendances et configurations. docker images : Liste les images Docker téléchargées sur votre machine.
docker rmi <image> : Supprime une image Docker de votre machine.
Cela garantit que l'application fonctionne de Gestion des conteneurs
manière identique, quel que soit l'endroit où docker run <image> : Crée et démarre un nouveau conteneur à partir de l'image spécifiée.
elle est déployée, que ce soit sur un ordinateur docker run -it <image> : Crée et démarre un conteneur en mode interactif (vous donne accès à
portable, dans un centre de données ou sur un un terminal dans le conteneur).
docker ps : Liste les conteneurs en cours d'exécution.
cloud public. docker ps -a : Liste tous les conteneurs, y compris ceux qui ne sont pas en cours d'exécution.
docker stop <container> : Arrête un conteneur en cours d'exécution.
docker start <container> : Démarre un conteneur arrêté.
Avantages de Docker : docker restart <container> : Redémarre un conteneur.
Portabilité / Isolation / Scalabilité / Efficacité docker rm <container> : Supprime un conteneur arrêté.
2.7 docker
Appréhender l’environnement docker! (30 min) donner les commandes utiliser dans chaque étape

N° étapes Réponses

1 Installation de Docker

Création d'une Image Docker :


- Créer un fichier python
2 - Créer un fichier Dockerfile
- Créer un fichier [Link]
- Construire l’image docker
Gestion des Conteneurs :
- Exécuter un conteneur
- Lister les conteneurs en cours d'exécution
3 - Arrêter un conteneur
- Supprimer un conteneur
- Lister toutes les images Docker
- Supprimer une image Docker
2.7 docker
Appréhender l’environnement docker! (30 min) donner les commandes utiliser dans chaque étape - Correction

N° étapes Réponses

1 Installation de Docker sudo apt-get install [Link]

Création d'une Image Docker :


- Créer un fichier python
2 - Créer un fichier Dockerfile docker build -t mon-app:latest .
- Créer un fichier [Link]
- Construire l’image docker
Gestion des Conteneurs :
docker run -d -p 8000:8000 mon-app:latest
- Exécuter un conteneur
docker ps
- Lister les conteneurs en cours d'exécution
docker stop <container_id>
3 - Arrêter un conteneur
docker rm <container_id>
- Supprimer un conteneur
docker images
- Lister toutes les images Docker
docker rmi mon-app:latest
- Supprimer une image Docker
Apprendre à intégrer la sécurité dans
III le cycle de développement
Introduction à la Sécurité dans le Cycle de
3.1 Développement

❑ Importance de la Sécurité:
✓ Protection des données sensibles.
✓ Prévention des vulnérabilités et des cyberattaques.
✓ Conformité aux réglementations et normes (ex: GDPR, ISO/IEC
27001).
❑ Concept de "Security by Design":
✓ Intégrer la sécurité dès les premières phases de développement.
✓ Adapter une approche proactive plutôt que réactive.

❑ Cycle de Développement Sécurisé:


✓ Incorporer des pratiques de sécurité à chaque étape du cycle de vie
du logiciel (planification, conception, développement, test,
déploiement et maintenance).
Pratiques de Sécurité dans le Cycle de
3.2 Développement

❑ Planification:
✓ Évaluation des risques.
✓ Définition des exigences de sécurité.
✓ Formation des équipes de développement sur la sécurité.
❑ Conception:
✓ Modélisation des menaces.
✓ Design sécurisé des architectures.
✓ Utilisation de patrons de conception sécurisés.
❑ Développement: ❑ Déploiement:
✓ Utilisation de bibliothèques et de frameworks sécurisés. ✓ Configuration sécurisée des environnements.
✓ Revue de code (peer reviews, analyse statique de code). ✓ Surveillance continue.
✓ Mise en œuvre de pratiques de codage sécurisé (ex: ✓ Réponse aux incidents et gestion des correctifs.
validation des entrées). ❑ Maintenance:
❑ Test: ✓ Surveillance des nouvelles vulnérabilités.
✓ Tests de pénétration. ✓ Mise à jour régulière des logiciels.
✓ Scans de vulnérabilités. ✓ Révisions de sécurité périodiques.
✓ Tests de sécurité automatisés.
3.3 Exemple de Pipeline CI/CD avec Sécurité

❑ Commit du Code : Développeur pousse le


code
❑ Analyse Statique : SonarQube vérifie le code
❑ Tests Automatisés : Exécution des tests
unitaires et d'intégration
❑ Scanning de Dépendances : Snyk vérifie les
dépendances
❑ Déploiement : Déploiement dans un
environnement de test
❑ Tests Dynamiques : OWASP ZAP teste les
vulnérabilités
❑ Déploiement en Production : Code sécurisé
est déployé
Encourager une culture de
IV collaboration entre les équipes
4.1 Culture DevSecOps

❑ Collaboration : Communication ouverte


entre les équipes
❑ Formation Continue : Se tenir à jour sur les
nouvelles menaces et pratiques
❑ Feedback Continu : Utiliser le feedback pour
améliorer les processus et outils
4.2 Importance de la Collaboration

❑ Pourquoi la collaboration est-elle essentielle ?


❑ Réduction des silos : Facilite la communication et la
compréhension entre les équipes de développement,
d'opérations et de sécurité.
❑ Innovation accrue : Favorise le partage d'idées et de
solutions créatives.
❑ Réactivité améliorée : Permet de répondre plus
rapidement aux incidents et aux changements.
❑ Qualité et sécurité : Intégration des perspectives de
sécurité dès le début du cycle de développement.
4.3 Stratégies pour Favoriser la Collaboration

❑ Stratégies pour Favoriser la Collaboration

❑ Communication Ouverte :
- Utilisation d'outils de communication comme Slack, Teams, ou des plateformes collaboratives.
- Réunions régulières inter-équipes pour aligner les objectifs et partager les progrès.
❑ Formation et Sensibilisation :
- Ateliers conjoints sur les meilleures pratiques de sécurité et de développement.
- Sessions de formation croisée pour comprendre les défis et les objectifs des autres équipes.
❑ Outils Intégrés :
- Adoption de plateformes CI/CD intégrées pour un flux de travail cohérent.
- Utilisation d'outils collaboratifs comme Jira, Confluence, et GitHub pour la gestion de projets et de code.
❑ Culture de Feedback :
- Encourager le feedback constructif et continu entre les équipes.
- Mise en place de rétrospectives régulières pour identifier les points d'amélioration et célébrer les
réussites.
4.4 Étude de Cas

1. Présentation de l’entreprise

❑ Entreprise : TechCo Solutions


❑ Secteur d'activité : Développement de logiciels de gestion pour entreprises
❑ Taille : 500 employés, dont 200 dans l'équipe de développement

❑ Contexte détaillé :
TechCo Solutions est une entreprise en pleine croissance spécialisée dans la création de logiciels de
gestion intégrée (ERP) pour les PME. Leur produit phare, TechERP, aide les entreprises à gérer leurs
processus financiers, RH, et logistiques.
4.4 Étude de Cas

2. Défis : Problèmes de sécurité rencontrés

Problèmes initiaux :
❑ Vulnérabilités non détectées dans le code avant le déploiement.
❑ Temps de réaction lent pour corriger les vulnérabilités découvertes en production.
❑ Manque de collaboration entre les équipes de développement, sécurité, et opérations.
❑ Faiblesse des tests de sécurité automatisés intégrés dans les pipelines CI/CD.

❑ Exemples concrets :
Lors d'une mise à jour majeure, TechCo a subi une attaque par injection SQL qui a compromis des
données sensibles de plusieurs clients. Une autre fois, une dépendance non sécurisée a conduit à
l'exploitation d'une faille, causant un arrêt de service.
4.4 Étude de Cas

3. Solutions : Implémentation du DevSecOps

Adoption de DevSecOps :
❑ Shift-Left Security : Intégration des tests de sécurité dès le début du cycle de développement.
❑ Automatisation des Tests de Sécurité : Utilisation de SonarQube pour l'analyse statique du code et OWASP ZAP
pour les tests de sécurité dynamiques.
❑ Gestion des Dépendances : Mise en place de Snyk pour scanner les bibliothèques et dépendances tierces.
❑ Infrastructure as Code : Utilisation de Terraform et Ansible pour sécuriser et auditer l'infrastructure.
❑ Collaboration Améliorée : Création de squads interfonctionnelles incluant développeurs, ingénieurs sécurité, et
opérations.

❑ Détails des solutions :


TechCo a restructuré son pipeline CI/CD pour inclure des étapes de sécurité à chaque phase. Les développeurs ont
reçu des formations sur les meilleures pratiques de sécurité, et des outils comme SonarQube et OWASP ZAP ont
été intégrés pour automatiser les tests de sécurité. Un programme de bug bounty interne a également été lancé
pour encourager la détection précoce des vulnérabilités.
4.4 Étude de Cas

4. Résultats : Amélioration de la sécurité et de l'efficacité

Améliorations mesurables :
❑ Détection Précoce : Augmentation de 50% des vulnérabilités détectées en phase de développement.
❑ Temps de Réaction : Réduction de 40% du temps moyen de correction des vulnérabilités.
❑ Collaboration : Renforcement de la communication et de la collaboration entre les équipes, ce qui a conduit à
une meilleure compréhension et intégration des exigences de sécurité.
❑ Confiance des Clients : Amélioration de la satisfaction et de la confiance des clients grâce à une sécurité
renforcée.

❑ Exemples de succès :
Depuis la mise en œuvre de DevSecOps, TechCo n'a pas subi de failles de sécurité majeures. Les clients ont noté
une amélioration significative de la fiabilité et de la sécurité des produits. Les audits de sécurité externes ont
montré une réduction significative des vulnérabilités dans les applications déployées.
Merci !
5 Projet DevSecOPS

Objectif :
Par groupe de 3 à 5, choisissez un des 5 projets proposés.
Vous avez la journée pour :
- Mettre en place l’infrastructure demandée
- Fournir un rapport (entre 12 et 15 pages) avec des
impr écran de vos infras.
- Préparer une démo de 15/20 min de votre projet.
5 Projet 1 : Mise en place d'un pipeline CI/CD sécurisé

Objectif :
Mettre en place un pipeline d'intégration et de déploiement continu (CI/CD) en intégrant des outils de sécurité
pour automatiser les tests de sécurité.

Activités :
▪ Configuration d'un serveur Jenkins ou GitLab CI.
▪ Intégration d'outils de sécurité comme SonarQube pour l'analyse statique de code, OWASP ZAP pour les tests
de sécurité des applications web.
▪ Déploiement automatisé d'une application web sur un environnement de test.
▪ Documentation du processus et des configurations effectuées.

Rapport :
▪ Introduction au CI/CD et à la sécurité.
▪ Description des outils utilisés.
▪ Étapes de configuration et de mise en place.
▪ Résultats des tests de sécurité.
▪ Conclusion et recommandations.
5 Projet 2 : Analyse de vulnérabilités dans un projet open source

Objectif :
Effectuer une analyse de vulnérabilités sur un projet open source en utilisant des outils d'analyse statique et
dynamique.

Activités :
▪ Sélection d'un projet open source populaire sur GitHub.
▪ Utilisation d'outils comme Dependency-Check, Bandit (pour Python) ou Brakeman (pour Ruby on Rails).
▪ Exécution de tests de sécurité dynamiques avec OWASP ZAP ou Burp Suite.
▪ Rédaction des résultats et des recommandations de correction.

Rapport :
▪ Présentation du projet open source choisi.
▪ Description des outils d'analyse utilisés.
▪ Détails des vulnérabilités trouvées.
▪ Suggestions de remédiation.
▪ Conclusion sur l'état de la sécurité du projet.
Projet 3 : Implémentation de la sécurité dans un environnement
5 Kubernetes

Objectif :
Configurer et sécuriser un cluster Kubernetes en utilisant des meilleures pratiques de sécurité.

Activités :
▪ Déploiement d'un cluster Kubernetes (minikube ou microk8s).
▪ Configuration de politiques réseau avec Calico ou Weave.
▪ Mise en place de RBAC (Role-Based Access Control).
▪ Utilisation de kube-bench pour vérifier la sécurité du cluster.
▪ Documentation des configurations et des résultats des audits.

Rapport :
▪ Introduction à Kubernetes et à la sécurité.
▪ Description des configurations effectuées.
▪ Résultats des vérifications de sécurité.
▪ Conclusion et recommandations pour améliorer la sécurité.
5 Projet 4 : Sécurisation d'une API RESTful

Objectif :
Développer et sécuriser une API RESTful en utilisant des pratiques de sécurité modernes.

Activités :
▪ Développement d'une API simple avec un framework comme Flask (Python) ou Express ([Link]).
▪ Implémentation de l'authentification et de l'autorisation (OAuth 2.0, JWT).
▪ Ajout de validations de données pour prévenir les injections SQL/NoSQL.
▪ Test de sécurité avec Postman et OWASP ZAP.
▪ Documentation du développement et des mesures de sécurité.

Rapport :
▪ Présentation de l'API développée.
▪ Description des mesures de sécurité implémentées.
▪ Résultats des tests de sécurité.
▪ Conclusion et recommandations.
5 Projet 5 : Audit de sécurité d'une application web existante

Objectif :
Réaliser un audit de sécurité complet d'une application web existante pour identifier et corriger les faiblesses.

Activités :
▪ Sélection d'une application web (peut être une application interne ou un projet étudiant).
▪ Utilisation de scanners de sécurité comme OWASP ZAP, Nikto, et des outils d'analyse de code source.
▪ Identification et exploitation des vulnérabilités.
▪ Documentation des vulnérabilités trouvées et des mesures correctives proposées.

Rapport :
▪ Présentation de l'application auditée.
▪ Description de la méthodologie d'audit.
▪ Détails des vulnérabilités identifiées et de leur exploitation.
▪ Recommandations pour la correction et l'amélioration continue de la sécurité.
▪ Conclusion sur l'état de la sécurité de l'application.

Vous aimerez peut-être aussi