
Фреймворк на основе микросервисов для изучения методов сетевой безопасности и тестирования на проникновение.

Docker Security Playground — это приложение, которое позволяет:
Рекомендуемый способ установки DSP — использование виртуальной машины Kali:
Ниже приведены шаги по установке DSP на виртуальной машине Kali. Выполните аналогичные шаги для других дистрибутивов Linux, но убедитесь, что все требования установлены.
sudo apt update && sudo apt install -y docker.io docker-compose nodejs npm git
Примечание (проблема с ключом Kali в 2025 году).
Если во время установки возникла следующая проблема:
Fetched 34.0 kB in 1s (58.4 kB/s) Warning: Failed to fetch http://http.kali.org/kali/dists/kali-rolling/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ED65462EC8D5E4C5 Warning: Some index files failed to download. They have been ignored, or old ones used instead.Вам нужно добавить недостающий ключ:
wget https://http.kali.org/kali/pool/main/k/kali-archive-keyring/kali-archive-keyring_2025.1_all.deb sudo dpkg -i kali-archive-keyring_2025.1_all.deb rm kali-archive-keyring_2025.1_all.deb
sudo systemctl enable docker
sudo groupadd docker
sudo usermod -aG docker $USER
docker ps
Также проверьте, что docker compose работает:
docker compose --version # или docker-compose --version для старых версий
Также проверьте установку npm и nodejs:
node -v
npm -v
Вы можете запустить DSP на хосте M1, включив Rosetta, но я настоятельно рекомендую создать виртуальную машину Kali с помощью UTM или VMware Fusion, выполнить предыдущие шаги установки и установить пакет binfmt-misc для запуска образов x86 на архитектуре ARM.
sudo apt install binfmt-support qemu-user-static
Перезагрузите машину.
Затем используйте контейнер Tonisiigi, чтобы зарегистрировать все интерпретаторы для разных архитектур:
docker run --privileged --rm tonistiigi/binfmt --install amd64
Убедитесь, что образы docker могут работать на вашей машине:
docker run --rm -it --platform linux/amd64 ubuntu uname -m
git clone https://github.com/DockerSecurityPlayground/DSP.git
cd DSP
npm install
Когда установка завершена, вы можете запустить DSP:
npm start
DSP будет запущен по адресу "http://localhost:18181".
Примечание по использованию Wireshark на Kali: рекомендую использовать браузер chromium, так как контейнер wireshark использует некоторые кодеки, которые не поддерживаются Firefox на Kali. Вы можете запустить chromium, просто введя "chromium" в терминале.
Первым шагом будет установка всех необходимых папок на текущей машине.
Вы также можете автоматизировать этот шаг установки с помощью переменной окружения:
export DSP_AUTOINSTALL=1 && npm start
Если вы хотите использовать браузер хост-машины, вы можете экспонировать на интерфейсе 0.0.0.0. Если вы хотите экспонировать на другом интерфейсе, измените переменную окружения DSP_IFACE:
export DSP_IFACE="0.0.0.0"
Теперь вы можете использовать DSP на удалённом интерфейсе.
Если что-то пошло не так, вы можете сбросить DSP до заводских настроек с помощью следующей команды:
npm run uninstall
Это удалит всё, и вы сможете начать установку DSP заново.
DSP_Repo содержит официальные лабораторные работы DSP. Внесите свой вклад в DSP, создавая новые лабораторные работы.
Во время установки вы можете создать локальное окружение, не связанное с git, или привязать к приложению личный репозиторий. Это очень удобно, если вы хотите поделиться своей работой с другими людьми. Репозиторий DSP должен соответствовать определённым требованиям, поэтому я создал базовый шаблон репозитория DSP, который вы можете использовать для создания своего личного репозитория. Самый простой способ поделиться лабораторными работами следующий:
Важно, чтобы все используемые вами образы были доступны другим пользователям, поэтому:
Если вам нужен «частный способ» обмена лабораторными работами, вы должны делиться репозиторием другими способами; на данный момент нет поддержки обмена частными репозиториями.
В DSP вы можете управлять несколькими репозиториями пользователей (вкладка «Репозитории»).
Если у вас возникла проблема, используйте раздел Issues.
Для запуска теста:
mocha test/<test-nodejs-file.js>
Тесты используют метод helper.start() для инициализации тестового окружения:
Если во время установки возникла следующая ошибка:
[2020-12-14T10:18:21.854Z] INFO: DockerSecurityPlayground/1536 on vagrant: [DOCKER ACTIONS - DOWNLOAD IMAGE]
events.js:174
throw er; // Unhandled 'error' event
^
Error: connect EACCES /var/run/docker.sock
at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
Emitted 'error' event at:
at Socket.socketErrorListener (_http_client.js:401:9)
at Socket.emit (events.js:198:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
Проверьте две вещи:
docker