
Aloja y gestiona múltiples instancias de Juice Shop para entrenamientos de seguridad y Capture The Flags.
Realizar CTF y entrenamientos de seguridad con OWASP Juice Shop suele ser bastante complicado, ya que Juice Shop no está diseñado para ser usado por múltiples usuarios al mismo tiempo. Instruir a todos para que inicien Juice Shop en su propia máquina funciona, pero consume demasiado tiempo valioso.
MultiJuicer te permite ejecutar instancias separadas de Juice Shop para cada participante en un clúster central de Kubernetes, para realizar eventos sin necesidad de instancias locales de Juice Shop.
Qué hace:
Para una descripción detallada de la arquitectura y los componentes individuales, consulta la Documentación de Arquitectura.
👉 ¿Nuevo en MultiJuicer? Consulta el recorrido visual para ver cómo los participantes se registran, obtienen sus instancias de JuiceShop y cómo se rastrean las puntuaciones en el marcador.
MultiJuicer se ejecuta en Kubernetes. Para instalarlo necesitarás helm.
helm install multi-juicer oci://ghcr.io/juice-shop/multi-juicer/helm/multi-juicer
Consulta las notas de producción para obtener una lista de valores que probablemente necesitarás configurar antes de usar MultiJuicer en eventos reales.
Para configurar MultiJuicer con soporte para los desafíos relacionados con IA/LLM de JuiceShop v20+, consulta la guía de configuración de IA/LLM.
Generalmente, MultiJuicer se ejecuta en prácticamente cualquier clúster de Kubernetes, pero para facilitar las cosas a quienes son nuevos en Kubernetes, tenemos algunas guías sobre cómo configurar un clúster de Kubernetes con MultiJuicer instalado para algunos proveedores de nube específicos.
Tienes varias opciones para configurar el stack, con algunas opciones para personalizar las instancias de JuiceShop a tu gusto. Puedes encontrar los valores de configuración predeterminados en: helm/multi-juicer/values.yaml
Descarga y guarda el archivo e indica a helm que use tu archivo de configuración en lugar del predeterminado ejecutando:
helm install -f values.yaml multi-juicer ./multi-juicer/helm/multi-juicer/
Para personalizar el tema de las instancias de JuiceShop y la interfaz de usuario de MultiJuicer (tema, logotipo, desafíos habilitados, ...), consulta la guía de personalización de JuiceShop.
helm delete multi-juicer
Para estar seguros, calcula con:
Los números anteriores reflejan los límites de recursos predeterminados. Estos se pueden ajustar; consulta: Personalizar la Configuración
No hay un límite fijo real (aunque puedes configurar uno 😉). El LoadBalancer personalizado, a través del cual fluye todo el tráfico hacia las instancias individuales, puede replicarse tanto como quieras. También puedes adjuntar un Horizontal Pod Autoscaler para escalar automáticamente el LoadBalancer.
Hay algunos requisitos especiales que no encontramos fáciles de resolver con ningún balanceador de carga preconstruido:
Si tienes ideas geniales sobre cómo superar estos problemas sin un balanceador de carga personalizado, ¡escríbenos! Nos encantaría saber de ti.
Hay algunas razones muy buenas para esto:
kubectl.kubectl?Puedes listar todos los JuiceShops con información relevante usando la función custom-columns 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)
El proyecto comenzó en iteratec, una empresa de desarrollo de software con sede en Alemania, para realizar sus entrenamientos de seguridad para sus propios desarrolladores y sus clientes. El proyecto fue luego publicado como código abierto en 2019 y donado a la organización OWASP / al proyecto OWASP Juice Shop en 2023.
Puedes contactarnos en el canal #project-juiceshop del Espacio de Trabajo de OWASP en Slack. Nos encantaría recibir cualquier comentario o informe de uso que tengas. Si aún no estás en el Espacio de Trabajo de OWASP en Slack, puedes unirte a través de este enlace.