SIDPS - Simple Intrusion Detection and Protection System
SIDPS est un outils de détection et de prévention d'intrusion.
Il est capable de détecter & d'identifier différents types d'attaques réseaux, ainsi que de protéger contre certaines de ces attaques automatiquement.
Attention, il s'agit d'un projet étudiant, dont le but est de réaliser une démonstration pour un projet Universitaire !
Ce projet ne sera probablement pas maintenu par la suite
Fonctionnalités clés:
- Rapidité
- Interface web simple et intuitive
- Messages d'alertes interopérable suivant la norme CEF (Common Event Format)
- Détections de nombreuses attaques réseaux (scan, DOS, exfiltration de données...)
Installation
Pour son fonctionnement, ce projet utilise une base de donnée mysql.
Structure de la base de données SQL
La base de données SQL est structurée de la façon suivante:
- une table pour les alertes
alertes
, contenant toutes les alertes. Ces alertes sont décrites selon la norme CEF
Interface de tests d'alertes
Un script python tests/cef-generator.py
permet de générer des alertes CEF dans la base de données SQL.
Ce script peut être utile pour le développement d'interface d'affichage des alertes. Pour l'utiliser il faut une base de donnée sql, et mettre les identifiants dans le script.
De plus, ce script à besoin de la librairie sql
pour pouvoir ajouter / faire des requêtes à la base de données MySQL.
Pour cela, utiliser les commandes suivantes:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Puis executer le script tests/cef-generator.py
avec le python3 du l'environnement virtuel.
.venv/bin/python3 tests/cef-generator.py
Demo
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:
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:
cd Demo/
docker compose up -d
TODO
- Noyau d'analyse de l'IDS
- Interface web pour visualiser les alertes / rechercher dedans
- Moteur de corrélation des alertes (récupération + renvoi dans MySQL).