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: Architecture réseau démo

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).
Description
Simple IDPS - Project for university course
Readme 361 KiB
Languages
Python 72%
JavaScript 11.9%
HTML 8.3%
PHP 7.3%
CSS 0.5%