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