
Размещайте и управляйте несколькими экземплярами Juice Shop для учебных курсов по безопасности и соревнований Capture The Flag.
Проведение CTF и тренингов по безопасности с OWASP Juice Shop обычно довольно сложно — Juice Shop не предназначен для одновременного использования несколькими пользователями. Инструктаж всех участников по запуску Juice Shop на их собственных машинах работает нормально, но отнимает слишком много драгоценного времени.
MultiJuicer дает вам возможность запускать отдельные экземпляры Juice Shop для каждого участника в центральном кластере Kubernetes, чтобы проводить мероприятия без необходимости в локальных экземплярах Juice Shop.
Что он делает:
Подробное описание архитектуры и отдельных компонентов см. в документации по архитектуре.
👉 Новичок в MultiJuicer? Посмотрите визуальное руководство, чтобы узнать, как участники регистрируются, получают свои экземпляры JuiceShop и как отслеживаются очки на доске лидеров.
MultiJuicer работает на Kubernetes, для его установки вам понадобится helm
helm install multi-juicer oci://ghcr.io/juice-shop/multi-juicer/helm/multi-juicer
Ознакомьтесь с заметками по эксплуатации — это контрольный список значений, которые вам, вероятно, потребуется настроить перед использованием MultiJuicer в реальных мероприятиях.
Чтобы настроить MultiJuicer с поддержкой заданий, связанных с AI/LLM в JuiceShop v20+, см. руководство по настройке AI/LLM
В целом MultiJuicer работает практически на любом кластере Kubernetes, но чтобы облегчить задачу тем, кто только начинает работать с Kubernetes, у нас есть несколько руководств по настройке кластера Kubernetes с установленным MultiJuicer для некоторых конкретных облачных провайдеров.
У вас есть несколько вариантов настройки стека, с возможностью настроить экземпляры JuiceShop по своему вкусу. Значения конфигурации по умолчанию можно найти в: helm/multi-juicer/values.yaml
Скачайте и сохраните файл, затем укажите helm использовать ваш конфигурационный файл вместо стандартного, выполнив:
helm install -f values.yaml multi-juicer ./multi-juicer/helm/multi-juicer/
Чтобы настроить оформление экземпляров JuiceShop и интерфейса MultiJuicer (тема, логотип, доступные задания и т.д.), см. руководство по настройке JuiceShop.
helm delete multi-juicer
Для подстраховки рассчитывайте на:
Приведенные выше цифры отражают ограничения ресурсов по умолчанию. Их можно изменить — см. раздел Настройка установки.
Строго фиксированного ограничения нет (хотя вы можете его настроить 😉). Собственный LoadBalancer, через который проходит весь трафик к отдельным экземплярам, можно реплицировать сколько угодно. Вы также можете подключить Horizontal Pod Autoscaler для автоматического масштабирования LoadBalancer.
Существуют особые требования, которые, на наш взгляд, сложно решить с помощью готовых балансировщиков нагрузки:
Если у вас есть отличные идеи, как решить эти проблемы без собственного балансировщика, напишите нам — будем рады услышать!
На это есть несколько веских причин:
kubectl.kubectl?Вы можете вывести список всех JuiceShop с соответствующей информацией, используя функцию custom-columns в 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)
Проект зародился в iteratec, немецкой компании по разработке программного обеспечения, для проведения тренингов по безопасности для своих разработчиков и клиентов. Затем проект был опубликован в открытом доступе в 2019 году и передан организации OWASP / проекту OWASP Juice Shop в 2023 году.
Вы можете связаться с нами в канале #project-juiceshop рабочего пространства OWASP Slack. Мы будем рады любым отзывам или сообщениям об использовании. Если вы еще не присоединились к рабочему пространству OWASP Slack, вы можете сделать это по этой ссылке.