-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
51 lines (46 loc) · 1.85 KB
/
Copy pathdocker-compose.yml
File metadata and controls
51 lines (46 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
version: "3.8"
# ЛАБА ТОЛЬКО ДЛЯ ЛОКАЛЬНОГО/ИЗОЛИРОВАННОГО ИСПОЛЬЗОВАНИЯ.
# Не публикуй порты наружу (0.0.0.0) на реальном сервере — DVWA намеренно уязвим.
services:
# Цель: уязвимое веб-приложение
dvwa:
image: vulnerables/web-dvwa
container_name: dvwa
restart: unless-stopped
networks:
- lab
# порт наружу НЕ пробрасываем напрямую — доступ только через WAF (waf -> dvwa)
# для этапа 01 (проверка без WAF) временно можно раскомментировать:
# ports:
# - "8080:80"
# WAF перед DVWA — для этапа 05 (обход WAF)
# ВАЖНО: имя образа и переменные окружения нужно сверить на Docker Hub
# перед первым запуском (docker pull owasp/modsecurity-crs) — тег/API могли измениться.
waf:
image: owasp/modsecurity-crs:nginx
container_name: waf
depends_on:
- dvwa
environment:
BACKEND: "http://dvwa:80"
PARANOIA: "1"
ANOMALY_INBOUND: "5"
ANOMALY_OUTBOUND: "4"
ports:
- "8080:8080"
networks:
- lab
restart: unless-stopped
# Контейнер для запуска sqlmap — собирается из официального репозитория
# (см. sqlmap/Dockerfile), не тянется случайный сторонний образ с Docker Hub
sqlmap:
build: ./sqlmap
container_name: sqlmap
depends_on:
- waf
entrypoint: ["sleep", "infinity"] # держим контейнер живым, команды даём через docker compose exec
networks:
- lab
networks:
lab:
driver: bridge