Skip to content

Commit

Permalink
DevSecOps ++
Browse files Browse the repository at this point in the history
  • Loading branch information
Aif4thah committed Nov 8, 2024
1 parent 986ff0f commit 3e6519e
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 19 deletions.
23 changes: 10 additions & 13 deletions Dojo-101-Apprentissage/50-MESP-Docker-microservice.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ Ce contenu est publié sous licence "GNU GENERAL PUBLIC LICENSE Version 3" et le
* [Terraform](https://www.terraform.io/)



## Contexte

Vous faites partie de la purple team de l'entreprise. Afin de former les équipes du SOC à la détection des attaques, il vous est demandé de déployer vuln-light-apps dans un microservice docker.
Expand All @@ -34,9 +33,9 @@ NB: *ce contexte est issu du Lab déjà mis en place*

2. Vérifier que docker fonctionne (container Hello World)

3. Prendre connaissance du projet Vulnerable-light-App
3. Prendre connaissance du projet Vulnerable-light-App, lire son Dockerfile.

4. Planifier dans un KanBan comment va se faire la mise en container de l'application.
4. Planifier dans un KanBan comment va se faire la mise en container d'un nouveau service Web.

* Passer en revue les étapes suivantes et créer une liste de tâche (story).

Expand All @@ -46,21 +45,21 @@ NB: *ce contexte est issu du Lab déjà mis en place*

* Utiliser les colonnes "à venir", "en cours", "en test", "terminé" pour suivre l'avancement du Brief

5. Créer un docker file
5. Créer un nouveau dockerfile

6. Automatiser l'installation et le lancement de vuln-light-apps
6. Automatiser l'installation et le lancement d'un site Web, qui affichera votre "nom-prenom" ou "nom du groupe" lorsqu'on fera une requête web depuis la machine hôte. (techno de votre choix)

7. Pousser votre travail sur un repo github.

8. Les tests de build doivent se faire automatiquement lors du push sur GitHub

9. Mettre à disposition votre container (Docker Hub / Registry)
9. Optionel : Mettre à disposition votre container (Docker Hub / Registry)

10. Appliquer les bonnes pratiques de sécurité issues du Guide ANSSI
10. Appliquer les bonnes pratiques de sécurité issues du Guide docker ANSSI

11. Exporter les logs sur la machine hôte afin de garder les traces en cas de suppression de containers

12. Pour aller plus loin : réaliser un déploiement à l'aide de Terraform
12. Optionel : Pour aller plus loin, réaliser le déploiement à l'aide de Terraform


## Modalités d'évaluation
Expand All @@ -72,16 +71,14 @@ NB: *ce contexte est issu du Lab déjà mis en place*

## Livrables

* un projet Github / Groupe, le repos doit contenir les Push/Merge/Pull Request de chaque utilisateur du groupe.

* Identifiant de container / commande docker permettant de tester son fonctionnement.
* un projet Github / Groupe, le repos doit contenir les Push/Merge/Pull Request de chaque utilisateur du groupe.

* Preuves de l'application des bonnes pratiques de sécurité et de la configuration des logs sur l'hôte
* Preuves de l'application des bonnes pratiques de sécurité et de la configuration des logs sur l'hôte.


## Critères de performance

* La commande `docker run <container> -p 3000:3000` fonctionne.
* La commande `docker run <container> -p x:x`, `docker build` ou `docker compose up` fonctionne.

* Les mesures de sécurité sont appliquées

Expand Down
13 changes: 7 additions & 6 deletions Dojo-101-Apprentissage/51-MESP-Audit-Github.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Vous êtes chargé de procéder à un audit sur le Dépot Github du BackEnd de l'application .NET.

Durée: 2 jours
Durée: 3 jours

Ce contenu est publié sous licence "GNU GENERAL PUBLIC LICENSE Version 3" et les sources sont sur le projet Github Dojo-101, merci d'en tenir compte dans vos usages.

Expand Down Expand Up @@ -36,7 +36,7 @@ En tant que consultant DevOps. Vous devez examiner le dépôt GitHub en question

6. **Conformité aux normes de codage** : Vérifiez si le code suit les meilleures pratiques et les normes de codage.

Vous forkerez le projet afin d'y implémenter et tester les différents outils et fonctionalités.
7. Vous forkerez le projet afin d'y implémenter et tester les différents outils et fonctionalités.

Après ces deux jours d'audit, vous disposerez d'un troisième jour pour rédiger un rapport détaillé sur vos observations et recommandations.

Expand All @@ -48,15 +48,16 @@ Binôme ou seul (au choix)

## Modalités d'évaluation

Relecture par le formateur du rapport d'audit finalisé (md ou pdf)
* Relecture par le formateur du rapport d'audit finalisé (md ou pdf)

* Evaluation du fork github


## Livrables

Rapport avec identifications :
* Rapport avec identifications des mauvaises pratiques et des recommandations

* Des mauvaises pratiques
* Des recommandations
* Fork avec application des bonnes pratiques


## Critères de performance
Expand Down
46 changes: 46 additions & 0 deletions Dojo-101-DevSec/Docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,52 @@ docker build .
l'image est ensuite ajouté (`docker image ls`)
## Docker Compose
* [Docker compose](https://docs.docker.com/compose/intro/compose-application-model/)
* [from @NicolasW-7 ](https://github.com/NicolasW-7/AIS-Brief-et-TIPS/blob/main/Projet/Vaultwarden/Vaultwarden/docker-compose.yml)
```yml
version: '3.7'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
WEBSOCKET_ENABLED: true
ADMIN_TOKEN: #YourAdminToken
DOMAIN: # Your domain; vaultwarden needs to know it's https to work properly with attachments
volumes:
- vw-data:/data

caddy:
image: caddy:2
container_name: caddy
restart: always
ports:
- 443:443
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./ssl:/ssl
- caddy-config:/config
- caddy-data:/data
- caddy-logs:/logs
environment:
- DOMAIN= # Your domain.

volumes:
vw-data:
caddy-config:
caddy-data:
caddy-logs:
```

```sh
docker compose up -d
```

## Aller plus loin

### Terraform
Expand Down

0 comments on commit 3e6519e

Please sign in to comment.