feat: update docker compose & adding dockerfiles for each docker

This commit is contained in:
2024-11-11 14:13:06 -05:00
parent 3cac786161
commit e89442f538
6 changed files with 78 additions and 12 deletions

View File

@ -0,0 +1,13 @@
FROM python:alpine3.20
# Installation des paquets nécessaires pour scapy
RUN apk -U upgrade && \
apk add --no-cache libpcap libpcap-dev gcc musl-dev libffi-dev nmap
RUN pip install scapy
# Copier le script d'attaque
#COPY attack.py /attack.py
# Lancer le script d'attaque
#CMD ["python", "/attack.py"]

View File

@ -0,0 +1,12 @@
FROM python:alpine3.20
# Installation des paquets nécessaires pour scapy
RUN apk -U upgrade && \
apk add --no-cache libpcap libpcap-dev gcc musl-dev libffi-dev
RUN pip install scapy
# Copier le script de détection d'attaques
#COPY cible.py /cible.py
# Lancer le script de détection
#CMD ["python", "/cible.py"]

View File

@ -0,0 +1,12 @@
FROM python:alpine3.20
# Installation des paquets nécessaires pour scapy
RUN apk -U upgrade && \
apk add --no-cache libpcap libpcap-dev gcc musl-dev libffi-dev
RUN pip install scapy
# Copier le script de l'idps
#COPY idps.py /idps.py
# Lancer le script de détection
#CMD ["python", "/idps.py"]

View File

@ -0,0 +1,12 @@
FROM python:alpine3.20
# Installation des paquets nécessaires pour scapy
RUN apk -U upgrade && \
apk add --no-cache libpcap libpcap-dev gcc musl-dev libffi-dev
RUN pip install scapy
# Copier le script de la sonde IDS
#COPY ids.py /ids.py
# Lancer le script de la sonde IDS
#CMD ["python", "/ids.py"]

View File

@ -2,7 +2,9 @@ version: "3.8"
services:
# Attaquant 1
atk1:
image: python:alpine3.20
build:
context: Dockerfiles/.
dockerfile: Dockerfile.attaquant
container_name: attaquant1
command: sleep infinity
networks:
@ -12,7 +14,9 @@ services:
# IDPS
idps:
image: python:alpine3.20
build:
context: Dockerfiles/.
dockerfile: Dockerfile.idps
container_name: idps
command: sleep infinity
cap_add:
@ -27,7 +31,9 @@ services:
# Cible
cible:
image: python:alpine3.20
build:
context: Dockerfiles/.
dockerfile: Dockerfile.cible
container_name: cible
command: sleep infinity
networks:
@ -37,7 +43,9 @@ services:
# Attaquant 2
atk2:
image: python:alpine3.20
build:
context: Dockerfiles/.
dockerfile: Dockerfile.attaquant
container_name: attaquant2
command: sleep infinity
networks:
@ -45,16 +53,19 @@ services:
ipv4_address: 172.20.2.4
restart: unless-stopped
# Sonde IDS
ids:
image: python:alpine3.20
build:
context: Dockerfiles/.
dockerfile: Dockerfile.ids
container_name: ids
command: sleep infinity
cap_add:
- NET_ADMIN
- NET_RAW
networks:
net_private:
ipv4_address: 172.20.2.5
#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
@ -74,11 +85,11 @@ services:
networks:
net_public:
driver: bridge
ipam:
ipam:
config:
- subnet: 172.20.1.0/24
net_private:
driver: bridge
ipam:
ipam:
config:
- subnet: 172.20.2.0/24

View File

@ -47,10 +47,16 @@ Puis executer le script `tests/cef-generator.py` avec le python3 du l'environnem
Ce projet étant réaliser dans le cadre d'un cours à l'université, une démonstration est donc nécessaire.
Ci-dessous, le schéma de l'architecture réseau de la démonstration:
![Architecture réseau démo](Demo/architecture.png)
![Architecture réseau démo](Demo/architecture.png)
Cette démonstration peut être déployer facilement grâce à un docker-compose `Demo/docker-compose.yml`.
Cette démonstration peut être déployer facilement grâce à un docker-compose `Demo/docker-compose.yml`.
Pour lancer cette démonstration, il faudra avoir `docker` & `docker compose` d'installer. Puis executer les commandes suivantes:
```bash
cd Demo/
docker compose up -d
```
## TODO