Aperçu
Dockdock-Go est un système de contrôle de sécurité conçu pour imposer des portes d’approbation humaine et une analyse de sécurité multi-couches avant que les images de conteneurs ne soient admises dans des projets sensibles de registres Harbor. Développé comme projet de Master 1, il démontre comment implémenter des pratiques de sécurité en profondeur pour les chaînes d’approvisionnement de conteneurs.
Fonctionnalités clés
- Workflow d’approbation humaine — Demandes explicites et approbation obligatoires avant l’admission d’images dans les projets de production
- Analyse de sécurité multi-couches — Combine l’analyse de vulnérabilités (Trivy), la détection de malwares statique (YaraHunter) et l’analyse runtime
- Intégration API Harbor — Intégration transparente avec les registres Harbor pour la réplication et gestion d’artefacts
- Suivi centralisé des décisions — Base de données PostgreSQL stockant toutes les requêtes, résultats d’analyses et décisions d’approbation
- Interface web — Interface Harbor modifiée avec onglet dédié Dockdock-Go pour gérer les demandes d’admission
- Orchestration Kubernetes — Les analyses de sécurité s’exécutent comme Jobs Kubernetes isolés pour scalabilité et isolation
Architecture technique
Le système suit une architecture microservices avec :
- API backend Rust (Actix-web, ORM Diesel) gérant la logique métier et l’orchestration
- Base de données PostgreSQL stockant les états de requêtes, résultats d’analyses et drapeaux de sécurité
- Jobs Kubernetes pour exécuter les analyses de sécurité isolées (malwares, vulnérabilités)
- Intégration API Harbor pour la réplication d’artefacts et l’analyse de vulnérabilités
- Modifications UI Angular étendant l’interface web de Harbor
Cas d’usage
- Organisations soucieuses de la sécurité nécessitant des portes d’approbation obligatoires pour les images de conteneurs de production
- Exigences de conformité nécessitant des pistes d’audit pour toutes les admissions de conteneurs
- Projets éducatifs démontrant les bonnes pratiques de sécurité des conteneurs
- Workflows DevSecOps intégrant l’analyse de sécurité dans les pipelines CI/CD
Défis et leçons apprises
Ce projet a enseigné des leçons précieuses sur :
- L’importance des workflows asynchrones dans les pipelines de sécurité
- Les défis du patching d’applications monolithiques existantes (Harbor UI)
- L’orchestration de multiples outils d’analyse de sécurité avec différents formats de sortie
- L’équilibre entre les contrôles de sécurité automatisés et la supervision humaine
Lire la rétrospective technique complète pour les décisions d’architecture détaillées, les défis d’implémentation et l’analyse de la dette technique.
Statut du projet
Proof-of-Concept — Démo fonctionnelle terminée en 2024. Non maintenu pour un usage en production.
Équipe : 4 étudiants | Durée : 9 mois | Catégorie : Éducatif
