SIDPS/Demo/docker-compose.yml

112 lines
2.2 KiB
YAML

version: "3.8"
services:
# Attaquant 1
atk1:
build:
context: ..
dockerfile: Demo/Dockerfiles/Dockerfile.attaquant
container_name: attaquant1
command: sleep infinity
cap_add:
- NET_ADMIN
networks:
net_public:
ipv4_address: 172.20.1.2
restart: unless-stopped
# IDPS
idps:
build:
context: ..
dockerfile: Demo/Dockerfiles/Dockerfile.idps
container_name: idps
command: sleep infinity
cap_add:
- NET_ADMIN
- NET_RAW
networks:
net_public:
ipv4_address: 172.20.1.3
net_private:
ipv4_address: 172.20.2.2
net_data:
ipv4_address: 172.20.3.2
restart: unless-stopped
# Cible
cible:
build:
context: ..
dockerfile: Demo/Dockerfiles/Dockerfile.cible
container_name: cible
command: sleep infinity
cap_add:
- NET_ADMIN
networks:
net_private:
ipv4_address: 172.20.2.3
restart: unless-stopped
# Attaquant 2
atk2:
build:
context: ..
dockerfile: Demo/Dockerfiles/Dockerfile.attaquant
container_name: attaquant2
command: sleep infinity
cap_add:
- NET_ADMIN
networks:
net_private:
ipv4_address: 172.20.2.4
restart: unless-stopped
# Sonde IDS
ids:
build:
context: ..
dockerfile: Demo/Dockerfiles/Dockerfile.ids
container_name: ids
command: sleep infinity
cap_add:
- NET_ADMIN
- NET_RAW
#networks:
#net_private:
#ipv4_address: 172.20.2.5
# Network mode host obligatoire pour que la sonde puisse sniffer le réseau
network_mode: host
restart: unless-stopped
# BDD d'alertes
alert_db:
build:
context: ..
dockerfile: Demo/Dockerfiles/Dockerfile.db
container_name: alert_db
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- "3306:3306"
networks:
net_data:
ipv4_address: 172.20.3.10
restart: unless-stopped
networks:
net_public:
driver: bridge
ipam:
config:
- subnet: 172.20.1.0/24
net_private:
driver: bridge
ipam:
config:
- subnet: 172.20.2.0/24
net_data:
driver: bridge
ipam:
config:
- subnet: 172.20.3.0/24