
Hospede e gerencie múltiplas instâncias do Juice Shop para treinamentos de segurança e Capture The Flags
Executar CTFs e Treinamentos de Segurança com o OWASP Juice Shop geralmente é bastante complicado, o Juice Shop simplesmente não foi projetado para ser usado por vários usuários ao mesmo tempo. Instruir todos sobre como iniciar o Juice Shop em suas próprias máquinas funciona, mas consome muito tempo valioso.
O MultiJuicer oferece a capacidade de executar instâncias separadas do Juice Shop para cada participante em um cluster Kubernetes central, para realizar eventos sem a necessidade de instâncias locais do Juice Shop.
O que ele faz:
Para uma descrição detalhada da arquitetura e dos componentes individuais, consulte a Documentação de Arquitetura.
👉 Novo no MultiJuicer? Veja o passo a passo visual para saber como os participantes se registram, obtêm suas instâncias do JuiceShop e como as pontuações são registradas no placar.
O MultiJuicer é executado no Kubernetes, para instalá-lo você precisará do helm
helm install multi-juicer oci://ghcr.io/juice-shop/multi-juicer/helm/multi-juicer
Consulte as notas de produção para obter uma lista de valores que você provavelmente precisará configurar antes de usar o MultiJuicer em eventos reais.
Para configurar o MultiJuicer com suporte para os desafios relacionados a AI/LLM do JuiceShop v20+, consulte o guia de configuração AI/LLM
Você tem algumas opções de como configurar a stack, com algumas opções para personalizar as instâncias do JuiceShop ao seu gosto. Você pode encontrar os valores de configuração padrão em: helm/multi-juicer/values.yaml
Baixe e salve o arquivo e informe ao helm para usar seu arquivo de configuração em vez do padrão, executando:
helm install -f values.yaml multi-juicer ./multi-juicer/helm/multi-juicer/
Para personalizar o tema das instâncias do JuiceShop e da interface do MultiJuicer (tema, logotipo, desafios habilitados, ...), consulte o guia de personalização do JuiceShop.
helm delete multi-juicer
Para estar no lado seguro, calcule com:
Os números acima refletem os limites de recursos padrão. Eles podem ser ajustados, consulte: Personalizando a Configuração
Não há um limite fixo real. (Embora você possa configurar um 😉) O LoadBalancer personalizado, através do qual todo o tráfego para as instâncias individuais flui, pode ser replicado tanto quanto você desejar. Você também pode anexar um Horizontal Pod Autoscaler para escalar automaticamente o LoadBalancer.
Existem alguns requisitos especiais que não encontramos facilmente resolvidos com nenhum balanceador de carga pré-construído:
Se você tem ideias incríveis sobre como superar esses problemas sem um balanceador de carga personalizado, escreva para nós, adoraríamos ouvir de você!
Existem algumas razões muito boas para isso:
kubectl.kubectl?Você pode listar todos os JuiceShops com informações relevantes usando o recurso de colunas personalizadas do 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)
O projeto começou na iteratec, uma empresa de desenvolvimento de software sediada na Alemanha, para realizar seus treinamentos de segurança para seus próprios desenvolvedores e seus clientes. O projeto foi então aberto como código aberto em 2019 e doado para a organização OWASP / o projeto OWASP Juice Shop em 2023.
Você pode nos encontrar no canal #project-juiceshop do Espaço de Trabalho do OWASP Slack. Adoraríamos ouvir qualquer feedback ou relatórios de uso que você tenha. Se você ainda não está no Espaço de Trabalho do OWASP Slack, pode entrar através deste link