Back to Projects

Dockdock-Go — Gatekeeper de sécurité pour registres Harbor

Système d'analyse de sécurité multi-couches avec contrôle d'approbation humaine pour les registres de conteneurs Harbor. API Rust avec orchestration Kubernetes.

Rust Kubernetes Harbor Sécurité DevSecOps
Dockdock-Go — Gatekeeper de sécurité pour registres Harbor
Table des matières

Why

Les registres Harbor manquent de contrôle d'approbation humaine obligatoire et d'analyse de sécurité complète avant l'admission des images. Les organisations ont besoin d'un système centralisé pour appliquer des politiques de sécurité.

What

Dockdock-Go est un gatekeeper de sécurité qui impose des demandes explicites et une approbation humaine avant d'admettre des images conteneurs dans des projets Harbor sensibles. Il combine analyse de vulnérabilités, détection de malwares statique et analyse runtime avec un workflow d'approbation centralisé.

How

Construit avec Rust (Actix-web, Diesel) pour l'API backend et Kubernetes Jobs pour orchestrer les analyses de sécurité. S'intègre avec l'API Harbor pour la réplication d'artefacts et Trivy pour l'analyse de vulnérabilités. YaraHunter gère la détection de malwares avec des règles YARA personnalisées. PostgreSQL stocke les états de requêtes et résultats d'analyses.

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

Technologies & Tools

Commentaires