
Hosten und verwalten Sie mehrere Juice Shop-Instanzen für Sicherheitstrainings und Capture The Flags.
Das Durchführen von CTFs und Security Trainings mit OWASP Juice Shop ist normalerweise ziemlich knifflig, Juice Shop ist einfach nicht dafür gedacht, von mehreren Benutzern gleichzeitig genutzt zu werden. Alle anzuweisen, Juice Shop auf ihrem eigenen Rechner zu starten, funktioniert zwar, nimmt aber zu viel wertvolle Zeit in Anspruch.
MultiJuicer gibt dir die Möglichkeit, separate Juice Shop-Instanzen für jeden Teilnehmer auf einem zentralen Kubernetes-Cluster auszuführen, um Events ohne die Notwendigkeit lokaler Juice Shop-Instanzen durchzuführen.
Was es tut:
Eine detaillierte Beschreibung der Architektur und der einzelnen Komponenten findest du in der Architekturdokumentation.
👉 Neu bei MultiJuicer? Sieh dir den visuellen Rundgang an, um zu erfahren, wie sich Teilnehmer registrieren, ihre JuiceShop-Instanzen erhalten und wie die Punktzahlen auf der Bestenliste verfolgt werden.
MultiJuicer läuft auf Kubernetes. Für die Installation benötigst du helm
helm install multi-juicer oci://ghcr.io/juice-shop/multi-juicer/helm/multi-juicer
Siehe Produktionshinweise für eine Checkliste der Werte, die du wahrscheinlich konfigurieren musst, bevor du MultiJuicer in richtigen Events einsetzt.
Um MultiJuicer mit Unterstützung für die KI/LLM-bezogenen Challenges ab JuiceShop v20+ einzurichten, siehe AI/LLM-Konfigurationsanleitung
Grundsätzlich läuft MultiJuicer auf so ziemlich jedem Kubernetes-Cluster. Um es jedoch für alle, die neu bei Kubernetes sind, einfacher zu machen, haben wir einige Anleitungen, wie man einen Kubernetes-Cluster mit installiertem MultiJuicer für einige spezifische Cloud-Anbieter einrichtet.
Du hast einige Optionen, wie du den Stack einrichten kannst, mit einigen Möglichkeiten, die JuiceShop-Instanzen nach deinen Wünschen anzupassen. Die Standardkonfigurationswerte findest du unter: helm/multi-juicer/values.yaml
Lade die Datei herunter & speichere sie und teile Helm mit, dass er deine Konfigurationsdatei anstelle der Standardeinstellungen verwenden soll, indem du Folgendes ausführst:
helm install -f values.yaml multi-juicer ./multi-juicer/helm/multi-juicer/
Um das Theming der JuiceShop-Instanzen und der MultiJuicer-Oberfläche anzupassen (Theme, Logo, aktivierte Challenges, ...), siehe JuiceShop-Anpassungsanleitung.
helm delete multi-juicer
Um auf der sicheren Seite zu sein, kalkuliere mit:
Die obigen Zahlen spiegeln die Standard-Ressourcenlimits wider. Diese können angepasst werden, siehe: Anpassung der Einrichtung
Es gibt keine wirkliche feste Grenze. (Auch wenn du eine konfigurieren kannst 😉) Der benutzerdefinierte LoadBalancer, durch den der gesamte Verkehr für die einzelnen Instanzen fließt, kann nach Belieben repliziert werden. Du kannst auch einen Horizontal Pod Autoscaler anfügen, um den LoadBalancer automatisch zu skalieren.
Es gibt einige besondere Anforderungen, von denen wir nicht glauben, dass sie mit einem vorgefertigten Load Balancer einfach zu lösen sind:
Wenn du tolle Ideen hast, wie diese Probleme ohne einen benutzerdefinierten Load Balancer gelöst werden können, schreib uns bitte, wir würden uns freuen, von dir zu hören!
Es gibt einige ziemlich gute Gründe dafür:
kubectl.kubectl?Du kannst alle JuiceShops mit relevanten Informationen mithilfe der Custom-Columns-Funktion von kubectl auflisten.
$ 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)
Das Projekt begann bei iteratec, einem deutschen Softwareentwicklungsunternehmen, um ihre Sicherheitstrainings für ihre eigenen Entwickler und ihre Kunden durchzuführen. Das Projekt wurde dann 2019 als Open Source veröffentlicht und 2023 an die OWASP-Organisation / das OWASP Juice Shop-Projekt gespendet.
Du erreichst uns im Kanal #project-juiceshop des OWASP Slack Workspace. Wir würden uns über jedes Feedback oder Nutzungsberichte von dir freuen. Falls du noch nicht im OWASP Slack Workspace bist, kannst du über diesen Link beitreten.