
Ein auf Microservices basierendes Framework für das Studium von Netzwerksicherheit und Penetrationstest-Techniken.

Docker Security Playground ist eine Anwendung, die Folgendes ermöglicht:
Der empfohlene Installationsablauf für DSP ist die Verwendung einer Kali-VM:
Hier die Schritte zur Installation von DSP auf einer Kali-VM. Befolgen Sie ähnliche Schritte für andere Linux-Distributionen, stellen Sie jedoch sicher, dass alle Anforderungen installiert sind.
sudo apt update && sudo apt install -y docker.io docker-compose nodejs npm git
Hinweis (Kali-Keyring-Problem 2025).
Falls während der Installation folgendes Problem auftritt:
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.Fügen Sie den fehlenden Schlüssel hinzu:
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
Überprüfen Sie auch, ob Docker Compose funktioniert:
docker compose --version # oder docker-compose --version für ältere Versionen
Überprüfen Sie außerdem die npm- und Node.js-Installation:
node -v
npm -v
Es ist möglich, DSP auf einem M1-Host mit Rosetta auszuführen, aber ich empfehle dringend, eine Kali-VM mit UTM oder VMware Fusion zu erstellen, die vorherigen Installationsschritte zu befolgen und das Paket binfmt-misc zu installieren, um x86-Images auf der ARM-Architektur auszuführen.
sudo apt install binfmt-support qemu-user-static
Starten Sie die Maschine neu.
Verwenden Sie dann den Tonisiigi-Container, um alle Interpreter für die verschiedenen Architekturen zu registrieren:
docker run --privileged --rm tonistiigi/binfmt --install amd64
Überprüfen Sie, ob Docker-Images auf Ihrer Maschine laufen:
docker run --rm -it --platform linux/amd64 ubuntu uname -m
git clone https://github.com/DockerSecurityPlayground/DSP.git
cd DSP
npm install
Wenn die Installation abgeschlossen ist, können Sie DSP starten:
npm start
DSP wird unter „http://localhost:18181" laufen.
Hinweis zur Verwendung von Wireshark auf Kali: Ich empfehle die Verwendung des Chromium-Browsers, da der Wireshark-Container einige Codecs verwendet, die von Firefox auf Kali nicht unterstützt werden. Sie können Chromium starten, indem Sie einfach „chromium" im Terminal eingeben.
Der erste Schritt wird sein, alle erforderlichen Ordner auf der aktuellen Maschine zu installieren.
Sie können diesen Installationsschritt auch automatisieren, indem Sie die Umgebungsvariable verwenden:
export DSP_AUTOINSTALL=1 && npm start
Wenn Sie Ihren Host-Browser verwenden möchten, können Sie DSP auf der 0.0.0.0-Schnittstelle verfügbar machen.
Wenn Sie eine andere Schnittstelle verwenden möchten, ändern Sie die Umgebungsvariable DSP_IFACE:
export DSP_IFACE="0.0.0.0"
Jetzt können Sie DSP über eine entfernte Schnittstelle nutzen.
Wenn etwas schiefgeht, können Sie DSP mit dem folgenden Befehl auf die Werkseinstellungen zurücksetzen:
npm run uninstall
Dies löscht alles und Sie können DSP ab dem Installationsschritt erneut starten.
DSP_Repo enthält offizielle DSP-Labs. Tragen Sie zu DSP bei, indem Sie neue DSP-Labs erstellen.
Während der Installation können Sie eine lokale Umgebung erstellen, die keine Verbindung zu Git hat, oder Sie können ein persönliches Repository mit der Anwendung verknüpfen. Dies ist sehr nützlich, wenn Sie Ihre Arbeit mit anderen teilen möchten. Ein DSP-Repository muss bestimmte Anforderungen erfüllen. Daher habe ich eine DSP-Repository-Vorlage erstellt, die Sie verwenden können, um Ihr persönliches Repository zu erstellen. Der einfachste Weg, Labs zu teilen, ist daher der folgende:
Es ist wichtig, dass alle von Ihnen verwendeten Images für andere Benutzer verfügbar sind. Daher:
.docker-images-Verzeichnis bereitstellen, sodass Benutzer build.sh verwenden können, um Ihre Images zu bauen und Ihr Repository zu nutzen.Wenn Sie eine „private Möglichkeit" zum Teilen von Labs benötigen, sollten Sie das Repository auf andere Weise teilen. Derzeit wird das Teilen privater Repositories nicht unterstützt.
In DSP können Sie mehrere Benutzer-Repositories verwalten (Tab „Repositories").
Wenn Sie ein Problem haben, nutzen Sie den Issue-Bereich.
Um einen Test auszuführen:
mocha test/<test-nodejs-file.js>
Tests verwenden die Methode helper.start(), um die Testumgebung zu initialisieren:
Falls während der Installation folgender Fehler auftritt:
[2020-12-14T10:18:21.854Z] INFO: DockerSecurityPlayground/1536 on vagrant: [DOCKER ACTIONS - DOWNLOAD IMAGE]
events.js:174
throw er; // Unhandled 'error' event
^