
Ospitare e gestire più istanze di Juice Shop per sessioni di formazione sulla sicurezza e Capture The Flag.
Eseguire CTF e corsi di sicurezza con OWASP Juice Shop è di solito piuttosto complesso, Juice Shop non è progettato per essere usato da più utenti contemporaneamente. Istruire tutti su come avviare Juice Shop sul proprio computer funziona, ma richiede troppo tempo prezioso.
MultiJuicer ti permette di eseguire istanze separate di Juice Shop per ogni partecipante su un cluster Kubernetes centrale, per organizzare eventi senza la necessità di istanze locali di Juice Shop.
Cosa fa:
Per una descrizione dettagliata dell'architettura e dei singoli componenti, consulta la Documentazione dell'Architettura.
👉 Nuovo su MultiJuicer? Consulta la guida visiva per vedere come i partecipanti si registrano, ottengono le loro istanze JuiceShop e come i punteggi vengono tracciati nella classifica.
MultiJuicer funziona su Kubernetes, per installarlo avrai bisogno di helm
helm install multi-juicer oci://ghcr.io/juice-shop/multi-juicer/helm/multi-juicer
Vedi le note per la produzione per una lista di valori che probabilmente dovrai configurare prima di utilizzare MultiJuicer in eventi reali.
Per configurare MultiJuicer con supporto per le sfide AI/LLM di JuiceShop v20+, consulta la guida di configurazione AI/LLM
Hai diverse opzioni su come configurare lo stack, con alcune possibilità di personalizzare le istanze JuiceShop a tuo piacimento. Puoi trovare i valori di configurazione predefiniti in: helm/multi-juicer/values.yaml
Scarica e salva il file e indica a helm di usare il tuo file di configurazione al posto di quello predefinito eseguendo:
helm install -f values.yaml multi-juicer ./multi-juicer/helm/multi-juicer/
Per personalizzare il tema delle istanze JuiceShop e l'interfaccia di MultiJuicer (tema, logo, sfide abilitate, ...), consulta la guida alla personalizzazione di JuiceShop.
helm delete multi-juicer
Per essere sicuri, calcola con:
I numeri sopra riflettono i limiti di risorse predefiniti. Possono essere modificati, vedi: Personalizzazione della configurazione
Non esiste un limite fisso reale. (Anche se puoi configurarne uno 😉) Il LoadBalancer personalizzato, attraverso cui passa tutto il traffico per le singole istanze, può essere replicato quanto vuoi. Puoi anche allegare un Horizontal Pod Autoscaler per scalare automaticamente il LoadBalancer.
Ci sono alcuni requisiti speciali che non abbiamo trovato facili da risolvere con un load balancer predefinito:
Se hai idee fantastiche su come superare questi problemi senza un load balancer personalizzato, scrivici, saremo felici di sentirti!
Ci sono alcune buone ragioni per questo:
kubectl.kubectl?Puoi elencare tutti i JuiceShop con informazioni pertinenti usando la funzione custom-columns di 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)
Il progetto è iniziato presso iteratec, un'azienda tedesca di sviluppo software, per gestire i propri corsi di sicurezza per i propri sviluppatori e clienti. Il progetto è stato poi reso open source nel 2019 e donato all'organizzazione OWASP / al progetto OWASP Juice Shop nel 2023.
Puoi contattarci sul canale #project-juiceshop dell'OWASP Slack Workspace. Ci farebbe piacere ricevere qualsiasi feedback o report di utilizzo. Se non sei già nell'OWASP Slack Workspace, puoi unirti tramite questo link