mirror of
https://github.com/Oxbian/SIDPS.git
synced 2025-05-17 14:08:14 +02:00
66 lines
2.7 KiB
Markdown
66 lines
2.7 KiB
Markdown
# 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)](https://www.microfocus.com/documentation/arcsight/arcsight-smartconnectors-8.4/pdfdoc/cef-implementation-standard/cef-implementation-standard.pdf)
|
|
- 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](https://www.mysql.com/).
|
|
|
|
## 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](https://www.microfocus.com/documentation/arcsight/arcsight-smartconnectors-8.4/pdfdoc/cef-implementation-standard/cef-implementation-standard.pdf)
|
|
|
|
## Interface de tests d'alertes
|
|
|
|
Un script python `sql/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:
|
|
|
|
```bash
|
|
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.
|
|
|
|
```bash
|
|
.venv/bin/python3 sql/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:
|
|
|
|
```bash
|
|
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).
|