
Héberger et gérer plusieurs instances Juice Shop pour des formations en sécurité et des Capture The Flags.
Organiser des CTF et des formations de sécurité avec OWASP Juice Shop est généralement assez délicat : Juice Shop n'est tout simplement pas conçu pour être utilisé par plusieurs utilisateurs à la fois. Expliquer à chacun comment démarrer Juice Shop sur sa propre machine fonctionne correctement, mais prend beaucoup trop de temps précieux.
MultiJuicer vous permet d'exécuter des instances Juice Shop distinctes pour chaque participant sur un cluster Kubernetes central, afin d'organiser des événements sans avoir besoin d'instances Juice Shop locales.
Ce qu'il fait :
Pour une description détaillée de l'architecture et des composants individuels, voir la Documentation d'Architecture.
👉 Nouveau sur MultiJuicer ? Consultez la présentation visuelle pour voir comment les participants s'inscrivent, obtiennent leurs instances JuiceShop et comment les scores sont suivis sur le tableau des scores.
MultiJuicer fonctionne sur Kubernetes. Pour l'installer, vous aurez besoin de helm
helm install multi-juicer oci://ghcr.io/juice-shop/multi-juicer/helm/multi-juicer
Consultez les notes de production pour une liste des valeurs que vous devrez probablement configurer avant d'utiliser MultiJuicer lors d'événements réels.
Pour configurer MultiJuicer avec le support des défis liés à l'IA/LLM de JuiceShop v20+, consultez le guide de configuration IA/LLM
Généralement, MultiJuicer fonctionne sur presque tous les clusters Kubernetes, mais pour faciliter la tâche aux personnes novices en Kubernetes, nous avons préparé quelques guides sur la façon de configurer un cluster Kubernetes avec MultiJuicer installé pour certains fournisseurs de cloud spécifiques.
Vous avez plusieurs options pour configurer la pile, avec la possibilité de personnaliser les instances JuiceShop selon vos préférences. Vous trouverez les valeurs de configuration par défaut dans : helm/multi-juicer/values.yaml
Téléchargez et enregistrez le fichier, puis indiquez à helm d'utiliser votre fichier de configuration plutôt que celui par défaut en exécutant :
helm install -f values.yaml multi-juicer ./multi-juicer/helm/multi-juicer/
Pour personnaliser le thème des instances JuiceShop et de l'interface MultiJuicer (thème, logo, défis activés, etc.), consultez le guide de personnalisation JuiceShop.
helm delete multi-juicer
Pour être prudent, prévoyez :
Les chiffres ci-dessus reflètent les limites de ressources par défaut. Celles-ci peuvent être ajustées, voir : Personnalisation de l'installation
Il n'y a pas de limite fixe réelle. (Même si vous pouvez en configurer une 😉) Le LoadBalancer personnalisé, par lequel transite tout le trafic des instances individuelles, peut être répliqué autant que vous le souhaitez. Vous pouvez également attacher un Horizontal Pod Autoscaler pour mettre à l'échelle automatiquement le LoadBalancer.
Il existe quelques exigences particulières que nous n'avons pas trouvées faciles à résoudre avec un équilibreur de charge pré-construit :
Si vous avez des idées géniales pour surmonter ces problèmes sans équilibreur de charge personnalisé, n'hésitez pas à nous écrire, nous serions ravis d'avoir de vos nouvelles !
Il y a de très bonnes raisons à cela :
kubectl.kubectl ?Vous pouvez lister tous les JuiceShops avec les informations pertinentes en utilisant la fonctionnalité de colonnes personnalisées de kubectl.
$ kubectl get -l app.kubernetes.io/name=juice-shop -o custom-columns="TEAM:metadata.labels.team,SOLVED-CHALLENGES:metadata.annotations.multi-juicer\.owasp-juice\.shop/challengesSolved,LAST-REQUEST:metadata.annotations.multi-juicer\.owasp-juice\.shop/lastRequestReadable" deployments
TEAM SOLVED-CHALLENGES LAST-REQUEST
foobar 3 Wed May 4 2042 18:14:22 GMT+0000 (Coordinated Universal Time)
team-42 0 Wed May 4 2042 18:14:30 GMT+0000 (Coordinated Universal Time)
the-empire 0 Wed May 4 2042 18:14:46 GMT+0000 (Coordinated Universal Time)
Le projet a démarré chez iteratec, une société de développement logiciel basée en Allemagne, pour organiser leurs formations de sécurité pour leurs propres développeurs et leurs clients. Le projet a ensuite été open sourcé en 2019 et donné à l'organisation OWASP / au projet OWASP Juice Shop en 2023.
Vous pouvez nous joindre dans le canal #project-juiceshop de l'espace de travail OWASP Slack. Nous serions ravis d'entendre vos retours ou rapports d'utilisation. Si vous n'êtes pas encore dans l'espace de travail OWASP Slack, vous pouvez nous rejoindre via ce lien