Projet de Licence · Cybersécurité · 2025

Surveillez votre réseau
avec un SOC open source

SecureDash centralise les alertes de Suricata et Wazuh dans une seule interface.
Tout tourne sur votre serveur — vos données ne partent nulle part.

Open source · Gratuit · Aucune donnée externe

Compatible avec

🔴 Suricata IDS 🛡️ Wazuh HIDS 🔍 Elasticsearch 9.3 ✈️ Telegram 📞 Infobip 🐳 Docker

Ce que vous voyez en ouvrant le dashboard

Trois vues principales, conçues pour aller droit au but.

Vue d'ensemble

Le tableau de bord

Dès la connexion, vous avez une vue complète de ce qui se passe. La timeline se met à jour en direct — pas besoin de rafraîchir.

  • Alertes critiques, élevées et informations en temps réel
  • Timeline horaire ou quotidienne des événements
  • Répartition Suricata vs Wazuh
  • Top des adresses IP suspectes
  • État en ligne / hors ligne des agents
Tableau de bord SecureDash
Gestion des alertes

Toutes les alertes, bien rangées

La page alertes affiche l'historique complet avec les filtres pour retrouver rapidement ce qu'on cherche.

  • Filtre par sévérité : Critique, Élevé, Moyen
  • Filtre par source : Suricata, Wazuh, Syslog
  • Périodes : 1H, 6H, 24H, 7J, 30J
  • Recherche par IP ou signature
  • Export CSV en un clic
Page alertes SecureDash
Suivi des incidents

De l'alerte au rapport PDF

Chaque alerte critique crée automatiquement un incident. L'analyste documente les actions et génère un rapport PDF depuis l'interface.

  • Création automatique à chaque alerte critique
  • Statuts : Nouveau → En correction → Résolu
  • Cause racine, outils utilisés, recommandations
  • Rapport PDF généré en un clic
Gestion des incidents SecureDash

Six modules, zéro dépendance cloud

Tout tourne sur votre machine. Aucune API externe obligatoire sauf pour les notifications.

📊

Dashboard temps réel

Les alertes arrivent via WebSocket. ECharts 5 pour les graphiques, cache IndexedDB si vous perdez la connexion.

🚨

Agrégation multi-sources

Suricata, Wazuh et Syslog dans un seul endroit, récupérés depuis Elasticsearch et triés par criticité.

📋

Gestion des incidents

Cycle complet : détection, qualification, documentation et clôture. Chaque incident garde une trace.

📞

Notifications automatiques

Selon le score, le dashboard appelle (Infobip), envoie un Telegram, ou enregistre silencieusement.

📄

Rapports PDF

ReportLab génère un rapport d'incident complet : IP, signature, cause racine, recommandations.

Suivi de conformité

Pages PCI-DSS, GDPR et HIPAA pour visualiser l'état de conformité de votre infrastructure.

Averti au bon moment, de la bonne façon

Pas d'alerte pour chaque ping. Le système fait la différence.

CRITIQUE ≥ 12

Appel téléphonique

Le daemon déclenche un appel via Infobip. L'analyste est joint directement, quelle que soit l'heure.

📞 Infobip Voice
ÉLEVÉ 6 – 11

Message Telegram

Un message structuré part sur Telegram : IP source, signature de l'alerte et horodatage.

✈️ Telegram Bot
INFORMATIONNELLE < 6

Dashboard seulement

L'alerte est enregistrée et consultable dans la page Alertes. Aucune notification externe.

📊 Dashboard

Comment les données circulent

De la détection à la notification, tout se passe en moins de 70 secondes et sans sortir de votre réseau.

🌐 Suricata IDS réseau · 48K règles
🛡️ Wazuh HIDS endpoints
🗄️ Elasticsearch Index soc-alerts-*
⚙️ Flask API Python · JWT · SocketIO
📊 Dashboard ECharts 5 · WebSocket
🐍 Python 3 ⚗️ Flask 3.0 🔍 Elasticsearch 9.3 ⚡ Flask-SocketIO 📊 ECharts 5 🔐 PyJWT 📄 ReportLab 📱 Telegram Bot 📞 Infobip 🐳 Docker

Démarrer en quelques minutes

Deux façons d'installer selon votre configuration. La version Docker est la plus simple.

🐳

Via Docker Recommandé

Docker installe toutes les dépendances automatiquement. Aucune config Python nécessaire.

1

Récupérer le projet

git clone https://github.com/votre-repo/soc-dashboard
2

Créer le fichier de config

cp .env.example .env
3

Remplir les paramètres

nano .env
4

Lancer avec Docker Compose

docker compose up -d
5

Ouvrir le dashboard

http://localhost:5000

Pré-requis : Docker Desktop installé sur votre machine.

🐍

Installation manuelle

Pour les environnements sans Docker ou si vous préférez tout contrôler. Python 3.10 minimum.

1

Cloner le dépôt

git clone https://github.com/votre-repo/soc-dashboard
2

Installer les dépendances

pip install -r requirements.txt
3

Configurer l'environnement

cp .env.example .env && nano .env
4

Lancer l'application

python app.py
5

Ouvrir dans le navigateur

http://localhost:5000

Pré-requis : Python 3.10+, pip, Elasticsearch accessible.

Variables à renseigner dans .env

Elasticsearch

ES_HOST
ES_PORT
ES_USER
ES_PASSWORD

Dashboard

DASHBOARD_USER
DASHBOARD_PASSWORD

Telegram (optionnel)

TELEGRAM_BOT_TOKEN
TELEGRAM_CHAT_ID

Infobip (optionnel)

INFOBIP_API_KEY
INFOBIP_TO

Votre SOC est à une commande

Open source, self-hosted, sans abonnement. Vos données restent chez vous.

Installer maintenant Documentation GitHub